From cc6dec84de746e31cc1251309ff91de09f264ded Mon Sep 17 00:00:00 2001 From: lbw33 <71776468+lbw33@users.noreply.github.com> Date: Tue, 20 Jun 2023 10:39:46 +0100 Subject: [PATCH 1/8] Amending StargateFacet to remove some existing functionality and to add new functionality. Testing WIP. --- artifacts/ConnextFacet.json | 4 +- artifacts/IStargateReceiver.json | 4 +- artifacts/IStargateRouter.json | 2 +- artifacts/IStargateRouterETH.json | 51 ++ artifacts/StargateFacet.json | 350 +++----- config/stargate.ts | 60 +- src/bridges/errors/StargateErrors.sol | 9 - src/bridges/facets/StargateFacet.sol | 444 +++++----- src/bridges/interfaces/IStargateReceiver.sol | 14 - .../interfaces/stargate/IStargateReceiver.sol | 14 + .../{ => stargate}/IStargateRouter.sol | 4 +- .../stargate/IStargateRouterETH.sol | 16 + test/bridges/StargateFacet.ts | 779 +++++++++--------- typings/IStargateReceiver.ts | 10 +- typings/IStargateRouterETH.ts | 142 ++++ typings/StargateFacet.ts | 564 +++++-------- typings/factories/ConnextFacet__factory.ts | 2 +- .../factories/IStargateReceiver__factory.ts | 2 +- .../factories/IStargateRouterETH__factory.ts | 66 ++ typings/factories/StargateFacet__factory.ts | 346 +++----- typings/index.ts | 6 +- 21 files changed, 1398 insertions(+), 1491 deletions(-) create mode 100644 artifacts/IStargateRouterETH.json delete mode 100644 src/bridges/errors/StargateErrors.sol delete mode 100644 src/bridges/interfaces/IStargateReceiver.sol create mode 100644 src/bridges/interfaces/stargate/IStargateReceiver.sol rename src/bridges/interfaces/{ => stargate}/IStargateRouter.sol (96%) create mode 100644 src/bridges/interfaces/stargate/IStargateRouterETH.sol create mode 100644 typings/IStargateRouterETH.ts create mode 100644 typings/factories/IStargateRouterETH__factory.ts diff --git a/artifacts/ConnextFacet.json b/artifacts/ConnextFacet.json index 7c205b6f..65cf4082 100644 --- a/artifacts/ConnextFacet.json +++ b/artifacts/ConnextFacet.json @@ -208,8 +208,8 @@ "type": "function" } ], - "bytecode": "0x60806040526040518060400160405280601881526020017f436f6e6e6578743a20696e76616c696420616464726573730000000000000000815250600090816200004a9190620002d9565b503480156200005857600080fd5b50620003c0565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620000e157607f821691505b602082108103620000f757620000f662000099565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001617fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000122565b6200016d868362000122565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620001ba620001b4620001ae8462000185565b6200018f565b62000185565b9050919050565b6000819050919050565b620001d68362000199565b620001ee620001e582620001c1565b8484546200012f565b825550505050565b600090565b62000205620001f6565b62000212818484620001cb565b505050565b5b818110156200023a576200022e600082620001fb565b60018101905062000218565b5050565b601f82111562000289576200025381620000fd565b6200025e8462000112565b810160208510156200026e578190505b620002866200027d8562000112565b83018262000217565b50505b505050565b600082821c905092915050565b6000620002ae600019846008026200028e565b1980831691505092915050565b6000620002c983836200029b565b9150826002028217905092915050565b620002e4826200005f565b67ffffffffffffffff8111156200030057620002ff6200006a565b5b6200030c8254620000c8565b620003198282856200023e565b600060209050601f8311600181146200035157600084156200033c578287015190505b620003488582620002bb565b865550620003b8565b601f1984166200036186620000fd565b60005b828110156200038b5784890151825560018201915060208501945060208101905062000364565b86831015620003ab5784890151620003a7601f8916826200029b565b8355505b6001600288020188555050505b505050505050565b611c0a80620003d06000396000f3fe6080604052600436106100345760003560e01c80633205dc691461003957806351b401b914610062578063da328d541461007e575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190611079565b61009a565b005b61007c60048036038101906100779190611102565b6102a8565b005b61009860048036038101906100939190611102565b610667565b005b6100a2610a07565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415600090610116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010d9190611299565b60405180910390fd5b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141560009061018b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101829190611299565b60405180910390fd5b506000610196610aa2565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160000160146101000a81548163ffffffff021916908363ffffffff160217905550818160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168363ffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe23ac138025651e2fb684be9a5c635424d4dac7fc73449494c24c4955e79027860405160405180910390a450505050565b60006102b2610acf565b90506000879050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16141560009061032d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103249190611299565b60405180910390fd5b50600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156000906103a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103999190611299565b60405180910390fd5b506103ab610b02565b63ffffffff168563ffffffff16036103f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ef9061132d565b60405180910390fd5b82341461043a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043190611399565b60405180910390fd5b868173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b81526004016104769291906113c8565b602060405180830381865afa158015610493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b79190611406565b10156104f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ef906114a5565b60405180910390fd5b6105253330898473ffffffffffffffffffffffffffffffffffffffff16610b25909392919063ffffffff16565b61055082888373ffffffffffffffffffffffffffffffffffffffff16610bae9092919063ffffffff16565b60008273ffffffffffffffffffffffffffffffffffffffff16638aac16ba85888a8d338e8c604051806020016040528060008152506040518963ffffffff1660e01b81526004016105a79796959493929190611573565b60206040518083038185885af11580156105c5573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105ea919061161f565b90508873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167f1a0290ac7c224ab0140c811403ba545f80e92404b9979b69e52b3f589bc1c1e08b88866040516106549392919061165b565b60405180910390a4505050505050505050565b6000610671610acf565b9050600061067d610cfd565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614156000906106f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ea9190611299565b60405180910390fd5b50600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415600090610768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075f9190611299565b60405180910390fd5b50610771610b02565b63ffffffff168563ffffffff16036107be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b59061132d565b60405180910390fd5b82876107ca91906116c1565b341461080b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080290611767565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b15801561085857600080fd5b505af115801561086c573d6000803e3d6000fd5b50505050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3848a6040518363ffffffff1660e01b81526004016108ac929190611787565b6020604051808303816000875af11580156108cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ef91906117e8565b50506000866040516020016109049190611815565b604051602081830303815290604052905060008373ffffffffffffffffffffffffffffffffffffffff16638aac16ba86898d87338f8d8a6040518963ffffffff1660e01b815260040161095d9796959493929190611573565b60206040518083038185885af115801561097b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109a0919061161f565b90508773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167fe16c7dcc828782adcdd94aaeb1d07c3ae5a6d593a6b851ab5e023f9c961436873488856040516109f39392919061165b565b60405180910390a350505050505050505050565b610a0f610d30565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a97906118a2565b60405180910390fd5b565b6000807ffa2e9c22c7fe2104814a1d7e2c66c58d10a2d7989d5bcf01173a2564aa59c04d90508091505090565b6000610ad9610aa2565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610b0c610aa2565b60000160149054906101000a900463ffffffff16905090565b610ba8846323b872dd60e01b858585604051602401610b46939291906118c2565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d5d565b50505050565b6000811480610c38575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610bf59291906113c8565b602060405180830381865afa158015610c12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c369190611406565b145b610c77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6e9061196b565b60405180910390fd5b610cf88363095ea7b360e01b8484604051602401610c96929190611787565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d5d565b505050565b6000610d07610aa2565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610dbf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610e249092919063ffffffff16565b9050600081511115610e1f5780806020019051810190610ddf91906117e8565b610e1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e15906119fd565b60405180910390fd5b5b505050565b6060610e338484600085610e3c565b90509392505050565b606082471015610e81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7890611a8f565b60405180910390fd5b610e8a85610f50565b610ec9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec090611afb565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ef29190611b57565b60006040518083038185875af1925050503d8060008114610f2f576040519150601f19603f3d011682016040523d82523d6000602084013e610f34565b606091505b5091509150610f44828286610f73565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610f8357829050610fd3565b600083511115610f965782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fca9190611bb2565b60405180910390fd5b9392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061100a82610fdf565b9050919050565b61101a81610fff565b811461102557600080fd5b50565b60008135905061103781611011565b92915050565b600063ffffffff82169050919050565b6110568161103d565b811461106157600080fd5b50565b6000813590506110738161104d565b92915050565b60008060006060848603121561109257611091610fda565b5b60006110a086828701611028565b93505060206110b186828701611064565b92505060406110c286828701611028565b9150509250925092565b6000819050919050565b6110df816110cc565b81146110ea57600080fd5b50565b6000813590506110fc816110d6565b92915050565b60008060008060008060c0878903121561111f5761111e610fda565b5b600061112d89828a01611028565b965050602061113e89828a016110ed565b955050604061114f89828a01611028565b945050606061116089828a01611064565b935050608061117189828a016110ed565b92505060a061118289828a016110ed565b9150509295509295509295565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806111d657607f821691505b6020821081036111e9576111e861118f565b5b50919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b60008154611222816111be565b61122c81866111ef565b94506001821660008114611247576001811461125d57611290565b60ff198316865281151560200286019350611290565b61126685611200565b60005b8381101561128857815481890152600182019150602081019050611269565b808801955050505b50505092915050565b600060208201905081810360008301526112b38184611215565b905092915050565b7f436f6e6e6578743a2043616e6e6f742062726964676520746f2073616d65206460008201527f6f6d61696e000000000000000000000000000000000000000000000000000000602082015250565b60006113176025836111ef565b9150611322826112bb565b604082019050919050565b600060208201905081810360008301526113468161130a565b9050919050565b7f436f6e6e6578743a2072656c6179657246656520213d206d73672e76616c7565600082015250565b60006113836020836111ef565b915061138e8261134d565b602082019050919050565b600060208201905081810360008301526113b281611376565b9050919050565b6113c281610fff565b82525050565b60006040820190506113dd60008301856113b9565b6113ea60208301846113b9565b9392505050565b600081519050611400816110d6565b92915050565b60006020828403121561141c5761141b610fda565b5b600061142a848285016113f1565b91505092915050565b7f436f6e6e6578743a2055736572206d75737420617070726f766520616d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b600061148f6021836111ef565b915061149a82611433565b604082019050919050565b600060208201905081810360008301526114be81611482565b9050919050565b6114ce8161103d565b82525050565b6114dd816110cc565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561151d578082015181840152602081019050611502565b60008484015250505050565b6000601f19601f8301169050919050565b6000611545826114e3565b61154f81856114ee565b935061155f8185602086016114ff565b61156881611529565b840191505092915050565b600060e082019050611588600083018a6114c5565b61159560208301896113b9565b6115a260408301886113b9565b6115af60608301876113b9565b6115bc60808301866114d4565b6115c960a08301856114d4565b81810360c08301526115db818461153a565b905098975050505050505050565b6000819050919050565b6115fc816115e9565b811461160757600080fd5b50565b600081519050611619816115f3565b92915050565b60006020828403121561163557611634610fda565b5b60006116438482850161160a565b91505092915050565b611655816115e9565b82525050565b600060608201905061167060008301866114d4565b61167d60208301856114d4565b61168a604083018461164c565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006116cc826110cc565b91506116d7836110cc565b92508282019050808211156116ef576116ee611692565b5b92915050565b7f436f6e6e6578743a20616d6f756e74202b2072656c6179657246656520213d2060008201527f6d73672e76616c75650000000000000000000000000000000000000000000000602082015250565b60006117516029836111ef565b915061175c826116f5565b604082019050919050565b6000602082019050818103600083015261178081611744565b9050919050565b600060408201905061179c60008301856113b9565b6117a960208301846114d4565b9392505050565b60008115159050919050565b6117c5816117b0565b81146117d057600080fd5b50565b6000815190506117e2816117bc565b92915050565b6000602082840312156117fe576117fd610fda565b5b600061180c848285016117d3565b91505092915050565b600060208201905061182a60008301846113b9565b92915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b600061188c6022836111ef565b915061189782611830565b604082019050919050565b600060208201905081810360008301526118bb8161187f565b9050919050565b60006060820190506118d760008301866113b9565b6118e460208301856113b9565b6118f160408301846114d4565b949350505050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b60006119556036836111ef565b9150611960826118f9565b604082019050919050565b6000602082019050818103600083015261198481611948565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b60006119e7602a836111ef565b91506119f28261198b565b604082019050919050565b60006020820190508181036000830152611a16816119da565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000611a796026836111ef565b9150611a8482611a1d565b604082019050919050565b60006020820190508181036000830152611aa881611a6c565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000611ae5601d836111ef565b9150611af082611aaf565b602082019050919050565b60006020820190508181036000830152611b1481611ad8565b9050919050565b600081905092915050565b6000611b31826114e3565b611b3b8185611b1b565b9350611b4b8185602086016114ff565b80840191505092915050565b6000611b638284611b26565b915081905092915050565b600081519050919050565b6000611b8482611b6e565b611b8e81856111ef565b9350611b9e8185602086016114ff565b611ba781611529565b840191505092915050565b60006020820190508181036000830152611bcc8184611b79565b90509291505056fea264697066735822122028f18a6f224a462af4b116e22a556e60fe0171dbe7a6308b8a3813290ea6ad5764736f6c63430008110033", - "deployedBytecode": "0x6080604052600436106100345760003560e01c80633205dc691461003957806351b401b914610062578063da328d541461007e575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190611079565b61009a565b005b61007c60048036038101906100779190611102565b6102a8565b005b61009860048036038101906100939190611102565b610667565b005b6100a2610a07565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415600090610116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010d9190611299565b60405180910390fd5b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141560009061018b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101829190611299565b60405180910390fd5b506000610196610aa2565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160000160146101000a81548163ffffffff021916908363ffffffff160217905550818160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168363ffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe23ac138025651e2fb684be9a5c635424d4dac7fc73449494c24c4955e79027860405160405180910390a450505050565b60006102b2610acf565b90506000879050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16141560009061032d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103249190611299565b60405180910390fd5b50600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156000906103a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103999190611299565b60405180910390fd5b506103ab610b02565b63ffffffff168563ffffffff16036103f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ef9061132d565b60405180910390fd5b82341461043a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043190611399565b60405180910390fd5b868173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b81526004016104769291906113c8565b602060405180830381865afa158015610493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b79190611406565b10156104f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ef906114a5565b60405180910390fd5b6105253330898473ffffffffffffffffffffffffffffffffffffffff16610b25909392919063ffffffff16565b61055082888373ffffffffffffffffffffffffffffffffffffffff16610bae9092919063ffffffff16565b60008273ffffffffffffffffffffffffffffffffffffffff16638aac16ba85888a8d338e8c604051806020016040528060008152506040518963ffffffff1660e01b81526004016105a79796959493929190611573565b60206040518083038185885af11580156105c5573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105ea919061161f565b90508873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167f1a0290ac7c224ab0140c811403ba545f80e92404b9979b69e52b3f589bc1c1e08b88866040516106549392919061165b565b60405180910390a4505050505050505050565b6000610671610acf565b9050600061067d610cfd565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614156000906106f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ea9190611299565b60405180910390fd5b50600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415600090610768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075f9190611299565b60405180910390fd5b50610771610b02565b63ffffffff168563ffffffff16036107be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b59061132d565b60405180910390fd5b82876107ca91906116c1565b341461080b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080290611767565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b15801561085857600080fd5b505af115801561086c573d6000803e3d6000fd5b50505050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3848a6040518363ffffffff1660e01b81526004016108ac929190611787565b6020604051808303816000875af11580156108cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ef91906117e8565b50506000866040516020016109049190611815565b604051602081830303815290604052905060008373ffffffffffffffffffffffffffffffffffffffff16638aac16ba86898d87338f8d8a6040518963ffffffff1660e01b815260040161095d9796959493929190611573565b60206040518083038185885af115801561097b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109a0919061161f565b90508773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167fe16c7dcc828782adcdd94aaeb1d07c3ae5a6d593a6b851ab5e023f9c961436873488856040516109f39392919061165b565b60405180910390a350505050505050505050565b610a0f610d30565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a97906118a2565b60405180910390fd5b565b6000807ffa2e9c22c7fe2104814a1d7e2c66c58d10a2d7989d5bcf01173a2564aa59c04d90508091505090565b6000610ad9610aa2565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610b0c610aa2565b60000160149054906101000a900463ffffffff16905090565b610ba8846323b872dd60e01b858585604051602401610b46939291906118c2565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d5d565b50505050565b6000811480610c38575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610bf59291906113c8565b602060405180830381865afa158015610c12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c369190611406565b145b610c77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6e9061196b565b60405180910390fd5b610cf88363095ea7b360e01b8484604051602401610c96929190611787565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d5d565b505050565b6000610d07610aa2565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610dbf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610e249092919063ffffffff16565b9050600081511115610e1f5780806020019051810190610ddf91906117e8565b610e1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e15906119fd565b60405180910390fd5b5b505050565b6060610e338484600085610e3c565b90509392505050565b606082471015610e81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7890611a8f565b60405180910390fd5b610e8a85610f50565b610ec9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec090611afb565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ef29190611b57565b60006040518083038185875af1925050503d8060008114610f2f576040519150601f19603f3d011682016040523d82523d6000602084013e610f34565b606091505b5091509150610f44828286610f73565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610f8357829050610fd3565b600083511115610f965782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fca9190611bb2565b60405180910390fd5b9392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061100a82610fdf565b9050919050565b61101a81610fff565b811461102557600080fd5b50565b60008135905061103781611011565b92915050565b600063ffffffff82169050919050565b6110568161103d565b811461106157600080fd5b50565b6000813590506110738161104d565b92915050565b60008060006060848603121561109257611091610fda565b5b60006110a086828701611028565b93505060206110b186828701611064565b92505060406110c286828701611028565b9150509250925092565b6000819050919050565b6110df816110cc565b81146110ea57600080fd5b50565b6000813590506110fc816110d6565b92915050565b60008060008060008060c0878903121561111f5761111e610fda565b5b600061112d89828a01611028565b965050602061113e89828a016110ed565b955050604061114f89828a01611028565b945050606061116089828a01611064565b935050608061117189828a016110ed565b92505060a061118289828a016110ed565b9150509295509295509295565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806111d657607f821691505b6020821081036111e9576111e861118f565b5b50919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b60008154611222816111be565b61122c81866111ef565b94506001821660008114611247576001811461125d57611290565b60ff198316865281151560200286019350611290565b61126685611200565b60005b8381101561128857815481890152600182019150602081019050611269565b808801955050505b50505092915050565b600060208201905081810360008301526112b38184611215565b905092915050565b7f436f6e6e6578743a2043616e6e6f742062726964676520746f2073616d65206460008201527f6f6d61696e000000000000000000000000000000000000000000000000000000602082015250565b60006113176025836111ef565b9150611322826112bb565b604082019050919050565b600060208201905081810360008301526113468161130a565b9050919050565b7f436f6e6e6578743a2072656c6179657246656520213d206d73672e76616c7565600082015250565b60006113836020836111ef565b915061138e8261134d565b602082019050919050565b600060208201905081810360008301526113b281611376565b9050919050565b6113c281610fff565b82525050565b60006040820190506113dd60008301856113b9565b6113ea60208301846113b9565b9392505050565b600081519050611400816110d6565b92915050565b60006020828403121561141c5761141b610fda565b5b600061142a848285016113f1565b91505092915050565b7f436f6e6e6578743a2055736572206d75737420617070726f766520616d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b600061148f6021836111ef565b915061149a82611433565b604082019050919050565b600060208201905081810360008301526114be81611482565b9050919050565b6114ce8161103d565b82525050565b6114dd816110cc565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561151d578082015181840152602081019050611502565b60008484015250505050565b6000601f19601f8301169050919050565b6000611545826114e3565b61154f81856114ee565b935061155f8185602086016114ff565b61156881611529565b840191505092915050565b600060e082019050611588600083018a6114c5565b61159560208301896113b9565b6115a260408301886113b9565b6115af60608301876113b9565b6115bc60808301866114d4565b6115c960a08301856114d4565b81810360c08301526115db818461153a565b905098975050505050505050565b6000819050919050565b6115fc816115e9565b811461160757600080fd5b50565b600081519050611619816115f3565b92915050565b60006020828403121561163557611634610fda565b5b60006116438482850161160a565b91505092915050565b611655816115e9565b82525050565b600060608201905061167060008301866114d4565b61167d60208301856114d4565b61168a604083018461164c565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006116cc826110cc565b91506116d7836110cc565b92508282019050808211156116ef576116ee611692565b5b92915050565b7f436f6e6e6578743a20616d6f756e74202b2072656c6179657246656520213d2060008201527f6d73672e76616c75650000000000000000000000000000000000000000000000602082015250565b60006117516029836111ef565b915061175c826116f5565b604082019050919050565b6000602082019050818103600083015261178081611744565b9050919050565b600060408201905061179c60008301856113b9565b6117a960208301846114d4565b9392505050565b60008115159050919050565b6117c5816117b0565b81146117d057600080fd5b50565b6000815190506117e2816117bc565b92915050565b6000602082840312156117fe576117fd610fda565b5b600061180c848285016117d3565b91505092915050565b600060208201905061182a60008301846113b9565b92915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b600061188c6022836111ef565b915061189782611830565b604082019050919050565b600060208201905081810360008301526118bb8161187f565b9050919050565b60006060820190506118d760008301866113b9565b6118e460208301856113b9565b6118f160408301846114d4565b949350505050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b60006119556036836111ef565b9150611960826118f9565b604082019050919050565b6000602082019050818103600083015261198481611948565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b60006119e7602a836111ef565b91506119f28261198b565b604082019050919050565b60006020820190508181036000830152611a16816119da565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000611a796026836111ef565b9150611a8482611a1d565b604082019050919050565b60006020820190508181036000830152611aa881611a6c565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000611ae5601d836111ef565b9150611af082611aaf565b602082019050919050565b60006020820190508181036000830152611b1481611ad8565b9050919050565b600081905092915050565b6000611b31826114e3565b611b3b8185611b1b565b9350611b4b8185602086016114ff565b80840191505092915050565b6000611b638284611b26565b915081905092915050565b600081519050919050565b6000611b8482611b6e565b611b8e81856111ef565b9350611b9e8185602086016114ff565b611ba781611529565b840191505092915050565b60006020820190508181036000830152611bcc8184611b79565b90509291505056fea264697066735822122028f18a6f224a462af4b116e22a556e60fe0171dbe7a6308b8a3813290ea6ad5764736f6c63430008110033", + "bytecode": "0x608060405234801561001057600080fd5b50611b37806100206000396000f3fe6080604052600436106100345760003560e01c80633205dc691461003957806351b401b914610062578063da328d541461007e575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190611055565b61009a565b005b61007c600480360381019061007791906110de565b61029c565b005b610098600480360381019061009391906110de565b61064f565b005b6100a26109e3565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610108906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906111c8565b60405180910390fd5b600061018a610a7e565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160000160146101000a81548163ffffffff021916908363ffffffff160217905550818160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168363ffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe23ac138025651e2fb684be9a5c635424d4dac7fc73449494c24c4955e79027860405160405180910390a450505050565b60006102a6610aab565b90506000879050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff160361031c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610313906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361038b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610382906111c8565b60405180910390fd5b610393610ade565b63ffffffff168563ffffffff16036103e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d79061125a565b60405180910390fd5b823414610422576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610419906112c6565b60405180910390fd5b868173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b815260040161045e9291906112f5565b602060405180830381865afa15801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049f9190611333565b10156104e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d7906113d2565b60405180910390fd5b61050d3330898473ffffffffffffffffffffffffffffffffffffffff16610b01909392919063ffffffff16565b61053882888373ffffffffffffffffffffffffffffffffffffffff16610b8a9092919063ffffffff16565b60008273ffffffffffffffffffffffffffffffffffffffff16638aac16ba85888a8d338e8c604051806020016040528060008152506040518963ffffffff1660e01b815260040161058f97969594939291906114a0565b60206040518083038185885af11580156105ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105d2919061154c565b90508873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167f1a0290ac7c224ab0140c811403ba545f80e92404b9979b69e52b3f589bc1c1e08b888660405161063c93929190611588565b60405180910390a4505050505050505050565b6000610659610aab565b90506000610665610cd9565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16036106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cd906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073c906111c8565b60405180910390fd5b61074d610ade565b63ffffffff168563ffffffff160361079a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107919061125a565b60405180910390fd5b82876107a691906115ee565b34146107e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107de90611694565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b15801561083457600080fd5b505af1158015610848573d6000803e3d6000fd5b50505050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3848a6040518363ffffffff1660e01b81526004016108889291906116b4565b6020604051808303816000875af11580156108a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cb9190611715565b50506000866040516020016108e09190611742565b604051602081830303815290604052905060008373ffffffffffffffffffffffffffffffffffffffff16638aac16ba86898d87338f8d8a6040518963ffffffff1660e01b815260040161093997969594939291906114a0565b60206040518083038185885af1158015610957573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061097c919061154c565b90508773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167fe16c7dcc828782adcdd94aaeb1d07c3ae5a6d593a6b851ab5e023f9c961436873488856040516109cf93929190611588565b60405180910390a350505050505050505050565b6109eb610d0c565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a73906117cf565b60405180910390fd5b565b6000807ffa2e9c22c7fe2104814a1d7e2c66c58d10a2d7989d5bcf01173a2564aa59c04d90508091505090565b6000610ab5610a7e565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610ae8610a7e565b60000160149054906101000a900463ffffffff16905090565b610b84846323b872dd60e01b858585604051602401610b22939291906117ef565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b50505050565b6000811480610c14575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610bd19291906112f5565b602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611333565b145b610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90611898565b60405180910390fd5b610cd48363095ea7b360e01b8484604051602401610c729291906116b4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b505050565b6000610ce3610a7e565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610d9b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610e009092919063ffffffff16565b9050600081511115610dfb5780806020019051810190610dbb9190611715565b610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df19061192a565b60405180910390fd5b5b505050565b6060610e0f8484600085610e18565b90509392505050565b606082471015610e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e54906119bc565b60405180910390fd5b610e6685610f2c565b610ea5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9c90611a28565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ece9190611a84565b60006040518083038185875af1925050503d8060008114610f0b576040519150601f19603f3d011682016040523d82523d6000602084013e610f10565b606091505b5091509150610f20828286610f4f565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610f5f57829050610faf565b600083511115610f725782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa69190611adf565b60405180910390fd5b9392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610fe682610fbb565b9050919050565b610ff681610fdb565b811461100157600080fd5b50565b60008135905061101381610fed565b92915050565b600063ffffffff82169050919050565b61103281611019565b811461103d57600080fd5b50565b60008135905061104f81611029565b92915050565b60008060006060848603121561106e5761106d610fb6565b5b600061107c86828701611004565b935050602061108d86828701611040565b925050604061109e86828701611004565b9150509250925092565b6000819050919050565b6110bb816110a8565b81146110c657600080fd5b50565b6000813590506110d8816110b2565b92915050565b60008060008060008060c087890312156110fb576110fa610fb6565b5b600061110989828a01611004565b965050602061111a89828a016110c9565b955050604061112b89828a01611004565b945050606061113c89828a01611040565b935050608061114d89828a016110c9565b92505060a061115e89828a016110c9565b9150509295509295509295565b600082825260208201905092915050565b7f436f6e6e6578743a20696e76616c696420616464726573730000000000000000600082015250565b60006111b260188361116b565b91506111bd8261117c565b602082019050919050565b600060208201905081810360008301526111e1816111a5565b9050919050565b7f436f6e6e6578743a2043616e6e6f742062726964676520746f2073616d65206460008201527f6f6d61696e000000000000000000000000000000000000000000000000000000602082015250565b600061124460258361116b565b915061124f826111e8565b604082019050919050565b6000602082019050818103600083015261127381611237565b9050919050565b7f436f6e6e6578743a2072656c6179657246656520213d206d73672e76616c7565600082015250565b60006112b060208361116b565b91506112bb8261127a565b602082019050919050565b600060208201905081810360008301526112df816112a3565b9050919050565b6112ef81610fdb565b82525050565b600060408201905061130a60008301856112e6565b61131760208301846112e6565b9392505050565b60008151905061132d816110b2565b92915050565b60006020828403121561134957611348610fb6565b5b60006113578482850161131e565b91505092915050565b7f436f6e6e6578743a2055736572206d75737420617070726f766520616d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b60006113bc60218361116b565b91506113c782611360565b604082019050919050565b600060208201905081810360008301526113eb816113af565b9050919050565b6113fb81611019565b82525050565b61140a816110a8565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561144a57808201518184015260208101905061142f565b60008484015250505050565b6000601f19601f8301169050919050565b600061147282611410565b61147c818561141b565b935061148c81856020860161142c565b61149581611456565b840191505092915050565b600060e0820190506114b5600083018a6113f2565b6114c260208301896112e6565b6114cf60408301886112e6565b6114dc60608301876112e6565b6114e96080830186611401565b6114f660a0830185611401565b81810360c08301526115088184611467565b905098975050505050505050565b6000819050919050565b61152981611516565b811461153457600080fd5b50565b60008151905061154681611520565b92915050565b60006020828403121561156257611561610fb6565b5b600061157084828501611537565b91505092915050565b61158281611516565b82525050565b600060608201905061159d6000830186611401565b6115aa6020830185611401565b6115b76040830184611579565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115f9826110a8565b9150611604836110a8565b925082820190508082111561161c5761161b6115bf565b5b92915050565b7f436f6e6e6578743a20616d6f756e74202b2072656c6179657246656520213d2060008201527f6d73672e76616c75650000000000000000000000000000000000000000000000602082015250565b600061167e60298361116b565b915061168982611622565b604082019050919050565b600060208201905081810360008301526116ad81611671565b9050919050565b60006040820190506116c960008301856112e6565b6116d66020830184611401565b9392505050565b60008115159050919050565b6116f2816116dd565b81146116fd57600080fd5b50565b60008151905061170f816116e9565b92915050565b60006020828403121561172b5761172a610fb6565b5b600061173984828501611700565b91505092915050565b600060208201905061175760008301846112e6565b92915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006117b960228361116b565b91506117c48261175d565b604082019050919050565b600060208201905081810360008301526117e8816117ac565b9050919050565b600060608201905061180460008301866112e6565b61181160208301856112e6565b61181e6040830184611401565b949350505050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b600061188260368361116b565b915061188d82611826565b604082019050919050565b600060208201905081810360008301526118b181611875565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000611914602a8361116b565b915061191f826118b8565b604082019050919050565b6000602082019050818103600083015261194381611907565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006119a660268361116b565b91506119b18261194a565b604082019050919050565b600060208201905081810360008301526119d581611999565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000611a12601d8361116b565b9150611a1d826119dc565b602082019050919050565b60006020820190508181036000830152611a4181611a05565b9050919050565b600081905092915050565b6000611a5e82611410565b611a688185611a48565b9350611a7881856020860161142c565b80840191505092915050565b6000611a908284611a53565b915081905092915050565b600081519050919050565b6000611ab182611a9b565b611abb818561116b565b9350611acb81856020860161142c565b611ad481611456565b840191505092915050565b60006020820190508181036000830152611af98184611aa6565b90509291505056fea26469706673582212200d70fd58632d77e9650d1e907185cdd7cc0a2b728b4ea1a95a30b45c7bc071e364736f6c63430008110033", + "deployedBytecode": "0x6080604052600436106100345760003560e01c80633205dc691461003957806351b401b914610062578063da328d541461007e575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190611055565b61009a565b005b61007c600480360381019061007791906110de565b61029c565b005b610098600480360381019061009391906110de565b61064f565b005b6100a26109e3565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610108906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906111c8565b60405180910390fd5b600061018a610a7e565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160000160146101000a81548163ffffffff021916908363ffffffff160217905550818160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168363ffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe23ac138025651e2fb684be9a5c635424d4dac7fc73449494c24c4955e79027860405160405180910390a450505050565b60006102a6610aab565b90506000879050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff160361031c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610313906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361038b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610382906111c8565b60405180910390fd5b610393610ade565b63ffffffff168563ffffffff16036103e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d79061125a565b60405180910390fd5b823414610422576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610419906112c6565b60405180910390fd5b868173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b815260040161045e9291906112f5565b602060405180830381865afa15801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049f9190611333565b10156104e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d7906113d2565b60405180910390fd5b61050d3330898473ffffffffffffffffffffffffffffffffffffffff16610b01909392919063ffffffff16565b61053882888373ffffffffffffffffffffffffffffffffffffffff16610b8a9092919063ffffffff16565b60008273ffffffffffffffffffffffffffffffffffffffff16638aac16ba85888a8d338e8c604051806020016040528060008152506040518963ffffffff1660e01b815260040161058f97969594939291906114a0565b60206040518083038185885af11580156105ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105d2919061154c565b90508873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167f1a0290ac7c224ab0140c811403ba545f80e92404b9979b69e52b3f589bc1c1e08b888660405161063c93929190611588565b60405180910390a4505050505050505050565b6000610659610aab565b90506000610665610cd9565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16036106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cd906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073c906111c8565b60405180910390fd5b61074d610ade565b63ffffffff168563ffffffff160361079a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107919061125a565b60405180910390fd5b82876107a691906115ee565b34146107e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107de90611694565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b15801561083457600080fd5b505af1158015610848573d6000803e3d6000fd5b50505050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3848a6040518363ffffffff1660e01b81526004016108889291906116b4565b6020604051808303816000875af11580156108a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cb9190611715565b50506000866040516020016108e09190611742565b604051602081830303815290604052905060008373ffffffffffffffffffffffffffffffffffffffff16638aac16ba86898d87338f8d8a6040518963ffffffff1660e01b815260040161093997969594939291906114a0565b60206040518083038185885af1158015610957573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061097c919061154c565b90508773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167fe16c7dcc828782adcdd94aaeb1d07c3ae5a6d593a6b851ab5e023f9c961436873488856040516109cf93929190611588565b60405180910390a350505050505050505050565b6109eb610d0c565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a73906117cf565b60405180910390fd5b565b6000807ffa2e9c22c7fe2104814a1d7e2c66c58d10a2d7989d5bcf01173a2564aa59c04d90508091505090565b6000610ab5610a7e565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610ae8610a7e565b60000160149054906101000a900463ffffffff16905090565b610b84846323b872dd60e01b858585604051602401610b22939291906117ef565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b50505050565b6000811480610c14575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610bd19291906112f5565b602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611333565b145b610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90611898565b60405180910390fd5b610cd48363095ea7b360e01b8484604051602401610c729291906116b4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b505050565b6000610ce3610a7e565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610d9b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610e009092919063ffffffff16565b9050600081511115610dfb5780806020019051810190610dbb9190611715565b610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df19061192a565b60405180910390fd5b5b505050565b6060610e0f8484600085610e18565b90509392505050565b606082471015610e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e54906119bc565b60405180910390fd5b610e6685610f2c565b610ea5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9c90611a28565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ece9190611a84565b60006040518083038185875af1925050503d8060008114610f0b576040519150601f19603f3d011682016040523d82523d6000602084013e610f10565b606091505b5091509150610f20828286610f4f565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610f5f57829050610faf565b600083511115610f725782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa69190611adf565b60405180910390fd5b9392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610fe682610fbb565b9050919050565b610ff681610fdb565b811461100157600080fd5b50565b60008135905061101381610fed565b92915050565b600063ffffffff82169050919050565b61103281611019565b811461103d57600080fd5b50565b60008135905061104f81611029565b92915050565b60008060006060848603121561106e5761106d610fb6565b5b600061107c86828701611004565b935050602061108d86828701611040565b925050604061109e86828701611004565b9150509250925092565b6000819050919050565b6110bb816110a8565b81146110c657600080fd5b50565b6000813590506110d8816110b2565b92915050565b60008060008060008060c087890312156110fb576110fa610fb6565b5b600061110989828a01611004565b965050602061111a89828a016110c9565b955050604061112b89828a01611004565b945050606061113c89828a01611040565b935050608061114d89828a016110c9565b92505060a061115e89828a016110c9565b9150509295509295509295565b600082825260208201905092915050565b7f436f6e6e6578743a20696e76616c696420616464726573730000000000000000600082015250565b60006111b260188361116b565b91506111bd8261117c565b602082019050919050565b600060208201905081810360008301526111e1816111a5565b9050919050565b7f436f6e6e6578743a2043616e6e6f742062726964676520746f2073616d65206460008201527f6f6d61696e000000000000000000000000000000000000000000000000000000602082015250565b600061124460258361116b565b915061124f826111e8565b604082019050919050565b6000602082019050818103600083015261127381611237565b9050919050565b7f436f6e6e6578743a2072656c6179657246656520213d206d73672e76616c7565600082015250565b60006112b060208361116b565b91506112bb8261127a565b602082019050919050565b600060208201905081810360008301526112df816112a3565b9050919050565b6112ef81610fdb565b82525050565b600060408201905061130a60008301856112e6565b61131760208301846112e6565b9392505050565b60008151905061132d816110b2565b92915050565b60006020828403121561134957611348610fb6565b5b60006113578482850161131e565b91505092915050565b7f436f6e6e6578743a2055736572206d75737420617070726f766520616d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b60006113bc60218361116b565b91506113c782611360565b604082019050919050565b600060208201905081810360008301526113eb816113af565b9050919050565b6113fb81611019565b82525050565b61140a816110a8565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561144a57808201518184015260208101905061142f565b60008484015250505050565b6000601f19601f8301169050919050565b600061147282611410565b61147c818561141b565b935061148c81856020860161142c565b61149581611456565b840191505092915050565b600060e0820190506114b5600083018a6113f2565b6114c260208301896112e6565b6114cf60408301886112e6565b6114dc60608301876112e6565b6114e96080830186611401565b6114f660a0830185611401565b81810360c08301526115088184611467565b905098975050505050505050565b6000819050919050565b61152981611516565b811461153457600080fd5b50565b60008151905061154681611520565b92915050565b60006020828403121561156257611561610fb6565b5b600061157084828501611537565b91505092915050565b61158281611516565b82525050565b600060608201905061159d6000830186611401565b6115aa6020830185611401565b6115b76040830184611579565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115f9826110a8565b9150611604836110a8565b925082820190508082111561161c5761161b6115bf565b5b92915050565b7f436f6e6e6578743a20616d6f756e74202b2072656c6179657246656520213d2060008201527f6d73672e76616c75650000000000000000000000000000000000000000000000602082015250565b600061167e60298361116b565b915061168982611622565b604082019050919050565b600060208201905081810360008301526116ad81611671565b9050919050565b60006040820190506116c960008301856112e6565b6116d66020830184611401565b9392505050565b60008115159050919050565b6116f2816116dd565b81146116fd57600080fd5b50565b60008151905061170f816116e9565b92915050565b60006020828403121561172b5761172a610fb6565b5b600061173984828501611700565b91505092915050565b600060208201905061175760008301846112e6565b92915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006117b960228361116b565b91506117c48261175d565b604082019050919050565b600060208201905081810360008301526117e8816117ac565b9050919050565b600060608201905061180460008301866112e6565b61181160208301856112e6565b61181e6040830184611401565b949350505050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b600061188260368361116b565b915061188d82611826565b604082019050919050565b600060208201905081810360008301526118b181611875565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000611914602a8361116b565b915061191f826118b8565b604082019050919050565b6000602082019050818103600083015261194381611907565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006119a660268361116b565b91506119b18261194a565b604082019050919050565b600060208201905081810360008301526119d581611999565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000611a12601d8361116b565b9150611a1d826119dc565b602082019050919050565b60006020820190508181036000830152611a4181611a05565b9050919050565b600081905092915050565b6000611a5e82611410565b611a688185611a48565b9350611a7881856020860161142c565b80840191505092915050565b6000611a908284611a53565b915081905092915050565b600081519050919050565b6000611ab182611a9b565b611abb818561116b565b9350611acb81856020860161142c565b611ad481611456565b840191505092915050565b60006020820190508181036000830152611af98184611aa6565b90509291505056fea26469706673582212200d70fd58632d77e9650d1e907185cdd7cc0a2b728b4ea1a95a30b45c7bc071e364736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/IStargateReceiver.json b/artifacts/IStargateReceiver.json index f34dc3b9..31677481 100644 --- a/artifacts/IStargateReceiver.json +++ b/artifacts/IStargateReceiver.json @@ -1,13 +1,13 @@ { "_format": "hh-sol-artifact-1", "contractName": "IStargateReceiver", - "sourceName": "src/bridges/interfaces/IStargateReceiver.sol", + "sourceName": "src/bridges/interfaces/stargate/IStargateReceiver.sol", "abi": [ { "inputs": [ { "internalType": "uint16", - "name": "_srcChainId", + "name": "_chainId", "type": "uint16" }, { diff --git a/artifacts/IStargateRouter.json b/artifacts/IStargateRouter.json index 252ab8ca..d3c2c83a 100644 --- a/artifacts/IStargateRouter.json +++ b/artifacts/IStargateRouter.json @@ -1,7 +1,7 @@ { "_format": "hh-sol-artifact-1", "contractName": "IStargateRouter", - "sourceName": "src/bridges/interfaces/IStargateRouter.sol", + "sourceName": "src/bridges/interfaces/stargate/IStargateRouter.sol", "abi": [ { "inputs": [ diff --git a/artifacts/IStargateRouterETH.json b/artifacts/IStargateRouterETH.json new file mode 100644 index 00000000..fbe27260 --- /dev/null +++ b/artifacts/IStargateRouterETH.json @@ -0,0 +1,51 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IStargateRouterETH", + "sourceName": "src/bridges/interfaces/stargate/IStargateRouterETH.sol", + "abi": [ + { + "inputs": [], + "name": "addLiquidityETH", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint16", + "name": "dstChainId", + "type": "uint16" + }, + { + "internalType": "address payable", + "name": "refundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "to", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "amountLD", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minAmountLD", + "type": "uint256" + } + ], + "name": "swapETH", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/StargateFacet.json b/artifacts/StargateFacet.json index 28950f9a..e095ed76 100644 --- a/artifacts/StargateFacet.json +++ b/artifacts/StargateFacet.json @@ -3,59 +3,40 @@ "contractName": "StargateFacet", "sourceName": "src/bridges/facets/StargateFacet.sol", "abi": [ - { - "inputs": [], - "name": "InvalidAmount", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidConfig", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSourcePoolId", - "type": "error" - }, { "inputs": [], "name": "ReentrancyError", "type": "error" }, - { - "inputs": [], - "name": "SenderNotStargateRouter", - "type": "error" - }, - { - "inputs": [], - "name": "StargateRouterAddressZero", - "type": "error" - }, { "anonymous": false, "inputs": [ { "indexed": false, - "internalType": "uint16", - "name": "chainId", - "type": "uint16" + "internalType": "address", + "name": "from", + "type": "address" }, { "indexed": false, "internalType": "address", - "name": "token", + "name": "to", "type": "address" }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, { "indexed": false, "internalType": "uint16", - "name": "poolId", + "name": "chainIdTo", "type": "uint16" } ], - "name": "SGAddedPool", + "name": "StargateETHTokenSwap", "type": "event" }, { @@ -64,7 +45,13 @@ { "indexed": false, "internalType": "address", - "name": "stargate", + "name": "stargateRouter", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "stargateETHRouter", "type": "address" }, { @@ -74,7 +61,7 @@ "type": "uint16" } ], - "name": "SGInitialized", + "name": "StargateInitialized", "type": "event" }, { @@ -93,30 +80,18 @@ "type": "uint256" } ], - "name": "SGReceivedOnDestination", + "name": "StargateReceivedOnDestination", "type": "event" }, { "anonymous": false, "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "bridgeUsed", - "type": "string" - }, { "indexed": false, "internalType": "address", "name": "fromToken", "type": "address" }, - { - "indexed": false, - "internalType": "address", - "name": "toToken", - "type": "address" - }, { "indexed": false, "internalType": "address", @@ -142,54 +117,66 @@ "type": "uint16" } ], - "name": "SGTransferStarted", + "name": "StargateTokenSwap", "type": "event" }, { - "anonymous": false, "inputs": [ { - "indexed": false, "internalType": "address", - "name": "newAddress", + "name": "_stargateRouter", "type": "address" - } - ], - "name": "SGUpdatedRouter", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ + }, { - "indexed": false, - "internalType": "uint256", - "name": "newSlippage", - "type": "uint256" + "internalType": "address", + "name": "_stargateETHRouter", + "type": "address" + }, + { + "internalType": "uint16", + "name": "_chainId", + "type": "uint16" } ], - "name": "SGUpdatedSlippageTolerance", - "type": "event" + "name": "initStargate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" }, { "inputs": [ { "internalType": "uint16", - "name": "_chainId", + "name": "", "type": "uint16" }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, { "internalType": "address", "name": "_token", "type": "address" }, { - "internalType": "uint16", - "name": "_poolId", - "type": "uint16" + "internalType": "uint256", + "name": "_amountLD", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_payload", + "type": "bytes" } ], - "name": "sgAddPool", + "name": "sgReceive", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -200,19 +187,9 @@ "components": [ { "internalType": "uint256", - "name": "qty", + "name": "amount", "type": "uint256" }, - { - "internalType": "address", - "name": "fromToken", - "type": "address" - }, - { - "internalType": "address", - "name": "toToken", - "type": "address" - }, { "internalType": "uint16", "name": "dstChainId", @@ -224,17 +201,17 @@ "type": "address" }, { - "internalType": "address", - "name": "destStargateComposed", - "type": "address" + "internalType": "uint16", + "name": "slippage", + "type": "uint16" } ], - "internalType": "struct StargateFacet.StargateData", - "name": "_sgData", + "internalType": "struct StargateFacet.StargateETHTransferData", + "name": "_data", "type": "tuple" } ], - "name": "sgBridgeTokens", + "name": "stargateETHTransfer", "outputs": [], "stateMutability": "payable", "type": "function" @@ -252,12 +229,12 @@ "type": "address" }, { - "internalType": "address", + "internalType": "contract IStargateRouter", "name": "_router", "type": "address" } ], - "name": "sgCalculateFees", + "name": "stargateFees", "outputs": [ { "internalType": "uint256", @@ -271,160 +248,61 @@ { "inputs": [ { - "internalType": "uint16", - "name": "_chainId", - "type": "uint16" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_poolId", - "type": "uint16" - } - ], - "name": "sgCheckPoolId", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_stargateRouter", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_chainId", - "type": "uint16" - } - ], - "name": "sgInitialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "sgMinAmountOut", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_chainId", - "type": "uint16" - }, - { - "internalType": "bytes", - "name": "_srcAddress", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_nonce", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountLD", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_payload", - "type": "bytes" - } - ], - "name": "sgReceive", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_chainId", - "type": "uint16" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "sgRetrievePoolId", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_newAddress", - "type": "address" - } - ], - "name": "sgUpdateRouter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_newSlippage", - "type": "uint256" + "components": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "bridgeToken", + "type": "address" + }, + { + "internalType": "uint16", + "name": "dstChainId", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "srcPoolId", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "dstPoolId", + "type": "uint16" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint16", + "name": "slippage", + "type": "uint16" + }, + { + "internalType": "uint256", + "name": "destStargateComposed", + "type": "uint256" + } + ], + "internalType": "struct StargateFacet.StargateTransferData", + "name": "_data", + "type": "tuple" } ], - "name": "sgUpdateSlippageTolerance", + "name": "stargateTokenTransfer", "outputs": [], - "stateMutability": "nonpayable", + "stateMutability": "payable", "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b506125df806100206000396000f3fe6080604052600436106100915760003560e01c8063498ee46911610059578063498ee469146101925780634be85c35146101bb578063618c3f29146101e4578063ab8236f314610221578063b8c06ccc1461024a57610091565b80631f8097fb14610096578063217aabb7146100b25780632a8dcdb7146100db57806342d910c614610118578063430dbc3a14610155575b600080fd5b6100b060048036038101906100ab91906117a5565b610273565b005b3480156100be57600080fd5b506100d960048036038101906100d49190611961565b610734565b005b3480156100e757600080fd5b5061010260048036038101906100fd9190611859565b61078c565b60405161010f9190611d9e565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a919061180a565b610824565b60405161014c9190612049565b60405180910390f35b34801561016157600080fd5b5061017c600480360381019061017791906117ce565b610936565b6040516101899190611eef565b60405180910390f35b34801561019e57600080fd5b506101b960048036038101906101b49190611740565b6109b5565b005b3480156101c757600080fd5b506101e260048036038101906101dd91906116ee565b610c66565b005b3480156101f057600080fd5b5061020b60048036038101906102069190611961565b610d5f565b6040516102189190612049565b60405180910390f35b34801561022d57600080fd5b50610248600480360381019061024391906118a8565b610d9e565b005b34801561025657600080fd5b50610271600480360381019061026c9190611859565b610f1c565b005b600061027d610fe6565b90506001816000015414156102be576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181600001819055506000826000015111610306576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff1614806103755750600073ffffffffffffffffffffffffffffffffffffffff16826040015173ffffffffffffffffffffffffffffffffffffffff16145b806103b05750600073ffffffffffffffffffffffffffffffffffffffff16826080015173ffffffffffffffffffffffffffffffffffffffff16145b806103eb5750600073ffffffffffffffffffffffffffffffffffffffff168260a0015173ffffffffffffffffffffffffffffffffffffffff16145b15610422576040517f35be3ac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061042c611013565b905060006104508260000160149054906101000a900461ffff168560200151610936565b905060008161ffff161415610491576040517f7790ca9900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006104a585606001518660400151610936565b905060006104e0866060015187608001518660000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610824565b905060006104f18760000151610d5f565b905060008760a0015160405160200161050a9190611c9f565b6040516020818303038152906040529050600088608001516040516020016105329190611cd1565b604051602081830303815290604052905061057833308b600001518c6020015173ffffffffffffffffffffffffffffffffffffffff16611040909392919063ffffffff16565b6105cf8760000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168a600001518b6020015173ffffffffffffffffffffffffffffffffffffffff166110c99092919063ffffffff16565b8660000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fbf10fc858b606001518989338f600001518a604051806060016040528062030d408152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161069899989796959493929190611fa7565b6000604051808303818588803b1580156106b157600080fd5b505af11580156106c5573d6000803e3d6000fd5b50505050507f7a72e6f4a3d77f8a5a6c536a973421c5bf00107f9aec7995661537673b8be08789602001518a60400151338c608001518d600001518e6060015160405161071796959493929190611e1b565b60405180910390a150505050505050600081600001819055505050565b61073c611227565b6000610746611013565b90508181600201819055507f45934903f6b10aff9d3435b8362d284d95d14ca68e8554f05f04c7856a6003c0826040516107809190612049565b60405180910390a15050565b600080610797611013565b90508261ffff168160030160008761ffff1661ffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff1661ffff161461081757600061081a565b60015b9150509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a512369866001876040516020016108579190611c9f565b604051602081830303815290604052604051806060016040528062030d408152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152506040518563ffffffff1660e01b81526004016108d99493929190611f41565b604080518083038186803b1580156108f057600080fd5b505afa158015610904573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092891906119b3565b509050809150509392505050565b600080610941611013565b90508060030160008561ffff1661ffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff1691505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a1c576040517f35be3ac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a24611227565b6000610a2e611013565b9050828160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818160000160146101000a81548161ffff021916908361ffff16021790555060328160020181905550610abd600173a0b86991c6218b36c1d19d4a2e9eb0ce3606eb486001610f1c565b610ade600173dac17f958d2ee523a2206206994597c13d831ec76002610f1c565b610aff60027355d398326f99059ff775485246999027b31979556002610f1c565b610b20600273e9e7cea3dedca5984780bafc599bd69add087d566005610f1c565b610b41600673b97ef9ef8734c71904d8002f8b6bc66dd9c48a6e6001610f1c565b610b626006739702230a8ea53601f5cd2dc00fdbc13d4df4a8c76002610f1c565b610b836009732791bca1f2de4661ed88a30c99a7a9449aa841746001610f1c565b610ba4600973c2132d05d31c914a87c6611c10748aeb04b58e8f6002610f1c565b610bc5600a73ff970a61a04b1ca14834a43f5de4533ebddb5cc86001610f1c565b610be6600a73fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb96002610f1c565b610c07600b737f5c764cbc14f9669b88837ca1490cca17c316076001610f1c565b610c28600c7304068da6c83afcfa0e13ba15a6696662335d5b756001610f1c565b7fc8ec31998a27444f477c01de93c393769fd4fc017fb63163f71f8a8ab72ccd508383604051610c59929190611d4c565b60405180910390a1505050565b610c6e611227565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cd5576040517f3911c65500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610cdf611013565b9050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f9ac04272c4559bf7459414abb5568dc1df58ab649f0af4afd1510074f5cc2fec82604051610d539190611cd1565b60405180910390a15050565b600080610d6a611013565b90506127108160020154612710610d819190612199565b84610d8c919061213f565b610d96919061210e565b915050919050565b6000610da8611013565b90508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e33576040517fdade3c7100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190610e499190611717565b90508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82866040518363ffffffff1660e01b8152600401610e86929190611d75565b602060405180830381600087803b158015610ea057600080fd5b505af1158015610eb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed8919061177c565b507f827e3293895509ef037b7438d4e009f37ad7b2562a14695d9dfd9cb0659842188585604051610f0a929190611d75565b60405180910390a15050505050505050565b610f24611227565b6000610f2e611013565b9050818160030160008661ffff1661ffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f85adba3a23dc45072c12199244adfbf4c1d736a46ac453eb732f4e5158af5867848484604051610fd893929190611f0a565b60405180910390a150505050565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6110c3846323b872dd60e01b85858560405160240161106193929190611d15565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506112c2565b50505050565b6000811480611162575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401611110929190611cec565b60206040518083038186803b15801561112857600080fd5b505afa15801561113c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611160919061198a565b145b6111a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119890611ecf565b60405180910390fd5b6112228363095ea7b360e01b84846040516024016111c0929190611d75565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506112c2565b505050565b61122f611389565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b790611ddb565b60405180910390fd5b565b6000611324826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166113b69092919063ffffffff16565b90506000815111156113845780806020019051810190611344919061177c565b611383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137a90611eaf565b60405180910390fd5b5b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60606113c584846000856113ce565b90509392505050565b606082471015611413576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140a90611dfb565b60405180910390fd5b61141c856114e2565b61145b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145290611e8f565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516114849190611cba565b60006040518083038185875af1925050503d80600081146114c1576040519150601f19603f3d011682016040523d82523d6000602084013e6114c6565b606091505b50915091506114d6828286611505565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060831561151557829050611565565b6000835111156115285782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155c9190611db9565b60405180910390fd5b9392505050565b600061157f61157a84612089565b612064565b90508281526020810184848401111561159757600080fd5b6115a2848285612266565b509392505050565b6000813590506115b98161255f565b92915050565b6000815190506115ce81612576565b92915050565b6000815190506115e38161258d565b92915050565b600082601f8301126115fa57600080fd5b813561160a84826020860161156c565b91505092915050565b600060c0828403121561162557600080fd5b61162f60c0612064565b9050600061163f848285016116c4565b6000830152506020611653848285016115aa565b6020830152506040611667848285016115aa565b604083015250606061167b848285016116af565b606083015250608061168f848285016115aa565b60808301525060a06116a3848285016115aa565b60a08301525092915050565b6000813590506116be816125a4565b92915050565b6000813590506116d3816125bb565b92915050565b6000815190506116e8816125bb565b92915050565b60006020828403121561170057600080fd5b600061170e848285016115aa565b91505092915050565b60006020828403121561172957600080fd5b6000611737848285016115bf565b91505092915050565b6000806040838503121561175357600080fd5b6000611761858286016115aa565b9250506020611772858286016116af565b9150509250929050565b60006020828403121561178e57600080fd5b600061179c848285016115d4565b91505092915050565b600060c082840312156117b757600080fd5b60006117c584828501611613565b91505092915050565b600080604083850312156117e157600080fd5b60006117ef858286016116af565b9250506020611800858286016115aa565b9150509250929050565b60008060006060848603121561181f57600080fd5b600061182d868287016116af565b935050602061183e868287016115aa565b925050604061184f868287016115aa565b9150509250925092565b60008060006060848603121561186e57600080fd5b600061187c868287016116af565b935050602061188d868287016115aa565b925050604061189e868287016116af565b9150509250925092565b60008060008060008060c087890312156118c157600080fd5b60006118cf89828a016116af565b965050602087013567ffffffffffffffff8111156118ec57600080fd5b6118f889828a016115e9565b955050604061190989828a016116c4565b945050606061191a89828a016115aa565b935050608061192b89828a016116c4565b92505060a087013567ffffffffffffffff81111561194857600080fd5b61195489828a016115e9565b9150509295509295509295565b60006020828403121561197357600080fd5b6000611981848285016116c4565b91505092915050565b60006020828403121561199c57600080fd5b60006119aa848285016116d9565b91505092915050565b600080604083850312156119c657600080fd5b60006119d4858286016116d9565b92505060206119e5858286016116d9565b9150509250929050565b6119f8816121df565b82525050565b611a07816121cd565b82525050565b611a1e611a19826121cd565b6122d9565b82525050565b611a2d816121f1565b82525050565b6000611a3e826120ba565b611a4881856120d0565b9350611a58818560208601612275565b611a618161238a565b840191505092915050565b6000611a77826120ba565b611a8181856120e1565b9350611a91818560208601612275565b611a9a8161238a565b840191505092915050565b6000611ab0826120ba565b611aba81856120f2565b9350611aca818560208601612275565b80840191505092915050565b611adf81612242565b82525050565b6000611af0826120c5565b611afa81856120fd565b9350611b0a818560208601612275565b611b138161238a565b840191505092915050565b6000611b2b6022836120fd565b9150611b36826123a8565b604082019050919050565b6000611b4e6002836120e1565b9150611b59826123f7565b602082019050919050565b6000611b716026836120fd565b9150611b7c82612420565b604082019050919050565b6000611b946008836120fd565b9150611b9f8261246f565b602082019050919050565b6000611bb7601d836120fd565b9150611bc282612498565b602082019050919050565b6000611bda602a836120fd565b9150611be5826124c1565b604082019050919050565b6000611bfd6036836120fd565b9150611c0882612510565b604082019050919050565b6000606083016000830151611c2b6000860182611c81565b506020830151611c3e6020860182611c81565b5060408301518482036040860152611c568282611a33565b9150508091505092915050565b611c6c816121fd565b82525050565b611c7b81612254565b82525050565b611c8a8161222b565b82525050565b611c998161222b565b82525050565b6000611cab8284611a0d565b60148201915081905092915050565b6000611cc68284611aa5565b915081905092915050565b6000602082019050611ce660008301846119fe565b92915050565b6000604082019050611d0160008301856119fe565b611d0e60208301846119fe565b9392505050565b6000606082019050611d2a60008301866119fe565b611d3760208301856119fe565b611d446040830184611c90565b949350505050565b6000604082019050611d6160008301856119fe565b611d6e6020830184611c63565b9392505050565b6000604082019050611d8a60008301856119fe565b611d976020830184611c90565b9392505050565b6000602082019050611db36000830184611a24565b92915050565b60006020820190508181036000830152611dd38184611ae5565b905092915050565b60006020820190508181036000830152611df481611b1e565b9050919050565b60006020820190508181036000830152611e1481611b64565b9050919050565b600060e0820190508181036000830152611e3481611b87565b9050611e4360208301896119fe565b611e5060408301886119fe565b611e5d60608301876119fe565b611e6a60808301866119fe565b611e7760a0830185611c90565b611e8460c0830184611c63565b979650505050505050565b60006020820190508181036000830152611ea881611baa565b9050919050565b60006020820190508181036000830152611ec881611bcd565b9050919050565b60006020820190508181036000830152611ee881611bf0565b9050919050565b6000602082019050611f046000830184611c63565b92915050565b6000606082019050611f1f6000830186611c63565b611f2c60208301856119fe565b611f396040830184611c63565b949350505050565b600060a082019050611f566000830187611c63565b611f636020830186611ad6565b8181036040830152611f758185611a6c565b90508181036060830152611f8881611b41565b90508181036080830152611f9c8184611c13565b905095945050505050565b600061012082019050611fbd600083018c611c63565b611fca602083018b611c72565b611fd7604083018a611c72565b611fe460608301896119ef565b611ff16080830188611c90565b611ffe60a0830187611c90565b81810360c08301526120108186611c13565b905081810360e08301526120248185611a6c565b90508181036101008301526120398184611a6c565b90509a9950505050505050505050565b600060208201905061205e6000830184611c90565b92915050565b600061206e61207f565b905061207a82826122a8565b919050565b6000604051905090565b600067ffffffffffffffff8211156120a4576120a361235b565b5b6120ad8261238a565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006121198261222b565b91506121248361222b565b9250826121345761213361232c565b5b828204905092915050565b600061214a8261222b565b91506121558361222b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561218e5761218d6122fd565b5b828202905092915050565b60006121a48261222b565b91506121af8361222b565b9250828210156121c2576121c16122fd565b5b828203905092915050565b60006121d88261220b565b9050919050565b60006121ea8261220b565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061224d82612235565b9050919050565b600061225f826121fd565b9050919050565b82818337600083830152505050565b60005b83811015612293578082015181840152602081019050612278565b838111156122a2576000848401525b50505050565b6122b18261238a565b810181811067ffffffffffffffff821117156122d0576122cf61235b565b5b80604052505050565b60006122e4826122eb565b9050919050565b60006122f68261239b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f3078000000000000000000000000000000000000000000000000000000000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f7374617267617465000000000000000000000000000000000000000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b612568816121cd565b811461257357600080fd5b50565b61257f816121df565b811461258a57600080fd5b50565b612596816121f1565b81146125a157600080fd5b50565b6125ad816121fd565b81146125b857600080fd5b50565b6125c48161222b565b81146125cf57600080fd5b5056fea164736f6c6343000804000a", - "deployedBytecode": "0x6080604052600436106100915760003560e01c8063498ee46911610059578063498ee469146101925780634be85c35146101bb578063618c3f29146101e4578063ab8236f314610221578063b8c06ccc1461024a57610091565b80631f8097fb14610096578063217aabb7146100b25780632a8dcdb7146100db57806342d910c614610118578063430dbc3a14610155575b600080fd5b6100b060048036038101906100ab91906117a5565b610273565b005b3480156100be57600080fd5b506100d960048036038101906100d49190611961565b610734565b005b3480156100e757600080fd5b5061010260048036038101906100fd9190611859565b61078c565b60405161010f9190611d9e565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a919061180a565b610824565b60405161014c9190612049565b60405180910390f35b34801561016157600080fd5b5061017c600480360381019061017791906117ce565b610936565b6040516101899190611eef565b60405180910390f35b34801561019e57600080fd5b506101b960048036038101906101b49190611740565b6109b5565b005b3480156101c757600080fd5b506101e260048036038101906101dd91906116ee565b610c66565b005b3480156101f057600080fd5b5061020b60048036038101906102069190611961565b610d5f565b6040516102189190612049565b60405180910390f35b34801561022d57600080fd5b50610248600480360381019061024391906118a8565b610d9e565b005b34801561025657600080fd5b50610271600480360381019061026c9190611859565b610f1c565b005b600061027d610fe6565b90506001816000015414156102be576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181600001819055506000826000015111610306576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff1614806103755750600073ffffffffffffffffffffffffffffffffffffffff16826040015173ffffffffffffffffffffffffffffffffffffffff16145b806103b05750600073ffffffffffffffffffffffffffffffffffffffff16826080015173ffffffffffffffffffffffffffffffffffffffff16145b806103eb5750600073ffffffffffffffffffffffffffffffffffffffff168260a0015173ffffffffffffffffffffffffffffffffffffffff16145b15610422576040517f35be3ac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061042c611013565b905060006104508260000160149054906101000a900461ffff168560200151610936565b905060008161ffff161415610491576040517f7790ca9900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006104a585606001518660400151610936565b905060006104e0866060015187608001518660000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610824565b905060006104f18760000151610d5f565b905060008760a0015160405160200161050a9190611c9f565b6040516020818303038152906040529050600088608001516040516020016105329190611cd1565b604051602081830303815290604052905061057833308b600001518c6020015173ffffffffffffffffffffffffffffffffffffffff16611040909392919063ffffffff16565b6105cf8760000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168a600001518b6020015173ffffffffffffffffffffffffffffffffffffffff166110c99092919063ffffffff16565b8660000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fbf10fc858b606001518989338f600001518a604051806060016040528062030d408152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161069899989796959493929190611fa7565b6000604051808303818588803b1580156106b157600080fd5b505af11580156106c5573d6000803e3d6000fd5b50505050507f7a72e6f4a3d77f8a5a6c536a973421c5bf00107f9aec7995661537673b8be08789602001518a60400151338c608001518d600001518e6060015160405161071796959493929190611e1b565b60405180910390a150505050505050600081600001819055505050565b61073c611227565b6000610746611013565b90508181600201819055507f45934903f6b10aff9d3435b8362d284d95d14ca68e8554f05f04c7856a6003c0826040516107809190612049565b60405180910390a15050565b600080610797611013565b90508261ffff168160030160008761ffff1661ffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff1661ffff161461081757600061081a565b60015b9150509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a512369866001876040516020016108579190611c9f565b604051602081830303815290604052604051806060016040528062030d408152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152506040518563ffffffff1660e01b81526004016108d99493929190611f41565b604080518083038186803b1580156108f057600080fd5b505afa158015610904573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092891906119b3565b509050809150509392505050565b600080610941611013565b90508060030160008561ffff1661ffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff1691505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a1c576040517f35be3ac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a24611227565b6000610a2e611013565b9050828160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818160000160146101000a81548161ffff021916908361ffff16021790555060328160020181905550610abd600173a0b86991c6218b36c1d19d4a2e9eb0ce3606eb486001610f1c565b610ade600173dac17f958d2ee523a2206206994597c13d831ec76002610f1c565b610aff60027355d398326f99059ff775485246999027b31979556002610f1c565b610b20600273e9e7cea3dedca5984780bafc599bd69add087d566005610f1c565b610b41600673b97ef9ef8734c71904d8002f8b6bc66dd9c48a6e6001610f1c565b610b626006739702230a8ea53601f5cd2dc00fdbc13d4df4a8c76002610f1c565b610b836009732791bca1f2de4661ed88a30c99a7a9449aa841746001610f1c565b610ba4600973c2132d05d31c914a87c6611c10748aeb04b58e8f6002610f1c565b610bc5600a73ff970a61a04b1ca14834a43f5de4533ebddb5cc86001610f1c565b610be6600a73fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb96002610f1c565b610c07600b737f5c764cbc14f9669b88837ca1490cca17c316076001610f1c565b610c28600c7304068da6c83afcfa0e13ba15a6696662335d5b756001610f1c565b7fc8ec31998a27444f477c01de93c393769fd4fc017fb63163f71f8a8ab72ccd508383604051610c59929190611d4c565b60405180910390a1505050565b610c6e611227565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cd5576040517f3911c65500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610cdf611013565b9050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f9ac04272c4559bf7459414abb5568dc1df58ab649f0af4afd1510074f5cc2fec82604051610d539190611cd1565b60405180910390a15050565b600080610d6a611013565b90506127108160020154612710610d819190612199565b84610d8c919061213f565b610d96919061210e565b915050919050565b6000610da8611013565b90508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e33576040517fdade3c7100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190610e499190611717565b90508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82866040518363ffffffff1660e01b8152600401610e86929190611d75565b602060405180830381600087803b158015610ea057600080fd5b505af1158015610eb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed8919061177c565b507f827e3293895509ef037b7438d4e009f37ad7b2562a14695d9dfd9cb0659842188585604051610f0a929190611d75565b60405180910390a15050505050505050565b610f24611227565b6000610f2e611013565b9050818160030160008661ffff1661ffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f85adba3a23dc45072c12199244adfbf4c1d736a46ac453eb732f4e5158af5867848484604051610fd893929190611f0a565b60405180910390a150505050565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6110c3846323b872dd60e01b85858560405160240161106193929190611d15565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506112c2565b50505050565b6000811480611162575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401611110929190611cec565b60206040518083038186803b15801561112857600080fd5b505afa15801561113c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611160919061198a565b145b6111a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119890611ecf565b60405180910390fd5b6112228363095ea7b360e01b84846040516024016111c0929190611d75565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506112c2565b505050565b61122f611389565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b790611ddb565b60405180910390fd5b565b6000611324826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166113b69092919063ffffffff16565b90506000815111156113845780806020019051810190611344919061177c565b611383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137a90611eaf565b60405180910390fd5b5b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60606113c584846000856113ce565b90509392505050565b606082471015611413576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140a90611dfb565b60405180910390fd5b61141c856114e2565b61145b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145290611e8f565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516114849190611cba565b60006040518083038185875af1925050503d80600081146114c1576040519150601f19603f3d011682016040523d82523d6000602084013e6114c6565b606091505b50915091506114d6828286611505565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060831561151557829050611565565b6000835111156115285782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155c9190611db9565b60405180910390fd5b9392505050565b600061157f61157a84612089565b612064565b90508281526020810184848401111561159757600080fd5b6115a2848285612266565b509392505050565b6000813590506115b98161255f565b92915050565b6000815190506115ce81612576565b92915050565b6000815190506115e38161258d565b92915050565b600082601f8301126115fa57600080fd5b813561160a84826020860161156c565b91505092915050565b600060c0828403121561162557600080fd5b61162f60c0612064565b9050600061163f848285016116c4565b6000830152506020611653848285016115aa565b6020830152506040611667848285016115aa565b604083015250606061167b848285016116af565b606083015250608061168f848285016115aa565b60808301525060a06116a3848285016115aa565b60a08301525092915050565b6000813590506116be816125a4565b92915050565b6000813590506116d3816125bb565b92915050565b6000815190506116e8816125bb565b92915050565b60006020828403121561170057600080fd5b600061170e848285016115aa565b91505092915050565b60006020828403121561172957600080fd5b6000611737848285016115bf565b91505092915050565b6000806040838503121561175357600080fd5b6000611761858286016115aa565b9250506020611772858286016116af565b9150509250929050565b60006020828403121561178e57600080fd5b600061179c848285016115d4565b91505092915050565b600060c082840312156117b757600080fd5b60006117c584828501611613565b91505092915050565b600080604083850312156117e157600080fd5b60006117ef858286016116af565b9250506020611800858286016115aa565b9150509250929050565b60008060006060848603121561181f57600080fd5b600061182d868287016116af565b935050602061183e868287016115aa565b925050604061184f868287016115aa565b9150509250925092565b60008060006060848603121561186e57600080fd5b600061187c868287016116af565b935050602061188d868287016115aa565b925050604061189e868287016116af565b9150509250925092565b60008060008060008060c087890312156118c157600080fd5b60006118cf89828a016116af565b965050602087013567ffffffffffffffff8111156118ec57600080fd5b6118f889828a016115e9565b955050604061190989828a016116c4565b945050606061191a89828a016115aa565b935050608061192b89828a016116c4565b92505060a087013567ffffffffffffffff81111561194857600080fd5b61195489828a016115e9565b9150509295509295509295565b60006020828403121561197357600080fd5b6000611981848285016116c4565b91505092915050565b60006020828403121561199c57600080fd5b60006119aa848285016116d9565b91505092915050565b600080604083850312156119c657600080fd5b60006119d4858286016116d9565b92505060206119e5858286016116d9565b9150509250929050565b6119f8816121df565b82525050565b611a07816121cd565b82525050565b611a1e611a19826121cd565b6122d9565b82525050565b611a2d816121f1565b82525050565b6000611a3e826120ba565b611a4881856120d0565b9350611a58818560208601612275565b611a618161238a565b840191505092915050565b6000611a77826120ba565b611a8181856120e1565b9350611a91818560208601612275565b611a9a8161238a565b840191505092915050565b6000611ab0826120ba565b611aba81856120f2565b9350611aca818560208601612275565b80840191505092915050565b611adf81612242565b82525050565b6000611af0826120c5565b611afa81856120fd565b9350611b0a818560208601612275565b611b138161238a565b840191505092915050565b6000611b2b6022836120fd565b9150611b36826123a8565b604082019050919050565b6000611b4e6002836120e1565b9150611b59826123f7565b602082019050919050565b6000611b716026836120fd565b9150611b7c82612420565b604082019050919050565b6000611b946008836120fd565b9150611b9f8261246f565b602082019050919050565b6000611bb7601d836120fd565b9150611bc282612498565b602082019050919050565b6000611bda602a836120fd565b9150611be5826124c1565b604082019050919050565b6000611bfd6036836120fd565b9150611c0882612510565b604082019050919050565b6000606083016000830151611c2b6000860182611c81565b506020830151611c3e6020860182611c81565b5060408301518482036040860152611c568282611a33565b9150508091505092915050565b611c6c816121fd565b82525050565b611c7b81612254565b82525050565b611c8a8161222b565b82525050565b611c998161222b565b82525050565b6000611cab8284611a0d565b60148201915081905092915050565b6000611cc68284611aa5565b915081905092915050565b6000602082019050611ce660008301846119fe565b92915050565b6000604082019050611d0160008301856119fe565b611d0e60208301846119fe565b9392505050565b6000606082019050611d2a60008301866119fe565b611d3760208301856119fe565b611d446040830184611c90565b949350505050565b6000604082019050611d6160008301856119fe565b611d6e6020830184611c63565b9392505050565b6000604082019050611d8a60008301856119fe565b611d976020830184611c90565b9392505050565b6000602082019050611db36000830184611a24565b92915050565b60006020820190508181036000830152611dd38184611ae5565b905092915050565b60006020820190508181036000830152611df481611b1e565b9050919050565b60006020820190508181036000830152611e1481611b64565b9050919050565b600060e0820190508181036000830152611e3481611b87565b9050611e4360208301896119fe565b611e5060408301886119fe565b611e5d60608301876119fe565b611e6a60808301866119fe565b611e7760a0830185611c90565b611e8460c0830184611c63565b979650505050505050565b60006020820190508181036000830152611ea881611baa565b9050919050565b60006020820190508181036000830152611ec881611bcd565b9050919050565b60006020820190508181036000830152611ee881611bf0565b9050919050565b6000602082019050611f046000830184611c63565b92915050565b6000606082019050611f1f6000830186611c63565b611f2c60208301856119fe565b611f396040830184611c63565b949350505050565b600060a082019050611f566000830187611c63565b611f636020830186611ad6565b8181036040830152611f758185611a6c565b90508181036060830152611f8881611b41565b90508181036080830152611f9c8184611c13565b905095945050505050565b600061012082019050611fbd600083018c611c63565b611fca602083018b611c72565b611fd7604083018a611c72565b611fe460608301896119ef565b611ff16080830188611c90565b611ffe60a0830187611c90565b81810360c08301526120108186611c13565b905081810360e08301526120248185611a6c565b90508181036101008301526120398184611a6c565b90509a9950505050505050505050565b600060208201905061205e6000830184611c90565b92915050565b600061206e61207f565b905061207a82826122a8565b919050565b6000604051905090565b600067ffffffffffffffff8211156120a4576120a361235b565b5b6120ad8261238a565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006121198261222b565b91506121248361222b565b9250826121345761213361232c565b5b828204905092915050565b600061214a8261222b565b91506121558361222b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561218e5761218d6122fd565b5b828202905092915050565b60006121a48261222b565b91506121af8361222b565b9250828210156121c2576121c16122fd565b5b828203905092915050565b60006121d88261220b565b9050919050565b60006121ea8261220b565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061224d82612235565b9050919050565b600061225f826121fd565b9050919050565b82818337600083830152505050565b60005b83811015612293578082015181840152602081019050612278565b838111156122a2576000848401525b50505050565b6122b18261238a565b810181811067ffffffffffffffff821117156122d0576122cf61235b565b5b80604052505050565b60006122e4826122eb565b9050919050565b60006122f68261239b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f3078000000000000000000000000000000000000000000000000000000000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f7374617267617465000000000000000000000000000000000000000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b612568816121cd565b811461257357600080fd5b50565b61257f816121df565b811461258a57600080fd5b50565b612596816121f1565b81146125a157600080fd5b50565b6125ad816121fd565b81146125b857600080fd5b50565b6125c48161222b565b81146125cf57600080fd5b5056fea164736f6c6343000804000a", + "bytecode": "0x608060405234801561001057600080fd5b5061257a806100206000396000f3fe60806040526004361061004a5760003560e01c80632d64c4d61461004f578063a7e7ba7814610078578063ab8236f314610094578063ce36ebd3146100bd578063eff1bb1f146100d9575b600080fd5b34801561005b57600080fd5b506100766004803603810190610071919061139a565b610116565b005b610092600480360381019061008d919061143b565b6102b9565b005b3480156100a057600080fd5b506100bb60048036038101906100b691906114dd565b610692565b005b6100d760048036038101906100d29190611412565b61078c565b005b3480156100e557600080fd5b5061010060048036038101906100fb919061148e565b610aa7565b60405161010d9190611e49565b60405180910390f35b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156101805750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6101bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b690611c27565b60405180910390fd5b6101c7610ba4565b60006101d1610c3f565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818160010160146101000a81548161ffff021916908361ffff1602179055507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb8484846040516102ab93929190611a69565b60405180910390a150505050565b60006102c3610c6c565b9050600181600001541415610304576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060003411610351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034890611bc7565b60405180910390fd5b6000826000013511610398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038f90611c87565b60405180910390fd5b60006103a2610c99565b905060006103d58460400160208101906103bc9190611465565b8560a00160208101906103cf9190611348565b84610aa7565b905060006127108560c00160208101906103ef9190611465565b6127106103fc9190611f99565b61ffff16866000013561040f9190611f3f565b6104199190611f0e565b905060008560e0013560405160200161043291906119b7565b604051602081830303815290604052905060008660a00160208101906104589190611348565b60405160200161046891906119d2565b60405160208183030381529060405290506104bc333089600001358a60200160208101906104969190611348565b73ffffffffffffffffffffffffffffffffffffffff16610ccc909392919063ffffffff16565b6104fd8588600001358960200160208101906104d89190611348565b73ffffffffffffffffffffffffffffffffffffffff16610d559092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc8589604001602081019061052d9190611465565b8a60600160208101906105409190611465565b8b60800160208101906105539190611465565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b81526004016105d499989796959493929190611da7565b6000604051808303818588803b1580156105ed57600080fd5b505af1158015610601573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a86687602001602081019061063a9190611348565b338960a001602081019061064e9190611348565b8a600001358b60400160208101906106669190611465565b604051610677959493929190611a16565b60405180910390a15050505050600081600001819055505050565b61069a610c99565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fe90611c07565b60405180910390fd5b60008180602001905181019061071d9190611371565b905061074a81848673ffffffffffffffffffffffffffffffffffffffff16610eb39092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c848460405161077b929190611b1c565b60405180910390a150505050505050565b6000610796610c6c565b90506001816000015414156107d7576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060003411610824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081b90611ca7565b60405180910390fd5b600082600001351161086b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086290611c87565b60405180910390fd5b816000013534116108b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a890611be7565b60405180910390fd5b60006108bb610f39565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561092d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092490611b87565b60405180910390fd5b60008360400160208101906109429190611348565b6040516020016109529190611985565b6040516020818303038152906040529050600061271085606001602081019061097b9190611465565b6127106109889190611f99565b61ffff16866000013561099b9190611f3f565b6109a59190611f0e565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a348760200160208101906109d79190611465565b33868a60000135876040518763ffffffff1660e01b81526004016109ff959493929190611ce7565b6000604051808303818588803b158015610a1857600080fd5b505af1158015610a2c573d6000803e3d6000fd5b50505050507f080b5c39604783610b00b0195fe910d6da4148788b0ce0726bd8c6821227394733866040016020810190610a669190611348565b8760000135886020016020810190610a7e9190611465565b604051610a8e9493929190611ad7565b60405180910390a1505050600081600001819055505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236986600187604051602001610ada9190611985565b604051602081830303815290604052604051806060016040528062030d408152602001600081526020016000604051602001610b169190611985565b6040516020818303038152906040528152506040518563ffffffff1660e01b8152600401610b479493929190611d41565b604080518083038186803b158015610b5e57600080fd5b505afa158015610b72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9691906115bf565b509050809150509392505050565b610bac610f6c565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3490611b67565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000610ca3610c3f565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d4f846323b872dd60e01b858585604051602401610ced93929190611aa0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f99565b50505050565b6000811480610dee575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610d9c9291906119ed565b60206040518083038186803b158015610db457600080fd5b505afa158015610dc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dec9190611596565b145b610e2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2490611cc7565b60405180910390fd5b610eae8363095ea7b360e01b8484604051602401610e4c929190611b1c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f99565b505050565b610f348363a9059cbb60e01b8484604051602401610ed2929190611b1c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f99565b505050565b6000610f43610c3f565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610ffb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166110609092919063ffffffff16565b905060008151111561105b578080602001905181019061101b91906113e9565b61105a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105190611c67565b60405180910390fd5b5b505050565b606061106f8484600085611078565b90509392505050565b6060824710156110bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b490611ba7565b60405180910390fd5b6110c68561118c565b611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc90611c47565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161112e91906119a0565b60006040518083038185875af1925050503d806000811461116b576040519150601f19603f3d011682016040523d82523d6000602084013e611170565b606091505b50915091506111808282866111af565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606083156111bf5782905061120f565b6000835111156111d25782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112069190611b45565b60405180910390fd5b9392505050565b600061122961122484611e89565b611e64565b90508281526020810184848401111561124157600080fd5b61124c848285612078565b509392505050565b600081359050611263816124e3565b92915050565b600081519050611278816124fa565b92915050565b60008151905061128d81612511565b92915050565b600082601f8301126112a457600080fd5b81356112b4848260208601611216565b91505092915050565b6000813590506112cc81612528565b92915050565b6000608082840312156112e457600080fd5b81905092915050565b6000610100828403121561130057600080fd5b81905092915050565b6000813590506113188161253f565b92915050565b60008135905061132d81612556565b92915050565b60008151905061134281612556565b92915050565b60006020828403121561135a57600080fd5b600061136884828501611254565b91505092915050565b60006020828403121561138357600080fd5b600061139184828501611269565b91505092915050565b6000806000606084860312156113af57600080fd5b60006113bd86828701611254565b93505060206113ce86828701611254565b92505060406113df86828701611309565b9150509250925092565b6000602082840312156113fb57600080fd5b60006114098482850161127e565b91505092915050565b60006080828403121561142457600080fd5b6000611432848285016112d2565b91505092915050565b6000610100828403121561144e57600080fd5b600061145c848285016112ed565b91505092915050565b60006020828403121561147757600080fd5b600061148584828501611309565b91505092915050565b6000806000606084860312156114a357600080fd5b60006114b186828701611309565b93505060206114c286828701611254565b92505060406114d3868287016112bd565b9150509250925092565b60008060008060008060c087890312156114f657600080fd5b600061150489828a01611309565b965050602087013567ffffffffffffffff81111561152157600080fd5b61152d89828a01611293565b955050604061153e89828a0161131e565b945050606061154f89828a01611254565b935050608061156089828a0161131e565b92505060a087013567ffffffffffffffff81111561157d57600080fd5b61158989828a01611293565b9150509295509295509295565b6000602082840312156115a857600080fd5b60006115b684828501611333565b91505092915050565b600080604083850312156115d257600080fd5b60006115e085828601611333565b92505060206115f185828601611333565b9150509250929050565b61160481611fdf565b82525050565b61161381611fcd565b82525050565b61162a61162582611fcd565b6120eb565b82525050565b600061163b82611eba565b6116458185611ed0565b9350611655818560208601612087565b61165e816121a6565b840191505092915050565b600061167482611eba565b61167e8185611ee1565b935061168e818560208601612087565b611697816121a6565b840191505092915050565b60006116ad82611eba565b6116b78185611ef2565b93506116c7818560208601612087565b80840191505092915050565b6116dc81612054565b82525050565b60006116ed82611ec5565b6116f78185611efd565b9350611707818560208601612087565b611710816121a6565b840191505092915050565b6000611728602283611efd565b9150611733826121c4565b604082019050919050565b600061174b602583611efd565b915061175682612213565b604082019050919050565b600061176e600283611ee1565b915061177982612262565b602082019050919050565b6000611791602683611efd565b915061179c8261228b565b604082019050919050565b60006117b4602c83611efd565b91506117bf826122da565b604082019050919050565b60006117d7602883611efd565b91506117e282612329565b604082019050919050565b60006117fa601f83611efd565b915061180582612378565b602082019050919050565b600061181d601a83611efd565b9150611828826123a1565b602082019050919050565b6000611840601d83611efd565b915061184b826123ca565b602082019050919050565b6000611863602a83611efd565b915061186e826123f3565b604082019050919050565b6000611886601b83611efd565b915061189182612442565b602082019050919050565b60006118a9601d83611efd565b91506118b48261246b565b602082019050919050565b60006118cc603683611efd565b91506118d782612494565b604082019050919050565b60006060830160008301516118fa6000860182611950565b50602083015161190d6020860182611950565b50604083015184820360408601526119258282611630565b9150508091505092915050565b61193b8161200f565b82525050565b61194a81612066565b82525050565b6119598161203d565b82525050565b6119688161203d565b82525050565b61197f61197a8261203d565b61210f565b82525050565b60006119918284611619565b60148201915081905092915050565b60006119ac82846116a2565b915081905092915050565b60006119c3828461196e565b60208201915081905092915050565b60006020820190506119e7600083018461160a565b92915050565b6000604082019050611a02600083018561160a565b611a0f602083018461160a565b9392505050565b600060a082019050611a2b600083018861160a565b611a38602083018761160a565b611a45604083018661160a565b611a52606083018561195f565b611a5f6080830184611932565b9695505050505050565b6000606082019050611a7e600083018661160a565b611a8b602083018561160a565b611a986040830184611932565b949350505050565b6000606082019050611ab5600083018661160a565b611ac2602083018561160a565b611acf604083018461195f565b949350505050565b6000608082019050611aec600083018761160a565b611af9602083018661160a565b611b06604083018561195f565b611b136060830184611932565b95945050505050565b6000604082019050611b31600083018561160a565b611b3e602083018461195f565b9392505050565b60006020820190508181036000830152611b5f81846116e2565b905092915050565b60006020820190508181036000830152611b808161171b565b9050919050565b60006020820190508181036000830152611ba08161173e565b9050919050565b60006020820190508181036000830152611bc081611784565b9050919050565b60006020820190508181036000830152611be0816117a7565b9050919050565b60006020820190508181036000830152611c00816117ca565b9050919050565b60006020820190508181036000830152611c20816117ed565b9050919050565b60006020820190508181036000830152611c4081611810565b9050919050565b60006020820190508181036000830152611c6081611833565b9050919050565b60006020820190508181036000830152611c8081611856565b9050919050565b60006020820190508181036000830152611ca081611879565b9050919050565b60006020820190508181036000830152611cc08161189c565b9050919050565b60006020820190508181036000830152611ce0816118bf565b9050919050565b600060a082019050611cfc6000830188611932565b611d0960208301876115fb565b8181036040830152611d1b8186611669565b9050611d2a606083018561195f565b611d37608083018461195f565b9695505050505050565b600060a082019050611d566000830187611932565b611d6360208301866116d3565b8181036040830152611d758185611669565b90508181036060830152611d8881611761565b90508181036080830152611d9c81846118e2565b905095945050505050565b600061012082019050611dbd600083018c611932565b611dca602083018b611941565b611dd7604083018a611941565b611de460608301896115fb565b611df1608083018861195f565b611dfe60a083018761195f565b81810360c0830152611e1081866118e2565b905081810360e0830152611e248185611669565b9050818103610100830152611e398184611669565b90509a9950505050505050505050565b6000602082019050611e5e600083018461195f565b92915050565b6000611e6e611e7f565b9050611e7a82826120ba565b919050565b6000604051905090565b600067ffffffffffffffff821115611ea457611ea3612177565b5b611ead826121a6565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000611f198261203d565b9150611f248361203d565b925082611f3457611f33612148565b5b828204905092915050565b6000611f4a8261203d565b9150611f558361203d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611f8e57611f8d612119565b5b828202905092915050565b6000611fa48261200f565b9150611faf8361200f565b925082821015611fc257611fc1612119565b5b828203905092915050565b6000611fd88261201d565b9050919050565b6000611fea8261201d565b9050919050565b60008115159050919050565b600061200882611fcd565b9050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061205f82612047565b9050919050565b60006120718261200f565b9050919050565b82818337600083830152505050565b60005b838110156120a557808201518184015260208101905061208a565b838111156120b4576000848401525b50505050565b6120c3826121a6565b810181811067ffffffffffffffff821117156120e2576120e1612177565b5b80604052505050565b60006120f6826120fd565b9050919050565b6000612108826121b7565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b7f3078000000000000000000000000000000000000000000000000000000000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f53746172676174653a3a20696e76616c69642061646472657373000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b6124ec81611fcd565b81146124f757600080fd5b50565b61250381611fdf565b811461250e57600080fd5b50565b61251a81611ff1565b811461252557600080fd5b50565b61253181611ffd565b811461253c57600080fd5b50565b6125488161200f565b811461255357600080fd5b50565b61255f8161203d565b811461256a57600080fd5b5056fea164736f6c6343000804000a", + "deployedBytecode": "0x60806040526004361061004a5760003560e01c80632d64c4d61461004f578063a7e7ba7814610078578063ab8236f314610094578063ce36ebd3146100bd578063eff1bb1f146100d9575b600080fd5b34801561005b57600080fd5b506100766004803603810190610071919061139a565b610116565b005b610092600480360381019061008d919061143b565b6102b9565b005b3480156100a057600080fd5b506100bb60048036038101906100b691906114dd565b610692565b005b6100d760048036038101906100d29190611412565b61078c565b005b3480156100e557600080fd5b5061010060048036038101906100fb919061148e565b610aa7565b60405161010d9190611e49565b60405180910390f35b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156101805750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6101bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b690611c27565b60405180910390fd5b6101c7610ba4565b60006101d1610c3f565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818160010160146101000a81548161ffff021916908361ffff1602179055507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb8484846040516102ab93929190611a69565b60405180910390a150505050565b60006102c3610c6c565b9050600181600001541415610304576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060003411610351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034890611bc7565b60405180910390fd5b6000826000013511610398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038f90611c87565b60405180910390fd5b60006103a2610c99565b905060006103d58460400160208101906103bc9190611465565b8560a00160208101906103cf9190611348565b84610aa7565b905060006127108560c00160208101906103ef9190611465565b6127106103fc9190611f99565b61ffff16866000013561040f9190611f3f565b6104199190611f0e565b905060008560e0013560405160200161043291906119b7565b604051602081830303815290604052905060008660a00160208101906104589190611348565b60405160200161046891906119d2565b60405160208183030381529060405290506104bc333089600001358a60200160208101906104969190611348565b73ffffffffffffffffffffffffffffffffffffffff16610ccc909392919063ffffffff16565b6104fd8588600001358960200160208101906104d89190611348565b73ffffffffffffffffffffffffffffffffffffffff16610d559092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc8589604001602081019061052d9190611465565b8a60600160208101906105409190611465565b8b60800160208101906105539190611465565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b81526004016105d499989796959493929190611da7565b6000604051808303818588803b1580156105ed57600080fd5b505af1158015610601573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a86687602001602081019061063a9190611348565b338960a001602081019061064e9190611348565b8a600001358b60400160208101906106669190611465565b604051610677959493929190611a16565b60405180910390a15050505050600081600001819055505050565b61069a610c99565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fe90611c07565b60405180910390fd5b60008180602001905181019061071d9190611371565b905061074a81848673ffffffffffffffffffffffffffffffffffffffff16610eb39092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c848460405161077b929190611b1c565b60405180910390a150505050505050565b6000610796610c6c565b90506001816000015414156107d7576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060003411610824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081b90611ca7565b60405180910390fd5b600082600001351161086b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086290611c87565b60405180910390fd5b816000013534116108b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a890611be7565b60405180910390fd5b60006108bb610f39565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561092d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092490611b87565b60405180910390fd5b60008360400160208101906109429190611348565b6040516020016109529190611985565b6040516020818303038152906040529050600061271085606001602081019061097b9190611465565b6127106109889190611f99565b61ffff16866000013561099b9190611f3f565b6109a59190611f0e565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a348760200160208101906109d79190611465565b33868a60000135876040518763ffffffff1660e01b81526004016109ff959493929190611ce7565b6000604051808303818588803b158015610a1857600080fd5b505af1158015610a2c573d6000803e3d6000fd5b50505050507f080b5c39604783610b00b0195fe910d6da4148788b0ce0726bd8c6821227394733866040016020810190610a669190611348565b8760000135886020016020810190610a7e9190611465565b604051610a8e9493929190611ad7565b60405180910390a1505050600081600001819055505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236986600187604051602001610ada9190611985565b604051602081830303815290604052604051806060016040528062030d408152602001600081526020016000604051602001610b169190611985565b6040516020818303038152906040528152506040518563ffffffff1660e01b8152600401610b479493929190611d41565b604080518083038186803b158015610b5e57600080fd5b505afa158015610b72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9691906115bf565b509050809150509392505050565b610bac610f6c565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3490611b67565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000610ca3610c3f565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d4f846323b872dd60e01b858585604051602401610ced93929190611aa0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f99565b50505050565b6000811480610dee575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610d9c9291906119ed565b60206040518083038186803b158015610db457600080fd5b505afa158015610dc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dec9190611596565b145b610e2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2490611cc7565b60405180910390fd5b610eae8363095ea7b360e01b8484604051602401610e4c929190611b1c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f99565b505050565b610f348363a9059cbb60e01b8484604051602401610ed2929190611b1c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f99565b505050565b6000610f43610c3f565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610ffb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166110609092919063ffffffff16565b905060008151111561105b578080602001905181019061101b91906113e9565b61105a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105190611c67565b60405180910390fd5b5b505050565b606061106f8484600085611078565b90509392505050565b6060824710156110bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b490611ba7565b60405180910390fd5b6110c68561118c565b611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc90611c47565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161112e91906119a0565b60006040518083038185875af1925050503d806000811461116b576040519150601f19603f3d011682016040523d82523d6000602084013e611170565b606091505b50915091506111808282866111af565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606083156111bf5782905061120f565b6000835111156111d25782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112069190611b45565b60405180910390fd5b9392505050565b600061122961122484611e89565b611e64565b90508281526020810184848401111561124157600080fd5b61124c848285612078565b509392505050565b600081359050611263816124e3565b92915050565b600081519050611278816124fa565b92915050565b60008151905061128d81612511565b92915050565b600082601f8301126112a457600080fd5b81356112b4848260208601611216565b91505092915050565b6000813590506112cc81612528565b92915050565b6000608082840312156112e457600080fd5b81905092915050565b6000610100828403121561130057600080fd5b81905092915050565b6000813590506113188161253f565b92915050565b60008135905061132d81612556565b92915050565b60008151905061134281612556565b92915050565b60006020828403121561135a57600080fd5b600061136884828501611254565b91505092915050565b60006020828403121561138357600080fd5b600061139184828501611269565b91505092915050565b6000806000606084860312156113af57600080fd5b60006113bd86828701611254565b93505060206113ce86828701611254565b92505060406113df86828701611309565b9150509250925092565b6000602082840312156113fb57600080fd5b60006114098482850161127e565b91505092915050565b60006080828403121561142457600080fd5b6000611432848285016112d2565b91505092915050565b6000610100828403121561144e57600080fd5b600061145c848285016112ed565b91505092915050565b60006020828403121561147757600080fd5b600061148584828501611309565b91505092915050565b6000806000606084860312156114a357600080fd5b60006114b186828701611309565b93505060206114c286828701611254565b92505060406114d3868287016112bd565b9150509250925092565b60008060008060008060c087890312156114f657600080fd5b600061150489828a01611309565b965050602087013567ffffffffffffffff81111561152157600080fd5b61152d89828a01611293565b955050604061153e89828a0161131e565b945050606061154f89828a01611254565b935050608061156089828a0161131e565b92505060a087013567ffffffffffffffff81111561157d57600080fd5b61158989828a01611293565b9150509295509295509295565b6000602082840312156115a857600080fd5b60006115b684828501611333565b91505092915050565b600080604083850312156115d257600080fd5b60006115e085828601611333565b92505060206115f185828601611333565b9150509250929050565b61160481611fdf565b82525050565b61161381611fcd565b82525050565b61162a61162582611fcd565b6120eb565b82525050565b600061163b82611eba565b6116458185611ed0565b9350611655818560208601612087565b61165e816121a6565b840191505092915050565b600061167482611eba565b61167e8185611ee1565b935061168e818560208601612087565b611697816121a6565b840191505092915050565b60006116ad82611eba565b6116b78185611ef2565b93506116c7818560208601612087565b80840191505092915050565b6116dc81612054565b82525050565b60006116ed82611ec5565b6116f78185611efd565b9350611707818560208601612087565b611710816121a6565b840191505092915050565b6000611728602283611efd565b9150611733826121c4565b604082019050919050565b600061174b602583611efd565b915061175682612213565b604082019050919050565b600061176e600283611ee1565b915061177982612262565b602082019050919050565b6000611791602683611efd565b915061179c8261228b565b604082019050919050565b60006117b4602c83611efd565b91506117bf826122da565b604082019050919050565b60006117d7602883611efd565b91506117e282612329565b604082019050919050565b60006117fa601f83611efd565b915061180582612378565b602082019050919050565b600061181d601a83611efd565b9150611828826123a1565b602082019050919050565b6000611840601d83611efd565b915061184b826123ca565b602082019050919050565b6000611863602a83611efd565b915061186e826123f3565b604082019050919050565b6000611886601b83611efd565b915061189182612442565b602082019050919050565b60006118a9601d83611efd565b91506118b48261246b565b602082019050919050565b60006118cc603683611efd565b91506118d782612494565b604082019050919050565b60006060830160008301516118fa6000860182611950565b50602083015161190d6020860182611950565b50604083015184820360408601526119258282611630565b9150508091505092915050565b61193b8161200f565b82525050565b61194a81612066565b82525050565b6119598161203d565b82525050565b6119688161203d565b82525050565b61197f61197a8261203d565b61210f565b82525050565b60006119918284611619565b60148201915081905092915050565b60006119ac82846116a2565b915081905092915050565b60006119c3828461196e565b60208201915081905092915050565b60006020820190506119e7600083018461160a565b92915050565b6000604082019050611a02600083018561160a565b611a0f602083018461160a565b9392505050565b600060a082019050611a2b600083018861160a565b611a38602083018761160a565b611a45604083018661160a565b611a52606083018561195f565b611a5f6080830184611932565b9695505050505050565b6000606082019050611a7e600083018661160a565b611a8b602083018561160a565b611a986040830184611932565b949350505050565b6000606082019050611ab5600083018661160a565b611ac2602083018561160a565b611acf604083018461195f565b949350505050565b6000608082019050611aec600083018761160a565b611af9602083018661160a565b611b06604083018561195f565b611b136060830184611932565b95945050505050565b6000604082019050611b31600083018561160a565b611b3e602083018461195f565b9392505050565b60006020820190508181036000830152611b5f81846116e2565b905092915050565b60006020820190508181036000830152611b808161171b565b9050919050565b60006020820190508181036000830152611ba08161173e565b9050919050565b60006020820190508181036000830152611bc081611784565b9050919050565b60006020820190508181036000830152611be0816117a7565b9050919050565b60006020820190508181036000830152611c00816117ca565b9050919050565b60006020820190508181036000830152611c20816117ed565b9050919050565b60006020820190508181036000830152611c4081611810565b9050919050565b60006020820190508181036000830152611c6081611833565b9050919050565b60006020820190508181036000830152611c8081611856565b9050919050565b60006020820190508181036000830152611ca081611879565b9050919050565b60006020820190508181036000830152611cc08161189c565b9050919050565b60006020820190508181036000830152611ce0816118bf565b9050919050565b600060a082019050611cfc6000830188611932565b611d0960208301876115fb565b8181036040830152611d1b8186611669565b9050611d2a606083018561195f565b611d37608083018461195f565b9695505050505050565b600060a082019050611d566000830187611932565b611d6360208301866116d3565b8181036040830152611d758185611669565b90508181036060830152611d8881611761565b90508181036080830152611d9c81846118e2565b905095945050505050565b600061012082019050611dbd600083018c611932565b611dca602083018b611941565b611dd7604083018a611941565b611de460608301896115fb565b611df1608083018861195f565b611dfe60a083018761195f565b81810360c0830152611e1081866118e2565b905081810360e0830152611e248185611669565b9050818103610100830152611e398184611669565b90509a9950505050505050505050565b6000602082019050611e5e600083018461195f565b92915050565b6000611e6e611e7f565b9050611e7a82826120ba565b919050565b6000604051905090565b600067ffffffffffffffff821115611ea457611ea3612177565b5b611ead826121a6565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000611f198261203d565b9150611f248361203d565b925082611f3457611f33612148565b5b828204905092915050565b6000611f4a8261203d565b9150611f558361203d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611f8e57611f8d612119565b5b828202905092915050565b6000611fa48261200f565b9150611faf8361200f565b925082821015611fc257611fc1612119565b5b828203905092915050565b6000611fd88261201d565b9050919050565b6000611fea8261201d565b9050919050565b60008115159050919050565b600061200882611fcd565b9050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061205f82612047565b9050919050565b60006120718261200f565b9050919050565b82818337600083830152505050565b60005b838110156120a557808201518184015260208101905061208a565b838111156120b4576000848401525b50505050565b6120c3826121a6565b810181811067ffffffffffffffff821117156120e2576120e1612177565b5b80604052505050565b60006120f6826120fd565b9050919050565b6000612108826121b7565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b7f3078000000000000000000000000000000000000000000000000000000000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f53746172676174653a3a20696e76616c69642061646472657373000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b6124ec81611fcd565b81146124f757600080fd5b50565b61250381611fdf565b811461250e57600080fd5b50565b61251a81611ff1565b811461252557600080fd5b50565b61253181611ffd565b811461253c57600080fd5b50565b6125488161200f565b811461255357600080fd5b50565b61255f8161203d565b811461256a57600080fd5b5056fea164736f6c6343000804000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/config/stargate.ts b/config/stargate.ts index f4271609..a788b058 100644 --- a/config/stargate.ts +++ b/config/stargate.ts @@ -3,7 +3,9 @@ import { NetworkNames } from "../extensions/constants"; interface StargateConfig { [key: string]: { stargateRouter: string; + stargateETHRouter: string; // address(0) = no ETH router on that chain chainId: number; + lzChainId: number; }; } @@ -11,56 +13,94 @@ const config: StargateConfig = { // leave StargateConfig as '' if you want to deploy a router with deployments [NetworkNames.Mainnet]: { stargateRouter: "0x8731d54E9D02c286767d56ac03e8037C07e01e98", + stargateETHRouter: "0x150f94B44927F078737562f0fcF3C95c01Cc2376", chainId: 1, + lzChainId: 101, }, [NetworkNames.Optimism]: { stargateRouter: "0xB0D502E938ed5f4df2E681fE6E419ff29631d62b", + stargateETHRouter: "0xB49c4e680174E331CB0A7fF3Ab58afC9738d5F8b", chainId: 10, + lzChainId: 111, }, [NetworkNames.Bsc]: { stargateRouter: "0x4a364f8c717cAAD9A442737Eb7b8A55cc6cf18D8", + stargateETHRouter: "0x0000000000000000000000000000000000000000", chainId: 56, + lzChainId: 102, }, [NetworkNames.Matic]: { stargateRouter: "0x45A01E4e04F14f7A4a6702c74187c5F6222033cd", + stargateETHRouter: "0x0000000000000000000000000000000000000000", chainId: 137, + lzChainId: 109, }, [NetworkNames.Fantom]: { stargateRouter: "0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6", + stargateETHRouter: "0x0000000000000000000000000000000000000000", chainId: 250, + lzChainId: 112, }, [NetworkNames.Arbitrum]: { stargateRouter: "0x53Bf833A5d6c4ddA888F69c22C88C9f356a41614", + stargateETHRouter: "0xbf22f0f184bCcbeA268dF387a49fF5238dD23E40", chainId: 42161, + lzChainId: 110, }, [NetworkNames.Avalanche]: { stargateRouter: "0x45A01E4e04F14f7A4a6702c74187c5F6222033cd", + stargateETHRouter: "0x0000000000000000000000000000000000000000", chainId: 43114, + lzChainId: 106, }, // TESTNETS - [NetworkNames.Rinkeby]: { - stargateRouter: "0x82A0F5F531F9ce0df1DF5619f74a0d3fA31FF561", - chainId: 10001, + [NetworkNames.Goerli]: { + stargateRouter: "0x7612aE2a34E5A363E137De748801FB4c86499152", + stargateETHRouter: "0xb1b2eeF380f21747944f46d28f683cD1FBB4d03c", + chainId: 5, + lzChainId: 10121, }, [NetworkNames.BscTest]: { stargateRouter: "0xbB0f1be1E9CE9cB27EA5b0c3a85B7cc3381d8176", - chainId: 10002, + stargateETHRouter: "0x0000000000000000000000000000000000000000", + chainId: 97, + lzChainId: 10102, }, [NetworkNames.Fuji]: { stargateRouter: "0x13093E05Eb890dfA6DacecBdE51d24DabAb2Faa1", - chainId: 10006, + stargateETHRouter: "0x0000000000000000000000000000000000000000", + chainId: 43113, + lzChainId: 10106, }, [NetworkNames.Mumbai]: { stargateRouter: "0x817436a076060D158204d955E5403b6Ed0A5fac0", - chainId: 10009, + stargateETHRouter: "0x0000000000000000000000000000000000000000", + chainId: 80001, + lzChainId: 10109, }, - [NetworkNames.OptimismKovan]: { - stargateRouter: "0xCC68641528B948642bDE1729805d6cf1DECB0B00", - chainId: 10011, + [NetworkNames.ArbitrumNitro]: { + stargateRouter: "0xb850873f4c993Ac2405A1AdD71F6ca5D4d4d6b4f", + stargateETHRouter: "0xb1b2eeF380f21747944f46d28f683cD1FBB4d03c", + chainId: 421613, + lzChainId: 10143, + }, + [NetworkNames.OptimismGoerli]: { + stargateRouter: "0x95461eF0e0ecabC049a5c4a6B98Ca7B335FAF068", + stargateETHRouter: "0xb1b2eeF380f21747944f46d28f683cD1FBB4d03c", + chainId: 420, + lzChainId: 10132, }, [NetworkNames.FantomTest]: { stargateRouter: "0xa73b0a56B29aD790595763e71505FCa2c1abb77f", - chainId: 10012, + stargateETHRouter: "0x0000000000000000000000000000000000000000", + chainId: 4002, + lzChainId: 10112, + }, + [NetworkNames.BaseGoerli]: { + stargateRouter: "0x631774c0B3FDB9502b3093a22aD91FA83fEc493e", + stargateETHRouter: "0x0000000000000000000000000000000000000000", + chainId: 84531, + lzChainId: 10158, }, }; diff --git a/src/bridges/errors/StargateErrors.sol b/src/bridges/errors/StargateErrors.sol deleted file mode 100644 index c90b409b..00000000 --- a/src/bridges/errors/StargateErrors.sol +++ /dev/null @@ -1,9 +0,0 @@ -// SPDX-License-Identifier: MIT -// solhint-disable-next-line -pragma solidity 0.8.4; - -error SenderNotStargateRouter(); -error NoMsgValueForCrossChainMessage(); -error StargateRouterAddressZero(); -error InvalidSourcePoolId(); -error InvalidDestinationPoolId(); diff --git a/src/bridges/facets/StargateFacet.sol b/src/bridges/facets/StargateFacet.sol index a052b73b..0d7b263c 100644 --- a/src/bridges/facets/StargateFacet.sol +++ b/src/bridges/facets/StargateFacet.sol @@ -1,289 +1,303 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.4; -import {IStargateRouter} from "../interfaces/IStargateRouter.sol"; -import {IStargateReceiver} from "../interfaces/IStargateReceiver.sol"; +import {IStargateRouter} from "../interfaces/stargate/IStargateRouter.sol"; +import {IStargateRouterETH} from "../interfaces/stargate/IStargateRouterETH.sol"; +import {IStargateReceiver} from "../interfaces/stargate/IStargateReceiver.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; import {ReentrancyGuard} from "../../common/helpers/DiamondReentrancyGuard.sol"; -import {CannotBridgeToSameNetwork, InvalidAmount, InvalidConfig} from "../errors/GenericErrors.sol"; -import {SenderNotStargateRouter, NoMsgValueForCrossChainMessage, StargateRouterAddressZero, InvalidSourcePoolId, InvalidDestinationPoolId} from "../errors/StargateErrors.sol"; import {LibDiamond} from "../libs/LibDiamond.sol"; -/// @title StargateFacet -/// @author Luke Wickens -/// @notice Stargate/LayerZero intergration for bridging tokens +/** + * @title StargateFacet + * + * @notice Stargate/LayerZero intergration for bridging tokens + * + */ contract StargateFacet is IStargateReceiver, ReentrancyGuard { using SafeERC20 for IERC20; - ////////////////////////////////////////////////////////////// - /////////////////////////// Events /////////////////////////// - ////////////////////////////////////////////////////////////// - event SGInitialized(address stargate, uint16 chainId); - event SGTransferStarted( - string bridgeUsed, - address fromToken, - address toToken, - address from, - address to, - uint256 amount, - uint16 chainIdTo - ); - event SGReceivedOnDestination(address token, uint256 amount); - event SGUpdatedRouter(address newAddress); - event SGUpdatedSlippageTolerance(uint256 newSlippage); - event SGAddedPool(uint16 chainId, address token, uint16 poolId); - - ////////////////////////////////////////////////////////////// - ////////////////////////// Storage /////////////////////////// - ////////////////////////////////////////////////////////////// - + ///// STORAGE AND STRUCTS ///// bytes32 internal constant NAMESPACE = keccak256("io.etherspot.facets.stargate"); struct Storage { - address stargateRouter; + IStargateRouter stargateRouter; + IStargateRouterETH stargateETHRouter; uint16 chainId; - uint256 dstGas; - uint256 slippage; - mapping(uint16 => mapping(address => uint16)) poolIds; } - ////////////////////////////////////////////////////////////// - ////////////////////////// Structs /////////////////////////// - ////////////////////////////////////////////////////////////// - - struct StargateData { - uint256 qty; - address fromToken; - address toToken; + /** + * @notice token transfer data object + * @param amount - amount to swap + * @param bridgeToken - the address of the native ERC20 to swap() - *must* be the token for the poolId + * @param dstChainId - stargate/layerzero chainId + * @param srcPoolId - stargate poolId - *must* be the poolId for the qty asset + * @param dstPoolId - stargate destination poolId + * @param to - address to send the destination tokens to + * @param slippage - slippage tolerance on _qty (eg 50 == 0.5%) + * @param destStargateComposed - destination contract. it must implement sgReceive() + */ + struct StargateTransferData { + uint256 amount; + address bridgeToken; uint16 dstChainId; + uint16 srcPoolId; + uint16 dstPoolId; address to; - address destStargateComposed; + uint16 slippage; + uint256 destStargateComposed; } - /// @notice initializes state variables for the Stargate facet - /// @param _stargateRouter - address of the Stargate router contract - /// @param _chainId - current chain id - function sgInitialize(address _stargateRouter, uint16 _chainId) external { - if (_stargateRouter == address(0)) revert InvalidConfig(); - LibDiamond.enforceIsContractOwner(); - Storage storage s = getStorage(); - s.stargateRouter = address(_stargateRouter); - s.chainId = _chainId; - s.slippage = 50; // equates to 0.5% - // Adding pre-existing pools => USDC: 1, USDT: 2, BUSD: 5 - sgAddPool(1, 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, 1); - sgAddPool(1, 0xdAC17F958D2ee523a2206206994597C13D831ec7, 2); - sgAddPool(2, 0x55d398326f99059fF775485246999027B3197955, 2); - sgAddPool(2, 0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56, 5); - sgAddPool(6, 0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E, 1); - sgAddPool(6, 0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7, 2); - sgAddPool(9, 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174, 1); - sgAddPool(9, 0xc2132D05D31c914a87C6611C10748AEb04B58e8F, 2); - sgAddPool(10, 0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8, 1); - sgAddPool(10, 0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9, 2); - sgAddPool(11, 0x7F5c764cBc14f9669B88837ca1490cCa17c31607, 1); - sgAddPool(12, 0x04068DA6C83AFCFA0e13ba15A6696662335D5B75, 1); - emit SGInitialized(_stargateRouter, _chainId); + /** + * @notice ETH transfer data object + * @param amount - amount to swap + * @param dstChainId - stargate/layerzero chainId + * @param to - address to send the destination tokens to + * @param slippage - slippage tolerance on _qty (eg 50 == 0.5%) + */ + struct StargateETHTransferData { + uint256 amount; + uint16 dstChainId; + address to; + uint16 slippage; } - /// @notice initializes state variables for the stargate facet - /// @param _sgData - struct containing information required to execute bridge - function sgBridgeTokens(StargateData memory _sgData) - external - payable - nonReentrant - { - // if (msg.value <= 0) revert NoMsgValueForCrossChainMessage(); - if (_sgData.qty <= 0) revert InvalidAmount(); - if ( - _sgData.fromToken == address(0) || - _sgData.toToken == address(0) || - _sgData.to == address(0) || - _sgData.destStargateComposed == address(0) - ) revert InvalidConfig(); - - // access storage - Storage storage s = getStorage(); + ///// EVENTS ///// + /** + * @dev emitted when facet initializes + * @param stargateRouter stargate router address + * @param stargateETHRouter stargate ETH router address + * @param chainId chain id + */ + event StargateInitialized( + address stargateRouter, + address stargateETHRouter, + uint16 chainId + ); - // check pool ids are valid - uint16 srcPoolId = sgRetrievePoolId(s.chainId, _sgData.fromToken); - if (srcPoolId == 0) revert InvalidSourcePoolId(); - uint16 dstPoolId = sgRetrievePoolId( - _sgData.dstChainId, - _sgData.toToken - ); + /** + * @dev emitted on ERC20 token swap + * @param fromToken from token + * @param from from address + * @param to to address + * @param amount amount swapping + * @param chainIdTo receiving chain id + */ + event StargateTokenSwap( + address fromToken, + address from, + address to, + uint256 amount, + uint16 chainIdTo + ); - // calculate cross chain fees - uint256 fees = sgCalculateFees( - _sgData.dstChainId, - _sgData.to, - s.stargateRouter - ); + /** + * @dev emitted on ETH swap + * @param from from address + * @param to to address + * @param amount amount swapping + * @param chainIdTo receiving chain id + */ + event StargateETHTokenSwap( + address from, + address to, + uint256 amount, + uint16 chainIdTo + ); - // calculate slippage - uint256 minAmountOut = sgMinAmountOut(_sgData.qty); + /** + * @dev emitted when received on destination chain + * @param token token address + * @param amount amount swapping + */ + event StargateReceivedOnDestination(address token, uint256 amount); - // encode sgReceive implemented - bytes memory destination = abi.encodePacked( - _sgData.destStargateComposed + ///// INITIALIZE FACET ///// + /** + * @notice initializes state variables for the Stargate facet + * @param _stargateRouter - address of the Stargate router contract + * @param _stargateETHRouter - address of Stargate ETH router contract + * @param _chainId - current chain id + */ + function initStargate( + address _stargateRouter, + address _stargateETHRouter, + uint16 _chainId + ) external { + require( + _stargateRouter != address(0) && _stargateETHRouter != address(0), + "Stargate:: invalid address" ); + LibDiamond.enforceIsContractOwner(); + Storage storage s = getStorage(); + s.stargateRouter = IStargateRouter(_stargateRouter); + s.stargateETHRouter = IStargateRouterETH(_stargateETHRouter); + s.chainId = _chainId; + emit StargateInitialized(_stargateRouter, _stargateETHRouter, _chainId); + } + /** + * @notice initiates token bridge transfer + * @param _data StargateTransferData object + */ + function stargateTokenTransfer( + StargateTransferData calldata _data + ) external payable nonReentrant { + require(msg.value > 0, "Stargate:: msg.value required to pay message"); + require(_data.amount > 0, "Stargate:: invalid quantity"); + IStargateRouter router = getStargateRouter(); + // get stargate fees + uint256 fee = stargateFees(_data.dstChainId, _data.to, router); + // calc minimum amount out + uint256 minAmountOut = (_data.amount * (10000 - _data.slippage)) / + 10000; + // encode sgReceive implemented + bytes memory destination = abi.encodePacked(_data.destStargateComposed); // encode payload data to send to destination contract, which it will handle with sgReceive() - bytes memory payload = abi.encode(_sgData.to); - + bytes memory payload = abi.encode(_data.to); // this contract calls stargate swap() - IERC20(_sgData.fromToken).safeTransferFrom( + IERC20(_data.bridgeToken).safeTransferFrom( msg.sender, address(this), - _sgData.qty - ); - - IERC20(_sgData.fromToken).safeApprove( - address(s.stargateRouter), - _sgData.qty + _data.amount ); - + IERC20(_data.bridgeToken).safeApprove(address(router), _data.amount); // Stargate's Router.swap() function sends the tokens to the destination chain. - IStargateRouter(s.stargateRouter).swap{value: fees}( - _sgData.dstChainId, // the destination chain id - srcPoolId, // the source Stargate poolId - dstPoolId, // the destination Stargate poolId + IStargateRouter(router).swap{value: fee}( + _data.dstChainId, // the destination chain id + _data.srcPoolId, // the source Stargate poolId + _data.dstPoolId, // the destination Stargate poolId payable(msg.sender), // refund adddress. if msg.sender pays too much gas, return extra eth - _sgData.qty, // total tokens to send to destination chain + _data.amount, // total tokens to send to destination chain minAmountOut, // min amount allowed out - IStargateRouter.lzTxObj(200000, 0, "0x"), // default lzTxObj + IStargateRouter.lzTxObj(500000, 0, "0x"), // default lzTxObj destination, // destination address, the sgReceive() implementer payload // bytes payload ); + emit StargateTokenSwap( + _data.bridgeToken, + msg.sender, + _data.to, + _data.amount, + _data.dstChainId + ); + } - emit SGTransferStarted( - "stargate", - _sgData.fromToken, - _sgData.toToken, + /** + * @notice initiates an ETH bridging transfer + * @param _data StargateETHTransferData object + */ + function stargateETHTransfer( + StargateETHTransferData calldata _data + ) external payable nonReentrant { + require(msg.value > 0, "Stargate:: msg.value required"); + require(_data.amount > 0, "Stargate:: invalid quantity"); + require( + msg.value > _data.amount, + "Stargate: no fees added for ETH transfer" + ); + IStargateRouterETH ethRouter = getStargateETHRouter(); + require( + address(ethRouter) != address(0), + "Stargate:: ETH transfer not available" + ); + bytes memory receiver = abi.encodePacked(_data.to); + uint256 minAmountOut = (_data.amount * (10000 - _data.slippage)) / + 10000; + + // value is amount of ETH to swap + stargate/lz fees + ethRouter.swapETH{value: msg.value}( + _data.dstChainId, + payable(msg.sender), + receiver, + _data.amount, + minAmountOut + ); + + emit StargateETHTokenSwap( msg.sender, - _sgData.to, - _sgData.qty, - _sgData.dstChainId + _data.to, + _data.amount, + _data.dstChainId ); } - /// @notice required to receive tokens on destination chain - /// @param _chainId The remote chainId sending the tokens - /// @param _srcAddress The remote Bridge address - /// @param _nonce The message ordering nonce - /// @param _token The token contract on the local chain - /// @param amountLD The qty of local _token contract tokens - /// @param _payload The bytes containing the toAddress + /** + * @notice required to receive tokens on destination chain + * @param _token the token contract on the local chain + * @param _amountLD the qty of local _token contract tokens + * @param _payload the bytes containing the toAddress + */ function sgReceive( - uint16 _chainId, - bytes memory _srcAddress, - uint256 _nonce, + uint16 /*_chainId*/, + bytes memory /*_srcAddress*/, + uint256 /*_nonce*/, address _token, - uint256 amountLD, + uint256 _amountLD, bytes memory _payload ) external override { - Storage storage s = getStorage(); - if (msg.sender != address(s.stargateRouter)) - revert SenderNotStargateRouter(); + require( + msg.sender == address(getStargateRouter()), + "Stargate:: only stargate router" + ); - address _toAddr = abi.decode(_payload, (address)); - IERC20(_token).transfer(_toAddr, amountLD); - emit SGReceivedOnDestination(_token, amountLD); + address to = abi.decode(_payload, (address)); + IERC20(_token).safeTransfer(to, _amountLD); + emit StargateReceivedOnDestination(_token, _amountLD); } - /// @notice Calculates cross chain fee - /// @param _destChain Destination chain id - /// @param _receiver Receiver on destination chain - /// @param _router Address of stargate router - function sgCalculateFees( + /** + * @notice Calculates cross chain fee + * @param _destChain Destination chain id + * @param _receiver Receiver on destination chain + * @param _router Address of stargate router + */ + function stargateFees( uint16 _destChain, address _receiver, - address _router + IStargateRouter _router ) public view returns (uint256) { - (uint256 nativeFee, ) = IStargateRouter(_router).quoteLayerZeroFee( + (uint256 nativeFee, ) = _router.quoteLayerZeroFee( _destChain, // destination chain id 1, // 1 = swap abi.encodePacked(_receiver), // receiver on destination chain "0x", // payload, using abi.encode() - IStargateRouter.lzTxObj(200000, 0, "0x") + IStargateRouter.lzTxObj(200000, 0, abi.encodePacked(address(0))) ); return nativeFee; } - /// @notice Calculates the minimum amount out using slippage tolerance - /// @param _amount Transfer amount - function sgMinAmountOut(uint256 _amount) public view returns (uint256) { - Storage storage s = getStorage(); - // equates to 0.5% slippage - return (_amount * (10000 - s.slippage)) / (10000); - } - - /// @notice Updates stargate router address for deployed chain - /// @param _newAddress Address of the new router - function sgUpdateRouter(address _newAddress) external { - LibDiamond.enforceIsContractOwner(); - if (_newAddress == address(0)) revert StargateRouterAddressZero(); - Storage storage s = getStorage(); - s.stargateRouter = address(_newAddress); - emit SGUpdatedRouter(_newAddress); - } - - /// @notice Updates slippage tolerance amount - /// @param _newSlippage New slippage amount - function sgUpdateSlippageTolerance(uint256 _newSlippage) external { - LibDiamond.enforceIsContractOwner(); - Storage storage s = getStorage(); - s.slippage = _newSlippage; - emit SGUpdatedSlippageTolerance(_newSlippage); - } + ///// PRIVATE FUNCTIONS ///// - /// @notice Adds a new pool for a specific token and chain - /// @param _chainId Chain id of new pool (NOT actual chain id - check stargate pool ids docs) - /// @param _token Address of token - /// @param _poolId Pool id (check stargate pool ids docs) - function sgAddPool( - uint16 _chainId, - address _token, - uint16 _poolId - ) public { - LibDiamond.enforceIsContractOwner(); - Storage storage s = getStorage(); - s.poolIds[_chainId][_token] = _poolId; - emit SGAddedPool(_chainId, _token, _poolId); + /** + * @dev returns stargate router contract + * @return address stargate router contract + */ + function getStargateRouter() private view returns (IStargateRouter) { + return getStorage().stargateRouter; } - /// @notice Checks for a valid token pool on specific chain - /// @param _chainId Chain id of new pool (NOT actual chain id - check stargate pool ids docs) - /// @param _token Address of token - /// @param _poolId Pool id (check stargate pool ids docs) - function sgCheckPoolId( - uint16 _chainId, - address _token, - uint16 _poolId - ) external view returns (bool) { - Storage storage s = getStorage(); - return s.poolIds[_chainId][_token] == _poolId ? true : false; + /** + * @dev returns stargate ETH router contract + * @return address stargate ETH router contract + */ + function getStargateETHRouter() private view returns (IStargateRouterETH) { + return getStorage().stargateETHRouter; } - /// @notice Retrieves pool id for a token on a specified chain - /// @param _chainId Chain id of new pool (NOT actual chain id - check stargate pool ids docs) - /// @param _token Address of token - function sgRetrievePoolId(uint16 _chainId, address _token) - public - view - returns (uint16) - { - Storage storage s = getStorage(); - return s.poolIds[_chainId][_token]; + /** + * @dev returns stargate chainId + * @return address connext contract + */ + function getChainId() private view returns (uint16) { + return getStorage().chainId; } - ////////////////////////////////////////////////////////////// - ////////////////////// Private Functions ///////////////////// - ////////////////////////////////////////////////////////////// - - /// @dev fetch local storage + /** + * @dev fetch local storage + */ function getStorage() private pure returns (Storage storage s) { bytes32 namespace = NAMESPACE; // solhint-disable-next-line no-inline-assembly diff --git a/src/bridges/interfaces/IStargateReceiver.sol b/src/bridges/interfaces/IStargateReceiver.sol deleted file mode 100644 index 5bdd994f..00000000 --- a/src/bridges/interfaces/IStargateReceiver.sol +++ /dev/null @@ -1,14 +0,0 @@ -// SPDX-License-Identifier: MIT - -pragma solidity 0.8.4; - -interface IStargateReceiver { - function sgReceive( - uint16 _srcChainId, // the remote chainId sending the tokens - bytes memory _srcAddress, // the remote Bridge address - uint256 _nonce, - address _token, // the token contract on the local chain - uint256 amountLD, // the qty of local _token contract tokens - bytes memory payload - ) external; -} diff --git a/src/bridges/interfaces/stargate/IStargateReceiver.sol b/src/bridges/interfaces/stargate/IStargateReceiver.sol new file mode 100644 index 00000000..f260debe --- /dev/null +++ b/src/bridges/interfaces/stargate/IStargateReceiver.sol @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: MIT + +pragma solidity ^0.8.4; + +interface IStargateReceiver { + function sgReceive( + uint16 _chainId, + bytes memory _srcAddress, + uint256 _nonce, + address _token, + uint256 amountLD, + bytes memory payload + ) external; +} diff --git a/src/bridges/interfaces/IStargateRouter.sol b/src/bridges/interfaces/stargate/IStargateRouter.sol similarity index 96% rename from src/bridges/interfaces/IStargateRouter.sol rename to src/bridges/interfaces/stargate/IStargateRouter.sol index 4a6f441b..5c2ec574 100644 --- a/src/bridges/interfaces/IStargateRouter.sol +++ b/src/bridges/interfaces/stargate/IStargateRouter.sol @@ -1,6 +1,6 @@ -// SPDX-License-Identifier:MIT +// SPDX-License-Identifier: MIT -pragma solidity 0.8.4; +pragma solidity ^0.8.4; pragma abicoder v2; interface IStargateRouter { diff --git a/src/bridges/interfaces/stargate/IStargateRouterETH.sol b/src/bridges/interfaces/stargate/IStargateRouterETH.sol new file mode 100644 index 00000000..888625e9 --- /dev/null +++ b/src/bridges/interfaces/stargate/IStargateRouterETH.sol @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: MIT + +pragma solidity ^0.8.4; +pragma abicoder v2; + +interface IStargateRouterETH { + function addLiquidityETH() external payable; + + function swapETH( + uint16 dstChainId, + address payable refundAddress, + bytes calldata to, + uint256 amountLD, + uint256 minAmountLD + ) external payable; +} diff --git a/test/bridges/StargateFacet.ts b/test/bridges/StargateFacet.ts index 7c9fe929..2fb407fc 100644 --- a/test/bridges/StargateFacet.ts +++ b/test/bridges/StargateFacet.ts @@ -12,10 +12,15 @@ import { expectRevert } from "@openzeppelin/test-helpers"; import USDC_ABI from "./abi/USDC_ABI.js"; const ETH_CHAIN_ID = 1; -const POLYGON_CHAIN_ID = 9; // Specified in (https://stargateprotocol.gitbook.io/stargate/developers/contract-addresses/mainnet) - Chain ID normally 137 -const ARBITRUM_CHAIN_ID = 10; // Same as POLYGON_CHAIN_ID comments +const POLYGON_CHAIN_ID = 137; +const ARBITRUM_CHAIN_ID = 42161; +const LZ_ETH_CHAIN_ID = 101; +const LZ_POLYGON_CHAIN_ID = 109; +const LZ_ARBITRUM_CHAIN_ID = 110; const MAINNET_STARGATE_ROUTER_ADDRESS = "0x8731d54E9D02c286767d56ac03e8037C07e01e98"; +const MAINNET_STARGATE_ETH_ROUTER_ADDRESS = + "0x150f94B44927F078737562f0fcF3C95c01Cc2376"; const POLYGON_STARGATE_ROUTER_ADDRESS = "0x45A01E4e04F14f7A4a6702c74187c5F6222033cd"; const ARBITRUM_STARGATE_ROUTER_ADDRESS = @@ -35,7 +40,7 @@ describe("StargateFacet", () => { let alice: SignerWithAddress; let bob: SignerWithAddress; let dummy: SignerWithAddress; - let usdc, StargateData; + let usdc, transferData, ethTransferData; /* eslint-enable @typescript-eslint/no-explicit-any */ const setupTest = deployments.createFixture( @@ -72,23 +77,28 @@ describe("StargateFacet", () => { await addFacets([facetContract], diamond.address); } - // Impersonate Binance Peg Tokens account + // Impersonate Vitalik account await network.provider.request({ method: "hardhat_impersonateAccount", - params: ["0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503"], + params: ["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"], }); // Assign to alice alice = await ethers.getSigner( - "0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503", + "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", ); // Initialize StargateFacet contract with Stargate Router address and chain id stargateFacet .connect(owner) - .sgInitialize(MAINNET_STARGATE_ROUTER_ADDRESS, ETH_CHAIN_ID, { - gasLimit: 500000, - }); + .initStargate( + MAINNET_STARGATE_ROUTER_ADDRESS, + MAINNET_STARGATE_ETH_ROUTER_ADDRESS, + ETH_CHAIN_ID, + { + gasLimit: 500000, + }, + ); // get USDC contract instance usdc = new ethers.Contract(MAINNET_USDC_ADDRESS, USDC_ABI); @@ -118,7 +128,7 @@ describe("StargateFacet", () => { params: [ { forking: { - jsonRpcUrl: `https://eth-mainnet.alchemyapi.io/v2/${process.env.ALCHEMY_API_KEY}`, + jsonRpcUrl: `https://eth-mainnet.alchemyapi.io/v2/${process.env.MAINNET_ALCHEMY_API_KEY}`, blockNumber: 15000000, }, }, @@ -131,404 +141,411 @@ describe("StargateFacet", () => { await setupTest(); }); - describe("sgInitialize()", async function() { - it("should revert if stargate router address is address(0)", async function() { - await expectRevert( - stargateFacet.sgInitialize(ZERO_ADDRESS, ETH_CHAIN_ID), - "InvalidConfig", - ); - }); - + describe("#initStargate", async function() { it("should initialize the stargate router address and chain id", async function() { const tx: ContractTransaction = await stargateFacet .connect(owner) - .sgInitialize(MAINNET_STARGATE_ROUTER_ADDRESS, ETH_CHAIN_ID, { - gasLimit: 500000, - }); + .initStargate( + MAINNET_STARGATE_ROUTER_ADDRESS, + MAINNET_STARGATE_ETH_ROUTER_ADDRESS, + ETH_CHAIN_ID, + { + gasLimit: 500000, + }, + ); const receipt: ContractReceipt = await tx.wait(); const result = multiCallCheckLastEventEmitted(receipt); - expect(result[0]).toEqual("SGInitialized"); + expect(result[0]).toEqual("StargateInitialized"); expect(result[1]).toEqual(MAINNET_STARGATE_ROUTER_ADDRESS); - expect(result[2]).toEqual(ETH_CHAIN_ID); - }); - }); - - describe("sgBridgeTokens()", async function() { - it("should revert if starting a token bridge transaction and not enough tokens in pool to complete tx", async function() { - StargateData = { - qty: utils.parseUnits("1000", 10), - fromToken: usdc.address, - toToken: POLYGON_USDC_ADDRESS, - dstChainId: POLYGON_CHAIN_ID, - to: bob.address, - destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, - }; - - await expectRevert( - stargateFacet.connect(alice).sgBridgeTokens(StargateData, { - gasLimit: ethers.utils.hexlify(2000000), - }), - "Stargate: not enough balance", - ); - }); - - it("should revert if starting a token bridge transaction and no amount", async function() { - StargateData = { - qty: 0, - fromToken: usdc.address, - toToken: POLYGON_USDC_ADDRESS, - dstChainId: POLYGON_CHAIN_ID, - to: bob.address, - destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, - }; - - await expectRevert( - stargateFacet.connect(alice).sgBridgeTokens(StargateData, { - gasLimit: ethers.utils.hexlify(2000000), - }), - "InvalidAmount()", - ); - }); - - it("should revert if starting a token bridge transaction and fromToken is address(0)", async function() { - StargateData = { - qty: AMOUNT, - fromToken: ZERO_ADDRESS, - toToken: POLYGON_USDC_ADDRESS, - dstChainId: POLYGON_CHAIN_ID, - to: bob.address, - destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, - }; - - await expectRevert( - stargateFacet.connect(alice).sgBridgeTokens(StargateData, { - gasLimit: ethers.utils.hexlify(2000000), - }), - "InvalidConfig()", - ); - }); - - it("should revert if starting a token bridge transaction and toToken is address(0)", async function() { - StargateData = { - qty: AMOUNT, - fromToken: usdc.address, - toToken: ZERO_ADDRESS, - dstChainId: POLYGON_CHAIN_ID, - to: bob.address, - destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, - }; - - await expectRevert( - stargateFacet.connect(alice).sgBridgeTokens(StargateData, { - gasLimit: ethers.utils.hexlify(2000000), - }), - "InvalidConfig()", - ); + expect(result[2]).toEqual(MAINNET_STARGATE_ETH_ROUTER_ADDRESS); + expect(result[3]).toEqual(ETH_CHAIN_ID); }); - it("should revert if starting a token bridge transaction and source token is invalid", async function() { - StargateData = { - qty: AMOUNT, - fromToken: "0x6B175474E89094C44Da98b954EedeAC495271d0F", // DAI address - toToken: POLYGON_USDC_ADDRESS, - dstChainId: POLYGON_CHAIN_ID, - to: bob.address, - destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, - }; - + it("should revert if stargate router address is address(0)", async () => { await expectRevert( - stargateFacet.connect(alice).sgBridgeTokens(StargateData, { - gasLimit: ethers.utils.hexlify(2000000), - }), - "InvalidSourcePoolId()", + stargateFacet.initStargate( + ZERO_ADDRESS, + MAINNET_STARGATE_ETH_ROUTER_ADDRESS, + ETH_CHAIN_ID, + ), + "Stargate:: invalid address", ); }); - it("should revert if starting a token bridge transaction and destination token is invalid", async function() { - StargateData = { - qty: AMOUNT, - fromToken: usdc.address, - toToken: "0x0000000000000000000000000000000000001010", // MATIC address - dstChainId: POLYGON_CHAIN_ID, - to: bob.address, - destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, - }; - + it("should revert if stargate ETH router address is address(0)", async () => { await expectRevert( - stargateFacet.connect(alice).sgBridgeTokens(StargateData, { - gasLimit: ethers.utils.hexlify(2000000), - }), - "Stargate: local chainPath does not exist", + stargateFacet.initStargate( + MAINNET_STARGATE_ROUTER_ADDRESS, + ZERO_ADDRESS, + ETH_CHAIN_ID, + ), + "Stargate:: invalid address", ); }); + }); - it("should revert if starting a token bridge transaction and receiver is address(0)", async function() { - StargateData = { - qty: AMOUNT, - fromToken: usdc.address, - toToken: POLYGON_USDC_ADDRESS, - dstChainId: POLYGON_CHAIN_ID, - to: ZERO_ADDRESS, - destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, - }; - - await expectRevert( - stargateFacet.connect(alice).sgBridgeTokens(StargateData, { - gasLimit: ethers.utils.hexlify(2000000), - }), - "InvalidConfig()", - ); - }); - - it("should revert if starting a token bridge transaction and destStargateComposed is address(0)", async function() { - StargateData = { - qty: AMOUNT, - fromToken: usdc.address, - toToken: POLYGON_USDC_ADDRESS, - dstChainId: POLYGON_CHAIN_ID, - to: bob.address, - destStargateComposed: ZERO_ADDRESS, - }; - - await expectRevert( - stargateFacet.connect(alice).sgBridgeTokens(StargateData, { - gasLimit: ethers.utils.hexlify(2000000), - }), - "InvalidConfig()", - ); - }); - - it("should start a token bridge transaction on the sending chain - Polygon", async function() { - StargateData = { - qty: AMOUNT, - fromToken: usdc.address, - toToken: POLYGON_USDC_ADDRESS, - dstChainId: POLYGON_CHAIN_ID, - to: bob.address, - destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, - }; - - const tx: ContractTransaction = await stargateFacet - .connect(alice) - .sgBridgeTokens(StargateData, { - gasLimit: ethers.utils.hexlify(2000000), - }); - - const receipt: ContractReceipt = await tx.wait(); - const result = multiCallCheckLastEventEmitted(receipt); - expect(result[0]).toEqual("SGTransferStarted"); - expect(result[1]).toEqual("stargate"); - expect(result[2]).toEqual(MAINNET_USDC_ADDRESS); - expect(result[3]).toEqual(POLYGON_USDC_ADDRESS); - expect(result[4]).toEqual(alice.address); - expect(result[5]).toEqual(bob.address); - expect(result[6]).toEqual(BigNumber.from(AMOUNT)); - expect(result[7]).toEqual(POLYGON_CHAIN_ID); - }); - - it("should start a token bridge transaction on the sending chain - Arbitrum", async function() { - StargateData = { - qty: AMOUNT, - fromToken: usdc.address, - toToken: ARBITRUM_USDC_ADDRESS, - dstChainId: ARBITRUM_CHAIN_ID, - to: bob.address, - destStargateComposed: ARBITRUM_STARGATE_ROUTER_ADDRESS, - }; - - const tx: ContractTransaction = await stargateFacet - .connect(alice) - .sgBridgeTokens(StargateData, { - gasLimit: ethers.utils.hexlify(2000000), - }); - - const receipt: ContractReceipt = await tx.wait(); - const result = multiCallCheckLastEventEmitted(receipt); - expect(result[0]).toEqual("SGTransferStarted"); - expect(result[1]).toEqual("stargate"); - expect(result[2]).toEqual(MAINNET_USDC_ADDRESS); - expect(result[3]).toEqual(ARBITRUM_USDC_ADDRESS); - expect(result[4]).toEqual(alice.address); - expect(result[5]).toEqual(bob.address); - expect(result[6]).toEqual(BigNumber.from(AMOUNT)); - expect(result[7]).toEqual(ARBITRUM_CHAIN_ID); - }); - - it("should deduct users tokens from balance on successful bridge", async function() { - StargateData = { - qty: AMOUNT, + describe("#stargateTokenTransfer", async function() { + it("should trigger error if no msg.value amount to pay for fees", async () => { + transferData = { + qty: utils.parseUnits("1000", 10), fromToken: usdc.address, - toToken: POLYGON_USDC_ADDRESS, dstChainId: POLYGON_CHAIN_ID, + srcPoolId: 1, // USDC pool id mainnet + dstPoolId: 1, // USDC pool id polygon to: bob.address, + slippage: 300, // 3% destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, }; - const preBalance = await usdc.connect(alice).balanceOf(alice.address); + console.log(`bob address: ${bob.address}`); + console.log(`from token address: ${usdc.address}`); + console.log(`polygon router address: ${POLYGON_STARGATE_ROUTER_ADDRESS}`); - const tx = await stargateFacet - .connect(alice) - .sgBridgeTokens(StargateData, { - gasLimit: ethers.utils.hexlify(2000000), - }); - - await tx.wait(); - - const postBalance = await usdc.connect(alice).balanceOf(alice.address); - expect(postBalance.toNumber()).toEqual(preBalance.toNumber() - 100000000); - }); - }); - - describe("sgUpdateRouter()", async function() { - it("should revert if updating stargate router address and not owner", async function() { await expectRevert( - stargateFacet.connect(bob).sgUpdateRouter(bob.address), - "LibDiamond: Must be contract owner", - ); - }); - - it("should revert if updating stargate router address with zero address", async function() { - await expectRevert( - stargateFacet.connect(owner).sgUpdateRouter(ZERO_ADDRESS), - "StargateRouterAddressZero()", - ); - }); - - it("should update stargate router address", async function() { - const tx: ContractTransaction = await stargateFacet.sgUpdateRouter( - dummy.address, + stargateFacet.connect(alice).stargateTokenTransfer(transferData), + "Stargate:: msg.value required to pay message", ); - const receipt: ContractReceipt = await tx.wait(); - const result = checkEvent(receipt); - expect(result[0]).toEqual("SGUpdatedRouter"); - expect(result[1]).toEqual(dummy.address); }); - }); - describe("sgCalculateFees()", async function() { - it("should return calculated fee amount in wei for making swap", async function() { - const feeWei = await stargateFacet.sgCalculateFees( - POLYGON_CHAIN_ID, - bob.address, - MAINNET_STARGATE_ROUTER_ADDRESS, - { gasLimit: ethers.utils.hexlify(2000000) }, - ); - expect(feeWei).toBeGreaterThanBN(BigNumber.from(10000000)); - }); + // it("should revert if starting a token bridge transaction and fromToken is address(0)", async function() { + // StargateData = { + // qty: AMOUNT, + // fromToken: ZERO_ADDRESS, + // toToken: POLYGON_USDC_ADDRESS, + // dstChainId: POLYGON_CHAIN_ID, + // to: bob.address, + // destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, + // }; + + // await expectRevert( + // stargateFacet.connect(alice).sgBridgeTokens(StargateData, { + // gasLimit: ethers.utils.hexlify(2000000), + // }), + // "InvalidConfig()", + // ); + // }); + + // it("should revert if starting a token bridge transaction and toToken is address(0)", async function() { + // StargateData = { + // qty: AMOUNT, + // fromToken: usdc.address, + // toToken: ZERO_ADDRESS, + // dstChainId: POLYGON_CHAIN_ID, + // to: bob.address, + // destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, + // }; + + // await expectRevert( + // stargateFacet.connect(alice).sgBridgeTokens(StargateData, { + // gasLimit: ethers.utils.hexlify(2000000), + // }), + // "InvalidConfig()", + // ); + // }); + + // it("should revert if starting a token bridge transaction and source token is invalid", async function() { + // StargateData = { + // qty: AMOUNT, + // fromToken: "0x6B175474E89094C44Da98b954EedeAC495271d0F", // DAI address + // toToken: POLYGON_USDC_ADDRESS, + // dstChainId: POLYGON_CHAIN_ID, + // to: bob.address, + // destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, + // }; + + // await expectRevert( + // stargateFacet.connect(alice).sgBridgeTokens(StargateData, { + // gasLimit: ethers.utils.hexlify(2000000), + // }), + // "InvalidSourcePoolId()", + // ); + // }); + + // it("should revert if starting a token bridge transaction and destination token is invalid", async function() { + // StargateData = { + // qty: AMOUNT, + // fromToken: usdc.address, + // toToken: "0x0000000000000000000000000000000000001010", // MATIC address + // dstChainId: POLYGON_CHAIN_ID, + // to: bob.address, + // destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, + // }; + + // await expectRevert( + // stargateFacet.connect(alice).sgBridgeTokens(StargateData, { + // gasLimit: ethers.utils.hexlify(2000000), + // }), + // "Stargate: local chainPath does not exist", + // ); + // }); + + // it("should revert if starting a token bridge transaction and receiver is address(0)", async function() { + // StargateData = { + // qty: AMOUNT, + // fromToken: usdc.address, + // toToken: POLYGON_USDC_ADDRESS, + // dstChainId: POLYGON_CHAIN_ID, + // to: ZERO_ADDRESS, + // destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, + // }; + + // await expectRevert( + // stargateFacet.connect(alice).sgBridgeTokens(StargateData, { + // gasLimit: ethers.utils.hexlify(2000000), + // }), + // "InvalidConfig()", + // ); + // }); + + // it("should revert if starting a token bridge transaction and destStargateComposed is address(0)", async function() { + // StargateData = { + // qty: AMOUNT, + // fromToken: usdc.address, + // toToken: POLYGON_USDC_ADDRESS, + // dstChainId: POLYGON_CHAIN_ID, + // to: bob.address, + // destStargateComposed: ZERO_ADDRESS, + // }; + + // await expectRevert( + // stargateFacet.connect(alice).sgBridgeTokens(StargateData, { + // gasLimit: ethers.utils.hexlify(2000000), + // }), + // "InvalidConfig()", + // ); + // }); + + // it("should start a token bridge transaction on the sending chain - Polygon", async function() { + // StargateData = { + // qty: AMOUNT, + // fromToken: usdc.address, + // toToken: POLYGON_USDC_ADDRESS, + // dstChainId: POLYGON_CHAIN_ID, + // to: bob.address, + // destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, + // }; + + // const tx: ContractTransaction = await stargateFacet + // .connect(alice) + // .sgBridgeTokens(StargateData, { + // gasLimit: ethers.utils.hexlify(2000000), + // }); + + // const receipt: ContractReceipt = await tx.wait(); + // const result = multiCallCheckLastEventEmitted(receipt); + // expect(result[0]).toEqual("SGTransferStarted"); + // expect(result[1]).toEqual("stargate"); + // expect(result[2]).toEqual(MAINNET_USDC_ADDRESS); + // expect(result[3]).toEqual(POLYGON_USDC_ADDRESS); + // expect(result[4]).toEqual(alice.address); + // expect(result[5]).toEqual(bob.address); + // expect(result[6]).toEqual(BigNumber.from(AMOUNT)); + // expect(result[7]).toEqual(POLYGON_CHAIN_ID); + // }); + + // it("should start a token bridge transaction on the sending chain - Arbitrum", async function() { + // StargateData = { + // qty: AMOUNT, + // fromToken: usdc.address, + // toToken: ARBITRUM_USDC_ADDRESS, + // dstChainId: ARBITRUM_CHAIN_ID, + // to: bob.address, + // destStargateComposed: ARBITRUM_STARGATE_ROUTER_ADDRESS, + // }; + + // const tx: ContractTransaction = await stargateFacet + // .connect(alice) + // .sgBridgeTokens(StargateData, { + // gasLimit: ethers.utils.hexlify(2000000), + // }); + + // const receipt: ContractReceipt = await tx.wait(); + // const result = multiCallCheckLastEventEmitted(receipt); + // expect(result[0]).toEqual("SGTransferStarted"); + // expect(result[1]).toEqual("stargate"); + // expect(result[2]).toEqual(MAINNET_USDC_ADDRESS); + // expect(result[3]).toEqual(ARBITRUM_USDC_ADDRESS); + // expect(result[4]).toEqual(alice.address); + // expect(result[5]).toEqual(bob.address); + // expect(result[6]).toEqual(BigNumber.from(AMOUNT)); + // expect(result[7]).toEqual(ARBITRUM_CHAIN_ID); + // }); + + // it("should deduct users tokens from balance on successful bridge", async function() { + // StargateData = { + // qty: AMOUNT, + // fromToken: usdc.address, + // toToken: POLYGON_USDC_ADDRESS, + // dstChainId: POLYGON_CHAIN_ID, + // to: bob.address, + // destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, + // }; + + // const preBalance = await usdc.connect(alice).balanceOf(alice.address); + + // const tx = await stargateFacet + // .connect(alice) + // .sgBridgeTokens(StargateData, { + // gasLimit: ethers.utils.hexlify(2000000), + // }); + + // await tx.wait(); + + // const postBalance = await usdc.connect(alice).balanceOf(alice.address); + // expect(postBalance.toNumber()).toEqual(preBalance.toNumber() - 100000000); + // }); }); - describe("sgUpdateSlippageTolerance()", async function() { - it("should revert if updating slippage tolerance amount and not owner", async function() { - await expectRevert( - stargateFacet.connect(bob).sgUpdateSlippageTolerance(200), - "LibDiamond: Must be contract owner", - ); - }); - - it("should update slippage tolerance amount", async function() { - const tx: ContractTransaction = await stargateFacet.sgUpdateSlippageTolerance( - 200, - ); - const receipt: ContractReceipt = await tx.wait(); - const result = checkEvent(receipt); - expect(result[0]).toEqual("SGUpdatedSlippageTolerance"); - expect(result[1]).toEqual(BigNumber.from(200)); - }); - - it("should return 0.5% of amount for default minimum slippage", async function() { - const minAmount: BigNumber = await stargateFacet.sgMinAmountOut(1000); - const expectAmountOut: number = (1000 * (10000 - 50)) / 10000; - expect(BigNumber.from(minAmount)).toEqual( - BigNumber.from(expectAmountOut), - ); - }); - - it("should return 2% of amount for minimum slippage after slippage updated", async function() { - // perform slippage calc for default 0.5% tolerance - let minAmount: BigNumber = await stargateFacet.sgMinAmountOut(1000); - let expectAmountOut: number = (1000 * (10000 - 50)) / 10000; - expect(BigNumber.from(minAmount)).toEqual( - BigNumber.from(expectAmountOut), - ); - - // change slippage tolerance to 2% - await stargateFacet.sgUpdateSlippageTolerance(200); - - // perform slippage calc for default 2% tolerance - minAmount = await stargateFacet.sgMinAmountOut(1000); - expectAmountOut = (1000 * (10000 - 200)) / 10000; - expect(BigNumber.from(minAmount)).toEqual( - BigNumber.from(expectAmountOut), - ); - }); - }); - - describe("sgAddPool()", async function() { - it("should revert if adding pool to mapping and not owner", async function() { - await expectRevert( - stargateFacet.connect(bob).sgAddPool(1, MAINNET_USDC_ADDRESS, 3), - "LibDiamond: Must be contract owner", - ); - }); - - it("should add a new pool id to mapping", async function() { - await stargateFacet.connect(owner).sgAddPool(15, MAINNET_USDC_ADDRESS, 3); - const isAdded = await stargateFacet.sgCheckPoolId( - 15, - MAINNET_USDC_ADDRESS, - 3, - ); - expect(isAdded).toEqual(true); - }); - - it("should emit a SGAddedPool event", async function() { - const tx: ContractTransaction = await stargateFacet - .connect(owner) - .sgAddPool(15, MAINNET_USDC_ADDRESS, 3); - const receipt: ContractReceipt = await tx.wait(); - const result = checkEvent(receipt); - expect(result[0]).toEqual("SGAddedPool"); - expect(result[1]).toEqual(15); - expect(result[2]).toEqual(MAINNET_USDC_ADDRESS); - expect(result[3]).toEqual(3); - }); - }); - - describe("sgCheckPoolId()", async function() { - it("should check pool exists in mapping - true", async function() { - const isValidPool = await stargateFacet.sgCheckPoolId( - ETH_CHAIN_ID, - "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - 1, - ); - expect(isValidPool).toEqual(true); - }); - - it("should check pool exists in mapping - false", async function() { - const isValidPool = await stargateFacet.sgCheckPoolId( - 18, - "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - 1, - ); - expect(isValidPool).toEqual(false); - }); - }); - - describe("sgRetrievePoolId()", async function() { - it("should retrieve pool for a valid token in mapping", async function() { - const poolId = await stargateFacet.sgRetrievePoolId( - 2, // BSC - "0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56", //BUSD address - ); - expect(poolId).toEqual(5); - }); - - it("should return zero if token is not in mapping", async function() { - const poolId = await stargateFacet.sgRetrievePoolId( - ETH_CHAIN_ID, - "0x6B175474E89094C44Da98b954EedeAC495271d0F", // DAI address - ); - expect(poolId).toEqual(0); - }); - }); + // describe("sgUpdateRouter()", async function() { + // it("should revert if updating stargate router address and not owner", async function() { + // await expectRevert( + // stargateFacet.connect(bob).sgUpdateRouter(bob.address), + // "LibDiamond: Must be contract owner", + // ); + // }); + + // it("should revert if updating stargate router address with zero address", async function() { + // await expectRevert( + // stargateFacet.connect(owner).sgUpdateRouter(ZERO_ADDRESS), + // "StargateRouterAddressZero()", + // ); + // }); + + // it("should update stargate router address", async function() { + // const tx: ContractTransaction = await stargateFacet.sgUpdateRouter( + // dummy.address, + // ); + // const receipt: ContractReceipt = await tx.wait(); + // const result = checkEvent(receipt); + // expect(result[0]).toEqual("SGUpdatedRouter"); + // expect(result[1]).toEqual(dummy.address); + // }); + // }); + + // describe("sgCalculateFees()", async function() { + // it("should return calculated fee amount in wei for making swap", async function() { + // const feeWei = await stargateFacet.sgCalculateFees( + // POLYGON_CHAIN_ID, + // bob.address, + // MAINNET_STARGATE_ROUTER_ADDRESS, + // { gasLimit: ethers.utils.hexlify(2000000) }, + // ); + // expect(feeWei).toBeGreaterThanBN(BigNumber.from(10000000)); + // }); + // }); + + // describe("sgUpdateSlippageTolerance()", async function() { + // it("should revert if updating slippage tolerance amount and not owner", async function() { + // await expectRevert( + // stargateFacet.connect(bob).sgUpdateSlippageTolerance(200), + // "LibDiamond: Must be contract owner", + // ); + // }); + + // it("should update slippage tolerance amount", async function() { + // const tx: ContractTransaction = await stargateFacet.sgUpdateSlippageTolerance( + // 200, + // ); + // const receipt: ContractReceipt = await tx.wait(); + // const result = checkEvent(receipt); + // expect(result[0]).toEqual("SGUpdatedSlippageTolerance"); + // expect(result[1]).toEqual(BigNumber.from(200)); + // }); + + // it("should return 0.5% of amount for default minimum slippage", async function() { + // const minAmount: BigNumber = await stargateFacet.sgMinAmountOut(1000); + // const expectAmountOut: number = (1000 * (10000 - 50)) / 10000; + // expect(BigNumber.from(minAmount)).toEqual( + // BigNumber.from(expectAmountOut), + // ); + // }); + + // it("should return 2% of amount for minimum slippage after slippage updated", async function() { + // // perform slippage calc for default 0.5% tolerance + // let minAmount: BigNumber = await stargateFacet.sgMinAmountOut(1000); + // let expectAmountOut: number = (1000 * (10000 - 50)) / 10000; + // expect(BigNumber.from(minAmount)).toEqual( + // BigNumber.from(expectAmountOut), + // ); + + // // change slippage tolerance to 2% + // await stargateFacet.sgUpdateSlippageTolerance(200); + + // // perform slippage calc for default 2% tolerance + // minAmount = await stargateFacet.sgMinAmountOut(1000); + // expectAmountOut = (1000 * (10000 - 200)) / 10000; + // expect(BigNumber.from(minAmount)).toEqual( + // BigNumber.from(expectAmountOut), + // ); + // }); + // }); + + // describe("sgAddPool()", async function() { + // it("should revert if adding pool to mapping and not owner", async function() { + // await expectRevert( + // stargateFacet.connect(bob).sgAddPool(1, MAINNET_USDC_ADDRESS, 3), + // "LibDiamond: Must be contract owner", + // ); + // }); + + // it("should add a new pool id to mapping", async function() { + // await stargateFacet.connect(owner).sgAddPool(15, MAINNET_USDC_ADDRESS, 3); + // const isAdded = await stargateFacet.sgCheckPoolId( + // 15, + // MAINNET_USDC_ADDRESS, + // 3, + // ); + // expect(isAdded).toEqual(true); + // }); + + // it("should emit a SGAddedPool event", async function() { + // const tx: ContractTransaction = await stargateFacet + // .connect(owner) + // .sgAddPool(15, MAINNET_USDC_ADDRESS, 3); + // const receipt: ContractReceipt = await tx.wait(); + // const result = checkEvent(receipt); + // expect(result[0]).toEqual("SGAddedPool"); + // expect(result[1]).toEqual(15); + // expect(result[2]).toEqual(MAINNET_USDC_ADDRESS); + // expect(result[3]).toEqual(3); + // }); + // }); + + // describe("sgCheckPoolId()", async function() { + // it("should check pool exists in mapping - true", async function() { + // const isValidPool = await stargateFacet.sgCheckPoolId( + // ETH_CHAIN_ID, + // "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + // 1, + // ); + // expect(isValidPool).toEqual(true); + // }); + + // it("should check pool exists in mapping - false", async function() { + // const isValidPool = await stargateFacet.sgCheckPoolId( + // 18, + // "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + // 1, + // ); + // expect(isValidPool).toEqual(false); + // }); + // }); + + // describe("sgRetrievePoolId()", async function() { + // it("should retrieve pool for a valid token in mapping", async function() { + // const poolId = await stargateFacet.sgRetrievePoolId( + // 2, // BSC + // "0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56", //BUSD address + // ); + // expect(poolId).toEqual(5); + // }); + + // it("should return zero if token is not in mapping", async function() { + // const poolId = await stargateFacet.sgRetrievePoolId( + // ETH_CHAIN_ID, + // "0x6B175474E89094C44Da98b954EedeAC495271d0F", // DAI address + // ); + // expect(poolId).toEqual(0); + // }); + // }); }); diff --git a/typings/IStargateReceiver.ts b/typings/IStargateReceiver.ts index 85f06880..b3e12aa0 100644 --- a/typings/IStargateReceiver.ts +++ b/typings/IStargateReceiver.ts @@ -67,7 +67,7 @@ export interface IStargateReceiver extends BaseContract { functions: { sgReceive( - _srcChainId: BigNumberish, + _chainId: BigNumberish, _srcAddress: BytesLike, _nonce: BigNumberish, _token: string, @@ -78,7 +78,7 @@ export interface IStargateReceiver extends BaseContract { }; sgReceive( - _srcChainId: BigNumberish, + _chainId: BigNumberish, _srcAddress: BytesLike, _nonce: BigNumberish, _token: string, @@ -89,7 +89,7 @@ export interface IStargateReceiver extends BaseContract { callStatic: { sgReceive( - _srcChainId: BigNumberish, + _chainId: BigNumberish, _srcAddress: BytesLike, _nonce: BigNumberish, _token: string, @@ -103,7 +103,7 @@ export interface IStargateReceiver extends BaseContract { estimateGas: { sgReceive( - _srcChainId: BigNumberish, + _chainId: BigNumberish, _srcAddress: BytesLike, _nonce: BigNumberish, _token: string, @@ -115,7 +115,7 @@ export interface IStargateReceiver extends BaseContract { populateTransaction: { sgReceive( - _srcChainId: BigNumberish, + _chainId: BigNumberish, _srcAddress: BytesLike, _nonce: BigNumberish, _token: string, diff --git a/typings/IStargateRouterETH.ts b/typings/IStargateRouterETH.ts new file mode 100644 index 00000000..e9a38bb3 --- /dev/null +++ b/typings/IStargateRouterETH.ts @@ -0,0 +1,142 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import { FunctionFragment, Result } from "@ethersproject/abi"; +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface IStargateRouterETHInterface extends utils.Interface { + functions: { + "addLiquidityETH()": FunctionFragment; + "swapETH(uint16,address,bytes,uint256,uint256)": FunctionFragment; + }; + + encodeFunctionData( + functionFragment: "addLiquidityETH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "swapETH", + values: [BigNumberish, string, BytesLike, BigNumberish, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "addLiquidityETH", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "swapETH", data: BytesLike): Result; + + events: {}; +} + +export interface IStargateRouterETH extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IStargateRouterETHInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + addLiquidityETH( + overrides?: PayableOverrides & { from?: string | Promise } + ): Promise; + + swapETH( + dstChainId: BigNumberish, + refundAddress: string, + to: BytesLike, + amountLD: BigNumberish, + minAmountLD: BigNumberish, + overrides?: PayableOverrides & { from?: string | Promise } + ): Promise; + }; + + addLiquidityETH( + overrides?: PayableOverrides & { from?: string | Promise } + ): Promise; + + swapETH( + dstChainId: BigNumberish, + refundAddress: string, + to: BytesLike, + amountLD: BigNumberish, + minAmountLD: BigNumberish, + overrides?: PayableOverrides & { from?: string | Promise } + ): Promise; + + callStatic: { + addLiquidityETH(overrides?: CallOverrides): Promise; + + swapETH( + dstChainId: BigNumberish, + refundAddress: string, + to: BytesLike, + amountLD: BigNumberish, + minAmountLD: BigNumberish, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + addLiquidityETH( + overrides?: PayableOverrides & { from?: string | Promise } + ): Promise; + + swapETH( + dstChainId: BigNumberish, + refundAddress: string, + to: BytesLike, + amountLD: BigNumberish, + minAmountLD: BigNumberish, + overrides?: PayableOverrides & { from?: string | Promise } + ): Promise; + }; + + populateTransaction: { + addLiquidityETH( + overrides?: PayableOverrides & { from?: string | Promise } + ): Promise; + + swapETH( + dstChainId: BigNumberish, + refundAddress: string, + to: BytesLike, + amountLD: BigNumberish, + minAmountLD: BigNumberish, + overrides?: PayableOverrides & { from?: string | Promise } + ): Promise; + }; +} diff --git a/typings/StargateFacet.ts b/typings/StargateFacet.ts index 275d38ca..521b8508 100644 --- a/typings/StargateFacet.ts +++ b/typings/StargateFacet.ts @@ -18,68 +18,63 @@ import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; -export type StargateDataStruct = { - qty: BigNumberish; - fromToken: string; - toToken: string; +export type StargateETHTransferDataStruct = { + amount: BigNumberish; dstChainId: BigNumberish; to: string; - destStargateComposed: string; + slippage: BigNumberish; }; -export type StargateDataStructOutput = [ +export type StargateETHTransferDataStructOutput = [ BigNumber, + number, string, + number +] & { amount: BigNumber; dstChainId: number; to: string; slippage: number }; + +export type StargateTransferDataStruct = { + amount: BigNumberish; + bridgeToken: string; + dstChainId: BigNumberish; + srcPoolId: BigNumberish; + dstPoolId: BigNumberish; + to: string; + slippage: BigNumberish; + destStargateComposed: BigNumberish; +}; + +export type StargateTransferDataStructOutput = [ + BigNumber, string, number, + number, + number, string, - string + number, + BigNumber ] & { - qty: BigNumber; - fromToken: string; - toToken: string; + amount: BigNumber; + bridgeToken: string; dstChainId: number; + srcPoolId: number; + dstPoolId: number; to: string; - destStargateComposed: string; + slippage: number; + destStargateComposed: BigNumber; }; export interface StargateFacetInterface extends utils.Interface { functions: { - "sgAddPool(uint16,address,uint16)": FunctionFragment; - "sgBridgeTokens((uint256,address,address,uint16,address,address))": FunctionFragment; - "sgCalculateFees(uint16,address,address)": FunctionFragment; - "sgCheckPoolId(uint16,address,uint16)": FunctionFragment; - "sgInitialize(address,uint16)": FunctionFragment; - "sgMinAmountOut(uint256)": FunctionFragment; + "initStargate(address,address,uint16)": FunctionFragment; "sgReceive(uint16,bytes,uint256,address,uint256,bytes)": FunctionFragment; - "sgRetrievePoolId(uint16,address)": FunctionFragment; - "sgUpdateRouter(address)": FunctionFragment; - "sgUpdateSlippageTolerance(uint256)": FunctionFragment; + "stargateETHTransfer((uint256,uint16,address,uint16))": FunctionFragment; + "stargateFees(uint16,address,address)": FunctionFragment; + "stargateTokenTransfer((uint256,address,uint16,uint16,uint16,address,uint16,uint256))": FunctionFragment; }; encodeFunctionData( - functionFragment: "sgAddPool", - values: [BigNumberish, string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "sgBridgeTokens", - values: [StargateDataStruct] - ): string; - encodeFunctionData( - functionFragment: "sgCalculateFees", - values: [BigNumberish, string, string] - ): string; - encodeFunctionData( - functionFragment: "sgCheckPoolId", - values: [BigNumberish, string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "sgInitialize", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "sgMinAmountOut", - values: [BigNumberish] + functionFragment: "initStargate", + values: [string, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "sgReceive", @@ -93,98 +88,79 @@ export interface StargateFacetInterface extends utils.Interface { ] ): string; encodeFunctionData( - functionFragment: "sgRetrievePoolId", - values: [BigNumberish, string] + functionFragment: "stargateETHTransfer", + values: [StargateETHTransferDataStruct] ): string; encodeFunctionData( - functionFragment: "sgUpdateRouter", - values: [string] + functionFragment: "stargateFees", + values: [BigNumberish, string, string] ): string; encodeFunctionData( - functionFragment: "sgUpdateSlippageTolerance", - values: [BigNumberish] + functionFragment: "stargateTokenTransfer", + values: [StargateTransferDataStruct] ): string; - decodeFunctionResult(functionFragment: "sgAddPool", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "sgBridgeTokens", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "sgCalculateFees", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "sgCheckPoolId", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "sgInitialize", - data: BytesLike - ): Result; decodeFunctionResult( - functionFragment: "sgMinAmountOut", + functionFragment: "initStargate", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "sgReceive", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "sgRetrievePoolId", + functionFragment: "stargateETHTransfer", data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "sgUpdateRouter", + functionFragment: "stargateFees", data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "sgUpdateSlippageTolerance", + functionFragment: "stargateTokenTransfer", data: BytesLike ): Result; events: { - "SGAddedPool(uint16,address,uint16)": EventFragment; - "SGInitialized(address,uint16)": EventFragment; - "SGReceivedOnDestination(address,uint256)": EventFragment; - "SGTransferStarted(string,address,address,address,address,uint256,uint16)": EventFragment; - "SGUpdatedRouter(address)": EventFragment; - "SGUpdatedSlippageTolerance(uint256)": EventFragment; + "StargateETHTokenSwap(address,address,uint256,uint16)": EventFragment; + "StargateInitialized(address,address,uint16)": EventFragment; + "StargateReceivedOnDestination(address,uint256)": EventFragment; + "StargateTokenSwap(address,address,address,uint256,uint16)": EventFragment; }; - getEvent(nameOrSignatureOrTopic: "SGAddedPool"): EventFragment; - getEvent(nameOrSignatureOrTopic: "SGInitialized"): EventFragment; - getEvent(nameOrSignatureOrTopic: "SGReceivedOnDestination"): EventFragment; - getEvent(nameOrSignatureOrTopic: "SGTransferStarted"): EventFragment; - getEvent(nameOrSignatureOrTopic: "SGUpdatedRouter"): EventFragment; - getEvent(nameOrSignatureOrTopic: "SGUpdatedSlippageTolerance"): EventFragment; + getEvent(nameOrSignatureOrTopic: "StargateETHTokenSwap"): EventFragment; + getEvent(nameOrSignatureOrTopic: "StargateInitialized"): EventFragment; + getEvent( + nameOrSignatureOrTopic: "StargateReceivedOnDestination" + ): EventFragment; + getEvent(nameOrSignatureOrTopic: "StargateTokenSwap"): EventFragment; } -export type SGAddedPoolEvent = TypedEvent< - [number, string, number], - { chainId: number; token: string; poolId: number } +export type StargateETHTokenSwapEvent = TypedEvent< + [string, string, BigNumber, number], + { from: string; to: string; amount: BigNumber; chainIdTo: number } >; -export type SGAddedPoolEventFilter = TypedEventFilter; +export type StargateETHTokenSwapEventFilter = + TypedEventFilter; -export type SGInitializedEvent = TypedEvent< - [string, number], - { stargate: string; chainId: number } +export type StargateInitializedEvent = TypedEvent< + [string, string, number], + { stargateRouter: string; stargateETHRouter: string; chainId: number } >; -export type SGInitializedEventFilter = TypedEventFilter; +export type StargateInitializedEventFilter = + TypedEventFilter; -export type SGReceivedOnDestinationEvent = TypedEvent< +export type StargateReceivedOnDestinationEvent = TypedEvent< [string, BigNumber], { token: string; amount: BigNumber } >; -export type SGReceivedOnDestinationEventFilter = - TypedEventFilter; +export type StargateReceivedOnDestinationEventFilter = + TypedEventFilter; -export type SGTransferStartedEvent = TypedEvent< - [string, string, string, string, string, BigNumber, number], +export type StargateTokenSwapEvent = TypedEvent< + [string, string, string, BigNumber, number], { - bridgeUsed: string; fromToken: string; - toToken: string; from: string; to: string; amount: BigNumber; @@ -192,20 +168,8 @@ export type SGTransferStartedEvent = TypedEvent< } >; -export type SGTransferStartedEventFilter = - TypedEventFilter; - -export type SGUpdatedRouterEvent = TypedEvent<[string], { newAddress: string }>; - -export type SGUpdatedRouterEventFilter = TypedEventFilter; - -export type SGUpdatedSlippageToleranceEvent = TypedEvent< - [BigNumber], - { newSlippage: BigNumber } ->; - -export type SGUpdatedSlippageToleranceEventFilter = - TypedEventFilter; +export type StargateTokenSwapEventFilter = + TypedEventFilter; export interface StargateFacet extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; @@ -234,382 +198,230 @@ export interface StargateFacet extends BaseContract { removeListener: OnEvent; functions: { - sgAddPool( + initStargate( + _stargateRouter: string, + _stargateETHRouter: string, _chainId: BigNumberish, + overrides?: Overrides & { from?: string | Promise } + ): Promise; + + sgReceive( + arg0: BigNumberish, + arg1: BytesLike, + arg2: BigNumberish, _token: string, - _poolId: BigNumberish, + _amountLD: BigNumberish, + _payload: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; - sgBridgeTokens( - _sgData: StargateDataStruct, + stargateETHTransfer( + _data: StargateETHTransferDataStruct, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; - sgCalculateFees( + stargateFees( _destChain: BigNumberish, _receiver: string, _router: string, overrides?: CallOverrides ): Promise<[BigNumber]>; - sgCheckPoolId( - _chainId: BigNumberish, - _token: string, - _poolId: BigNumberish, - overrides?: CallOverrides - ): Promise<[boolean]>; - - sgInitialize( - _stargateRouter: string, - _chainId: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - sgMinAmountOut( - _amount: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - sgReceive( - _chainId: BigNumberish, - _srcAddress: BytesLike, - _nonce: BigNumberish, - _token: string, - amountLD: BigNumberish, - _payload: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - sgRetrievePoolId( - _chainId: BigNumberish, - _token: string, - overrides?: CallOverrides - ): Promise<[number]>; - - sgUpdateRouter( - _newAddress: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - sgUpdateSlippageTolerance( - _newSlippage: BigNumberish, - overrides?: Overrides & { from?: string | Promise } + stargateTokenTransfer( + _data: StargateTransferDataStruct, + overrides?: PayableOverrides & { from?: string | Promise } ): Promise; }; - sgAddPool( + initStargate( + _stargateRouter: string, + _stargateETHRouter: string, _chainId: BigNumberish, + overrides?: Overrides & { from?: string | Promise } + ): Promise; + + sgReceive( + arg0: BigNumberish, + arg1: BytesLike, + arg2: BigNumberish, _token: string, - _poolId: BigNumberish, + _amountLD: BigNumberish, + _payload: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; - sgBridgeTokens( - _sgData: StargateDataStruct, + stargateETHTransfer( + _data: StargateETHTransferDataStruct, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; - sgCalculateFees( + stargateFees( _destChain: BigNumberish, _receiver: string, _router: string, overrides?: CallOverrides ): Promise; - sgCheckPoolId( - _chainId: BigNumberish, - _token: string, - _poolId: BigNumberish, - overrides?: CallOverrides - ): Promise; - - sgInitialize( - _stargateRouter: string, - _chainId: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - sgMinAmountOut( - _amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - sgReceive( - _chainId: BigNumberish, - _srcAddress: BytesLike, - _nonce: BigNumberish, - _token: string, - amountLD: BigNumberish, - _payload: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - sgRetrievePoolId( - _chainId: BigNumberish, - _token: string, - overrides?: CallOverrides - ): Promise; - - sgUpdateRouter( - _newAddress: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - sgUpdateSlippageTolerance( - _newSlippage: BigNumberish, - overrides?: Overrides & { from?: string | Promise } + stargateTokenTransfer( + _data: StargateTransferDataStruct, + overrides?: PayableOverrides & { from?: string | Promise } ): Promise; callStatic: { - sgAddPool( - _chainId: BigNumberish, - _token: string, - _poolId: BigNumberish, - overrides?: CallOverrides - ): Promise; - - sgBridgeTokens( - _sgData: StargateDataStruct, - overrides?: CallOverrides - ): Promise; - - sgCalculateFees( - _destChain: BigNumberish, - _receiver: string, - _router: string, - overrides?: CallOverrides - ): Promise; - - sgCheckPoolId( - _chainId: BigNumberish, - _token: string, - _poolId: BigNumberish, - overrides?: CallOverrides - ): Promise; - - sgInitialize( + initStargate( _stargateRouter: string, + _stargateETHRouter: string, _chainId: BigNumberish, overrides?: CallOverrides ): Promise; - sgMinAmountOut( - _amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - sgReceive( - _chainId: BigNumberish, - _srcAddress: BytesLike, - _nonce: BigNumberish, + arg0: BigNumberish, + arg1: BytesLike, + arg2: BigNumberish, _token: string, - amountLD: BigNumberish, + _amountLD: BigNumberish, _payload: BytesLike, overrides?: CallOverrides ): Promise; - sgRetrievePoolId( - _chainId: BigNumberish, - _token: string, + stargateETHTransfer( + _data: StargateETHTransferDataStruct, overrides?: CallOverrides - ): Promise; + ): Promise; - sgUpdateRouter( - _newAddress: string, + stargateFees( + _destChain: BigNumberish, + _receiver: string, + _router: string, overrides?: CallOverrides - ): Promise; + ): Promise; - sgUpdateSlippageTolerance( - _newSlippage: BigNumberish, + stargateTokenTransfer( + _data: StargateTransferDataStruct, overrides?: CallOverrides ): Promise; }; filters: { - "SGAddedPool(uint16,address,uint16)"( - chainId?: null, - token?: null, - poolId?: null - ): SGAddedPoolEventFilter; - SGAddedPool( - chainId?: null, - token?: null, - poolId?: null - ): SGAddedPoolEventFilter; + "StargateETHTokenSwap(address,address,uint256,uint16)"( + from?: null, + to?: null, + amount?: null, + chainIdTo?: null + ): StargateETHTokenSwapEventFilter; + StargateETHTokenSwap( + from?: null, + to?: null, + amount?: null, + chainIdTo?: null + ): StargateETHTokenSwapEventFilter; - "SGInitialized(address,uint16)"( - stargate?: null, + "StargateInitialized(address,address,uint16)"( + stargateRouter?: null, + stargateETHRouter?: null, + chainId?: null + ): StargateInitializedEventFilter; + StargateInitialized( + stargateRouter?: null, + stargateETHRouter?: null, chainId?: null - ): SGInitializedEventFilter; - SGInitialized(stargate?: null, chainId?: null): SGInitializedEventFilter; + ): StargateInitializedEventFilter; - "SGReceivedOnDestination(address,uint256)"( + "StargateReceivedOnDestination(address,uint256)"( token?: null, amount?: null - ): SGReceivedOnDestinationEventFilter; - SGReceivedOnDestination( + ): StargateReceivedOnDestinationEventFilter; + StargateReceivedOnDestination( token?: null, amount?: null - ): SGReceivedOnDestinationEventFilter; + ): StargateReceivedOnDestinationEventFilter; - "SGTransferStarted(string,address,address,address,address,uint256,uint16)"( - bridgeUsed?: null, + "StargateTokenSwap(address,address,address,uint256,uint16)"( fromToken?: null, - toToken?: null, from?: null, to?: null, amount?: null, chainIdTo?: null - ): SGTransferStartedEventFilter; - SGTransferStarted( - bridgeUsed?: null, + ): StargateTokenSwapEventFilter; + StargateTokenSwap( fromToken?: null, - toToken?: null, from?: null, to?: null, amount?: null, chainIdTo?: null - ): SGTransferStartedEventFilter; - - "SGUpdatedRouter(address)"(newAddress?: null): SGUpdatedRouterEventFilter; - SGUpdatedRouter(newAddress?: null): SGUpdatedRouterEventFilter; - - "SGUpdatedSlippageTolerance(uint256)"( - newSlippage?: null - ): SGUpdatedSlippageToleranceEventFilter; - SGUpdatedSlippageTolerance( - newSlippage?: null - ): SGUpdatedSlippageToleranceEventFilter; + ): StargateTokenSwapEventFilter; }; estimateGas: { - sgAddPool( + initStargate( + _stargateRouter: string, + _stargateETHRouter: string, _chainId: BigNumberish, + overrides?: Overrides & { from?: string | Promise } + ): Promise; + + sgReceive( + arg0: BigNumberish, + arg1: BytesLike, + arg2: BigNumberish, _token: string, - _poolId: BigNumberish, + _amountLD: BigNumberish, + _payload: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; - sgBridgeTokens( - _sgData: StargateDataStruct, + stargateETHTransfer( + _data: StargateETHTransferDataStruct, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; - sgCalculateFees( + stargateFees( _destChain: BigNumberish, _receiver: string, _router: string, overrides?: CallOverrides ): Promise; - sgCheckPoolId( - _chainId: BigNumberish, - _token: string, - _poolId: BigNumberish, - overrides?: CallOverrides + stargateTokenTransfer( + _data: StargateTransferDataStruct, + overrides?: PayableOverrides & { from?: string | Promise } ): Promise; + }; - sgInitialize( + populateTransaction: { + initStargate( _stargateRouter: string, + _stargateETHRouter: string, _chainId: BigNumberish, overrides?: Overrides & { from?: string | Promise } - ): Promise; - - sgMinAmountOut( - _amount: BigNumberish, - overrides?: CallOverrides - ): Promise; + ): Promise; sgReceive( - _chainId: BigNumberish, - _srcAddress: BytesLike, - _nonce: BigNumberish, + arg0: BigNumberish, + arg1: BytesLike, + arg2: BigNumberish, _token: string, - amountLD: BigNumberish, + _amountLD: BigNumberish, _payload: BytesLike, overrides?: Overrides & { from?: string | Promise } - ): Promise; - - sgRetrievePoolId( - _chainId: BigNumberish, - _token: string, - overrides?: CallOverrides - ): Promise; - - sgUpdateRouter( - _newAddress: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - sgUpdateSlippageTolerance( - _newSlippage: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - populateTransaction: { - sgAddPool( - _chainId: BigNumberish, - _token: string, - _poolId: BigNumberish, - overrides?: Overrides & { from?: string | Promise } ): Promise; - sgBridgeTokens( - _sgData: StargateDataStruct, + stargateETHTransfer( + _data: StargateETHTransferDataStruct, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; - sgCalculateFees( + stargateFees( _destChain: BigNumberish, _receiver: string, _router: string, overrides?: CallOverrides ): Promise; - sgCheckPoolId( - _chainId: BigNumberish, - _token: string, - _poolId: BigNumberish, - overrides?: CallOverrides - ): Promise; - - sgInitialize( - _stargateRouter: string, - _chainId: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - sgMinAmountOut( - _amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - sgReceive( - _chainId: BigNumberish, - _srcAddress: BytesLike, - _nonce: BigNumberish, - _token: string, - amountLD: BigNumberish, - _payload: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - sgRetrievePoolId( - _chainId: BigNumberish, - _token: string, - overrides?: CallOverrides - ): Promise; - - sgUpdateRouter( - _newAddress: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - sgUpdateSlippageTolerance( - _newSlippage: BigNumberish, - overrides?: Overrides & { from?: string | Promise } + stargateTokenTransfer( + _data: StargateTransferDataStruct, + overrides?: PayableOverrides & { from?: string | Promise } ): Promise; }; } diff --git a/typings/factories/ConnextFacet__factory.ts b/typings/factories/ConnextFacet__factory.ts index 9c8e096d..0749c792 100644 --- a/typings/factories/ConnextFacet__factory.ts +++ b/typings/factories/ConnextFacet__factory.ts @@ -213,7 +213,7 @@ const _abi = [ ]; const _bytecode = - "0x60806040526040518060400160405280601881526020017f436f6e6e6578743a20696e76616c696420616464726573730000000000000000815250600090816200004a9190620002d9565b503480156200005857600080fd5b50620003c0565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620000e157607f821691505b602082108103620000f757620000f662000099565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001617fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000122565b6200016d868362000122565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620001ba620001b4620001ae8462000185565b6200018f565b62000185565b9050919050565b6000819050919050565b620001d68362000199565b620001ee620001e582620001c1565b8484546200012f565b825550505050565b600090565b62000205620001f6565b62000212818484620001cb565b505050565b5b818110156200023a576200022e600082620001fb565b60018101905062000218565b5050565b601f82111562000289576200025381620000fd565b6200025e8462000112565b810160208510156200026e578190505b620002866200027d8562000112565b83018262000217565b50505b505050565b600082821c905092915050565b6000620002ae600019846008026200028e565b1980831691505092915050565b6000620002c983836200029b565b9150826002028217905092915050565b620002e4826200005f565b67ffffffffffffffff8111156200030057620002ff6200006a565b5b6200030c8254620000c8565b620003198282856200023e565b600060209050601f8311600181146200035157600084156200033c578287015190505b620003488582620002bb565b865550620003b8565b601f1984166200036186620000fd565b60005b828110156200038b5784890151825560018201915060208501945060208101905062000364565b86831015620003ab5784890151620003a7601f8916826200029b565b8355505b6001600288020188555050505b505050505050565b611c0a80620003d06000396000f3fe6080604052600436106100345760003560e01c80633205dc691461003957806351b401b914610062578063da328d541461007e575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190611079565b61009a565b005b61007c60048036038101906100779190611102565b6102a8565b005b61009860048036038101906100939190611102565b610667565b005b6100a2610a07565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415600090610116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010d9190611299565b60405180910390fd5b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141560009061018b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101829190611299565b60405180910390fd5b506000610196610aa2565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160000160146101000a81548163ffffffff021916908363ffffffff160217905550818160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168363ffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe23ac138025651e2fb684be9a5c635424d4dac7fc73449494c24c4955e79027860405160405180910390a450505050565b60006102b2610acf565b90506000879050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16141560009061032d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103249190611299565b60405180910390fd5b50600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156000906103a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103999190611299565b60405180910390fd5b506103ab610b02565b63ffffffff168563ffffffff16036103f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ef9061132d565b60405180910390fd5b82341461043a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043190611399565b60405180910390fd5b868173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b81526004016104769291906113c8565b602060405180830381865afa158015610493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b79190611406565b10156104f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ef906114a5565b60405180910390fd5b6105253330898473ffffffffffffffffffffffffffffffffffffffff16610b25909392919063ffffffff16565b61055082888373ffffffffffffffffffffffffffffffffffffffff16610bae9092919063ffffffff16565b60008273ffffffffffffffffffffffffffffffffffffffff16638aac16ba85888a8d338e8c604051806020016040528060008152506040518963ffffffff1660e01b81526004016105a79796959493929190611573565b60206040518083038185885af11580156105c5573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105ea919061161f565b90508873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167f1a0290ac7c224ab0140c811403ba545f80e92404b9979b69e52b3f589bc1c1e08b88866040516106549392919061165b565b60405180910390a4505050505050505050565b6000610671610acf565b9050600061067d610cfd565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614156000906106f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ea9190611299565b60405180910390fd5b50600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415600090610768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075f9190611299565b60405180910390fd5b50610771610b02565b63ffffffff168563ffffffff16036107be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b59061132d565b60405180910390fd5b82876107ca91906116c1565b341461080b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080290611767565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b15801561085857600080fd5b505af115801561086c573d6000803e3d6000fd5b50505050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3848a6040518363ffffffff1660e01b81526004016108ac929190611787565b6020604051808303816000875af11580156108cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ef91906117e8565b50506000866040516020016109049190611815565b604051602081830303815290604052905060008373ffffffffffffffffffffffffffffffffffffffff16638aac16ba86898d87338f8d8a6040518963ffffffff1660e01b815260040161095d9796959493929190611573565b60206040518083038185885af115801561097b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109a0919061161f565b90508773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167fe16c7dcc828782adcdd94aaeb1d07c3ae5a6d593a6b851ab5e023f9c961436873488856040516109f39392919061165b565b60405180910390a350505050505050505050565b610a0f610d30565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a97906118a2565b60405180910390fd5b565b6000807ffa2e9c22c7fe2104814a1d7e2c66c58d10a2d7989d5bcf01173a2564aa59c04d90508091505090565b6000610ad9610aa2565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610b0c610aa2565b60000160149054906101000a900463ffffffff16905090565b610ba8846323b872dd60e01b858585604051602401610b46939291906118c2565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d5d565b50505050565b6000811480610c38575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610bf59291906113c8565b602060405180830381865afa158015610c12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c369190611406565b145b610c77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6e9061196b565b60405180910390fd5b610cf88363095ea7b360e01b8484604051602401610c96929190611787565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d5d565b505050565b6000610d07610aa2565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610dbf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610e249092919063ffffffff16565b9050600081511115610e1f5780806020019051810190610ddf91906117e8565b610e1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e15906119fd565b60405180910390fd5b5b505050565b6060610e338484600085610e3c565b90509392505050565b606082471015610e81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7890611a8f565b60405180910390fd5b610e8a85610f50565b610ec9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec090611afb565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ef29190611b57565b60006040518083038185875af1925050503d8060008114610f2f576040519150601f19603f3d011682016040523d82523d6000602084013e610f34565b606091505b5091509150610f44828286610f73565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610f8357829050610fd3565b600083511115610f965782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fca9190611bb2565b60405180910390fd5b9392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061100a82610fdf565b9050919050565b61101a81610fff565b811461102557600080fd5b50565b60008135905061103781611011565b92915050565b600063ffffffff82169050919050565b6110568161103d565b811461106157600080fd5b50565b6000813590506110738161104d565b92915050565b60008060006060848603121561109257611091610fda565b5b60006110a086828701611028565b93505060206110b186828701611064565b92505060406110c286828701611028565b9150509250925092565b6000819050919050565b6110df816110cc565b81146110ea57600080fd5b50565b6000813590506110fc816110d6565b92915050565b60008060008060008060c0878903121561111f5761111e610fda565b5b600061112d89828a01611028565b965050602061113e89828a016110ed565b955050604061114f89828a01611028565b945050606061116089828a01611064565b935050608061117189828a016110ed565b92505060a061118289828a016110ed565b9150509295509295509295565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806111d657607f821691505b6020821081036111e9576111e861118f565b5b50919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b60008154611222816111be565b61122c81866111ef565b94506001821660008114611247576001811461125d57611290565b60ff198316865281151560200286019350611290565b61126685611200565b60005b8381101561128857815481890152600182019150602081019050611269565b808801955050505b50505092915050565b600060208201905081810360008301526112b38184611215565b905092915050565b7f436f6e6e6578743a2043616e6e6f742062726964676520746f2073616d65206460008201527f6f6d61696e000000000000000000000000000000000000000000000000000000602082015250565b60006113176025836111ef565b9150611322826112bb565b604082019050919050565b600060208201905081810360008301526113468161130a565b9050919050565b7f436f6e6e6578743a2072656c6179657246656520213d206d73672e76616c7565600082015250565b60006113836020836111ef565b915061138e8261134d565b602082019050919050565b600060208201905081810360008301526113b281611376565b9050919050565b6113c281610fff565b82525050565b60006040820190506113dd60008301856113b9565b6113ea60208301846113b9565b9392505050565b600081519050611400816110d6565b92915050565b60006020828403121561141c5761141b610fda565b5b600061142a848285016113f1565b91505092915050565b7f436f6e6e6578743a2055736572206d75737420617070726f766520616d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b600061148f6021836111ef565b915061149a82611433565b604082019050919050565b600060208201905081810360008301526114be81611482565b9050919050565b6114ce8161103d565b82525050565b6114dd816110cc565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561151d578082015181840152602081019050611502565b60008484015250505050565b6000601f19601f8301169050919050565b6000611545826114e3565b61154f81856114ee565b935061155f8185602086016114ff565b61156881611529565b840191505092915050565b600060e082019050611588600083018a6114c5565b61159560208301896113b9565b6115a260408301886113b9565b6115af60608301876113b9565b6115bc60808301866114d4565b6115c960a08301856114d4565b81810360c08301526115db818461153a565b905098975050505050505050565b6000819050919050565b6115fc816115e9565b811461160757600080fd5b50565b600081519050611619816115f3565b92915050565b60006020828403121561163557611634610fda565b5b60006116438482850161160a565b91505092915050565b611655816115e9565b82525050565b600060608201905061167060008301866114d4565b61167d60208301856114d4565b61168a604083018461164c565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006116cc826110cc565b91506116d7836110cc565b92508282019050808211156116ef576116ee611692565b5b92915050565b7f436f6e6e6578743a20616d6f756e74202b2072656c6179657246656520213d2060008201527f6d73672e76616c75650000000000000000000000000000000000000000000000602082015250565b60006117516029836111ef565b915061175c826116f5565b604082019050919050565b6000602082019050818103600083015261178081611744565b9050919050565b600060408201905061179c60008301856113b9565b6117a960208301846114d4565b9392505050565b60008115159050919050565b6117c5816117b0565b81146117d057600080fd5b50565b6000815190506117e2816117bc565b92915050565b6000602082840312156117fe576117fd610fda565b5b600061180c848285016117d3565b91505092915050565b600060208201905061182a60008301846113b9565b92915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b600061188c6022836111ef565b915061189782611830565b604082019050919050565b600060208201905081810360008301526118bb8161187f565b9050919050565b60006060820190506118d760008301866113b9565b6118e460208301856113b9565b6118f160408301846114d4565b949350505050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b60006119556036836111ef565b9150611960826118f9565b604082019050919050565b6000602082019050818103600083015261198481611948565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b60006119e7602a836111ef565b91506119f28261198b565b604082019050919050565b60006020820190508181036000830152611a16816119da565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000611a796026836111ef565b9150611a8482611a1d565b604082019050919050565b60006020820190508181036000830152611aa881611a6c565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000611ae5601d836111ef565b9150611af082611aaf565b602082019050919050565b60006020820190508181036000830152611b1481611ad8565b9050919050565b600081905092915050565b6000611b31826114e3565b611b3b8185611b1b565b9350611b4b8185602086016114ff565b80840191505092915050565b6000611b638284611b26565b915081905092915050565b600081519050919050565b6000611b8482611b6e565b611b8e81856111ef565b9350611b9e8185602086016114ff565b611ba781611529565b840191505092915050565b60006020820190508181036000830152611bcc8184611b79565b90509291505056fea264697066735822122028f18a6f224a462af4b116e22a556e60fe0171dbe7a6308b8a3813290ea6ad5764736f6c63430008110033"; + "0x608060405234801561001057600080fd5b50611b37806100206000396000f3fe6080604052600436106100345760003560e01c80633205dc691461003957806351b401b914610062578063da328d541461007e575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190611055565b61009a565b005b61007c600480360381019061007791906110de565b61029c565b005b610098600480360381019061009391906110de565b61064f565b005b6100a26109e3565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610108906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906111c8565b60405180910390fd5b600061018a610a7e565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160000160146101000a81548163ffffffff021916908363ffffffff160217905550818160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168363ffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe23ac138025651e2fb684be9a5c635424d4dac7fc73449494c24c4955e79027860405160405180910390a450505050565b60006102a6610aab565b90506000879050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff160361031c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610313906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361038b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610382906111c8565b60405180910390fd5b610393610ade565b63ffffffff168563ffffffff16036103e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d79061125a565b60405180910390fd5b823414610422576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610419906112c6565b60405180910390fd5b868173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b815260040161045e9291906112f5565b602060405180830381865afa15801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049f9190611333565b10156104e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d7906113d2565b60405180910390fd5b61050d3330898473ffffffffffffffffffffffffffffffffffffffff16610b01909392919063ffffffff16565b61053882888373ffffffffffffffffffffffffffffffffffffffff16610b8a9092919063ffffffff16565b60008273ffffffffffffffffffffffffffffffffffffffff16638aac16ba85888a8d338e8c604051806020016040528060008152506040518963ffffffff1660e01b815260040161058f97969594939291906114a0565b60206040518083038185885af11580156105ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105d2919061154c565b90508873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167f1a0290ac7c224ab0140c811403ba545f80e92404b9979b69e52b3f589bc1c1e08b888660405161063c93929190611588565b60405180910390a4505050505050505050565b6000610659610aab565b90506000610665610cd9565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16036106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cd906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073c906111c8565b60405180910390fd5b61074d610ade565b63ffffffff168563ffffffff160361079a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107919061125a565b60405180910390fd5b82876107a691906115ee565b34146107e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107de90611694565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b15801561083457600080fd5b505af1158015610848573d6000803e3d6000fd5b50505050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3848a6040518363ffffffff1660e01b81526004016108889291906116b4565b6020604051808303816000875af11580156108a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cb9190611715565b50506000866040516020016108e09190611742565b604051602081830303815290604052905060008373ffffffffffffffffffffffffffffffffffffffff16638aac16ba86898d87338f8d8a6040518963ffffffff1660e01b815260040161093997969594939291906114a0565b60206040518083038185885af1158015610957573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061097c919061154c565b90508773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167fe16c7dcc828782adcdd94aaeb1d07c3ae5a6d593a6b851ab5e023f9c961436873488856040516109cf93929190611588565b60405180910390a350505050505050505050565b6109eb610d0c565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a73906117cf565b60405180910390fd5b565b6000807ffa2e9c22c7fe2104814a1d7e2c66c58d10a2d7989d5bcf01173a2564aa59c04d90508091505090565b6000610ab5610a7e565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610ae8610a7e565b60000160149054906101000a900463ffffffff16905090565b610b84846323b872dd60e01b858585604051602401610b22939291906117ef565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b50505050565b6000811480610c14575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610bd19291906112f5565b602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611333565b145b610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90611898565b60405180910390fd5b610cd48363095ea7b360e01b8484604051602401610c729291906116b4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b505050565b6000610ce3610a7e565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610d9b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610e009092919063ffffffff16565b9050600081511115610dfb5780806020019051810190610dbb9190611715565b610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df19061192a565b60405180910390fd5b5b505050565b6060610e0f8484600085610e18565b90509392505050565b606082471015610e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e54906119bc565b60405180910390fd5b610e6685610f2c565b610ea5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9c90611a28565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ece9190611a84565b60006040518083038185875af1925050503d8060008114610f0b576040519150601f19603f3d011682016040523d82523d6000602084013e610f10565b606091505b5091509150610f20828286610f4f565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610f5f57829050610faf565b600083511115610f725782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa69190611adf565b60405180910390fd5b9392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610fe682610fbb565b9050919050565b610ff681610fdb565b811461100157600080fd5b50565b60008135905061101381610fed565b92915050565b600063ffffffff82169050919050565b61103281611019565b811461103d57600080fd5b50565b60008135905061104f81611029565b92915050565b60008060006060848603121561106e5761106d610fb6565b5b600061107c86828701611004565b935050602061108d86828701611040565b925050604061109e86828701611004565b9150509250925092565b6000819050919050565b6110bb816110a8565b81146110c657600080fd5b50565b6000813590506110d8816110b2565b92915050565b60008060008060008060c087890312156110fb576110fa610fb6565b5b600061110989828a01611004565b965050602061111a89828a016110c9565b955050604061112b89828a01611004565b945050606061113c89828a01611040565b935050608061114d89828a016110c9565b92505060a061115e89828a016110c9565b9150509295509295509295565b600082825260208201905092915050565b7f436f6e6e6578743a20696e76616c696420616464726573730000000000000000600082015250565b60006111b260188361116b565b91506111bd8261117c565b602082019050919050565b600060208201905081810360008301526111e1816111a5565b9050919050565b7f436f6e6e6578743a2043616e6e6f742062726964676520746f2073616d65206460008201527f6f6d61696e000000000000000000000000000000000000000000000000000000602082015250565b600061124460258361116b565b915061124f826111e8565b604082019050919050565b6000602082019050818103600083015261127381611237565b9050919050565b7f436f6e6e6578743a2072656c6179657246656520213d206d73672e76616c7565600082015250565b60006112b060208361116b565b91506112bb8261127a565b602082019050919050565b600060208201905081810360008301526112df816112a3565b9050919050565b6112ef81610fdb565b82525050565b600060408201905061130a60008301856112e6565b61131760208301846112e6565b9392505050565b60008151905061132d816110b2565b92915050565b60006020828403121561134957611348610fb6565b5b60006113578482850161131e565b91505092915050565b7f436f6e6e6578743a2055736572206d75737420617070726f766520616d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b60006113bc60218361116b565b91506113c782611360565b604082019050919050565b600060208201905081810360008301526113eb816113af565b9050919050565b6113fb81611019565b82525050565b61140a816110a8565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561144a57808201518184015260208101905061142f565b60008484015250505050565b6000601f19601f8301169050919050565b600061147282611410565b61147c818561141b565b935061148c81856020860161142c565b61149581611456565b840191505092915050565b600060e0820190506114b5600083018a6113f2565b6114c260208301896112e6565b6114cf60408301886112e6565b6114dc60608301876112e6565b6114e96080830186611401565b6114f660a0830185611401565b81810360c08301526115088184611467565b905098975050505050505050565b6000819050919050565b61152981611516565b811461153457600080fd5b50565b60008151905061154681611520565b92915050565b60006020828403121561156257611561610fb6565b5b600061157084828501611537565b91505092915050565b61158281611516565b82525050565b600060608201905061159d6000830186611401565b6115aa6020830185611401565b6115b76040830184611579565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115f9826110a8565b9150611604836110a8565b925082820190508082111561161c5761161b6115bf565b5b92915050565b7f436f6e6e6578743a20616d6f756e74202b2072656c6179657246656520213d2060008201527f6d73672e76616c75650000000000000000000000000000000000000000000000602082015250565b600061167e60298361116b565b915061168982611622565b604082019050919050565b600060208201905081810360008301526116ad81611671565b9050919050565b60006040820190506116c960008301856112e6565b6116d66020830184611401565b9392505050565b60008115159050919050565b6116f2816116dd565b81146116fd57600080fd5b50565b60008151905061170f816116e9565b92915050565b60006020828403121561172b5761172a610fb6565b5b600061173984828501611700565b91505092915050565b600060208201905061175760008301846112e6565b92915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006117b960228361116b565b91506117c48261175d565b604082019050919050565b600060208201905081810360008301526117e8816117ac565b9050919050565b600060608201905061180460008301866112e6565b61181160208301856112e6565b61181e6040830184611401565b949350505050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b600061188260368361116b565b915061188d82611826565b604082019050919050565b600060208201905081810360008301526118b181611875565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000611914602a8361116b565b915061191f826118b8565b604082019050919050565b6000602082019050818103600083015261194381611907565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006119a660268361116b565b91506119b18261194a565b604082019050919050565b600060208201905081810360008301526119d581611999565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000611a12601d8361116b565b9150611a1d826119dc565b602082019050919050565b60006020820190508181036000830152611a4181611a05565b9050919050565b600081905092915050565b6000611a5e82611410565b611a688185611a48565b9350611a7881856020860161142c565b80840191505092915050565b6000611a908284611a53565b915081905092915050565b600081519050919050565b6000611ab182611a9b565b611abb818561116b565b9350611acb81856020860161142c565b611ad481611456565b840191505092915050565b60006020820190508181036000830152611af98184611aa6565b90509291505056fea26469706673582212200d70fd58632d77e9650d1e907185cdd7cc0a2b728b4ea1a95a30b45c7bc071e364736f6c63430008110033"; type ConnextFacetConstructorParams = | [signer?: Signer] diff --git a/typings/factories/IStargateReceiver__factory.ts b/typings/factories/IStargateReceiver__factory.ts index a4aee01c..08ebd2bc 100644 --- a/typings/factories/IStargateReceiver__factory.ts +++ b/typings/factories/IStargateReceiver__factory.ts @@ -14,7 +14,7 @@ const _abi = [ inputs: [ { internalType: "uint16", - name: "_srcChainId", + name: "_chainId", type: "uint16", }, { diff --git a/typings/factories/IStargateRouterETH__factory.ts b/typings/factories/IStargateRouterETH__factory.ts new file mode 100644 index 00000000..1a1d894d --- /dev/null +++ b/typings/factories/IStargateRouterETH__factory.ts @@ -0,0 +1,66 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import { Provider } from "@ethersproject/providers"; +import type { + IStargateRouterETH, + IStargateRouterETHInterface, +} from "../IStargateRouterETH"; + +const _abi = [ + { + inputs: [], + name: "addLiquidityETH", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint16", + name: "dstChainId", + type: "uint16", + }, + { + internalType: "address payable", + name: "refundAddress", + type: "address", + }, + { + internalType: "bytes", + name: "to", + type: "bytes", + }, + { + internalType: "uint256", + name: "amountLD", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAmountLD", + type: "uint256", + }, + ], + name: "swapETH", + outputs: [], + stateMutability: "payable", + type: "function", + }, +]; + +export class IStargateRouterETH__factory { + static readonly abi = _abi; + static createInterface(): IStargateRouterETHInterface { + return new utils.Interface(_abi) as IStargateRouterETHInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IStargateRouterETH { + return new Contract(address, _abi, signerOrProvider) as IStargateRouterETH; + } +} diff --git a/typings/factories/StargateFacet__factory.ts b/typings/factories/StargateFacet__factory.ts index 882a57f5..a32f6f16 100644 --- a/typings/factories/StargateFacet__factory.ts +++ b/typings/factories/StargateFacet__factory.ts @@ -6,59 +6,40 @@ import { Provider, TransactionRequest } from "@ethersproject/providers"; import type { StargateFacet, StargateFacetInterface } from "../StargateFacet"; const _abi = [ - { - inputs: [], - name: "InvalidAmount", - type: "error", - }, - { - inputs: [], - name: "InvalidConfig", - type: "error", - }, - { - inputs: [], - name: "InvalidSourcePoolId", - type: "error", - }, { inputs: [], name: "ReentrancyError", type: "error", }, - { - inputs: [], - name: "SenderNotStargateRouter", - type: "error", - }, - { - inputs: [], - name: "StargateRouterAddressZero", - type: "error", - }, { anonymous: false, inputs: [ { indexed: false, - internalType: "uint16", - name: "chainId", - type: "uint16", + internalType: "address", + name: "from", + type: "address", }, { indexed: false, internalType: "address", - name: "token", + name: "to", type: "address", }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, { indexed: false, internalType: "uint16", - name: "poolId", + name: "chainIdTo", type: "uint16", }, ], - name: "SGAddedPool", + name: "StargateETHTokenSwap", type: "event", }, { @@ -67,7 +48,13 @@ const _abi = [ { indexed: false, internalType: "address", - name: "stargate", + name: "stargateRouter", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "stargateETHRouter", type: "address", }, { @@ -77,7 +64,7 @@ const _abi = [ type: "uint16", }, ], - name: "SGInitialized", + name: "StargateInitialized", type: "event", }, { @@ -96,30 +83,18 @@ const _abi = [ type: "uint256", }, ], - name: "SGReceivedOnDestination", + name: "StargateReceivedOnDestination", type: "event", }, { anonymous: false, inputs: [ - { - indexed: false, - internalType: "string", - name: "bridgeUsed", - type: "string", - }, { indexed: false, internalType: "address", name: "fromToken", type: "address", }, - { - indexed: false, - internalType: "address", - name: "toToken", - type: "address", - }, { indexed: false, internalType: "address", @@ -145,54 +120,66 @@ const _abi = [ type: "uint16", }, ], - name: "SGTransferStarted", + name: "StargateTokenSwap", type: "event", }, { - anonymous: false, inputs: [ { - indexed: false, internalType: "address", - name: "newAddress", + name: "_stargateRouter", type: "address", }, - ], - name: "SGUpdatedRouter", - type: "event", - }, - { - anonymous: false, - inputs: [ { - indexed: false, - internalType: "uint256", - name: "newSlippage", - type: "uint256", + internalType: "address", + name: "_stargateETHRouter", + type: "address", + }, + { + internalType: "uint16", + name: "_chainId", + type: "uint16", }, ], - name: "SGUpdatedSlippageTolerance", - type: "event", + name: "initStargate", + outputs: [], + stateMutability: "nonpayable", + type: "function", }, { inputs: [ { internalType: "uint16", - name: "_chainId", + name: "", type: "uint16", }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, { internalType: "address", name: "_token", type: "address", }, { - internalType: "uint16", - name: "_poolId", - type: "uint16", + internalType: "uint256", + name: "_amountLD", + type: "uint256", + }, + { + internalType: "bytes", + name: "_payload", + type: "bytes", }, ], - name: "sgAddPool", + name: "sgReceive", outputs: [], stateMutability: "nonpayable", type: "function", @@ -203,19 +190,9 @@ const _abi = [ components: [ { internalType: "uint256", - name: "qty", + name: "amount", type: "uint256", }, - { - internalType: "address", - name: "fromToken", - type: "address", - }, - { - internalType: "address", - name: "toToken", - type: "address", - }, { internalType: "uint16", name: "dstChainId", @@ -227,17 +204,17 @@ const _abi = [ type: "address", }, { - internalType: "address", - name: "destStargateComposed", - type: "address", + internalType: "uint16", + name: "slippage", + type: "uint16", }, ], - internalType: "struct StargateFacet.StargateData", - name: "_sgData", + internalType: "struct StargateFacet.StargateETHTransferData", + name: "_data", type: "tuple", }, ], - name: "sgBridgeTokens", + name: "stargateETHTransfer", outputs: [], stateMutability: "payable", type: "function", @@ -255,12 +232,12 @@ const _abi = [ type: "address", }, { - internalType: "address", + internalType: "contract IStargateRouter", name: "_router", type: "address", }, ], - name: "sgCalculateFees", + name: "stargateFees", outputs: [ { internalType: "uint256", @@ -274,161 +251,62 @@ const _abi = [ { inputs: [ { - internalType: "uint16", - name: "_chainId", - type: "uint16", - }, - { - internalType: "address", - name: "_token", - type: "address", - }, - { - internalType: "uint16", - name: "_poolId", - type: "uint16", - }, - ], - name: "sgCheckPoolId", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_stargateRouter", - type: "address", - }, - { - internalType: "uint16", - name: "_chainId", - type: "uint16", - }, - ], - name: "sgInitialize", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "_amount", - type: "uint256", - }, - ], - name: "sgMinAmountOut", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint16", - name: "_chainId", - type: "uint16", - }, - { - internalType: "bytes", - name: "_srcAddress", - type: "bytes", - }, - { - internalType: "uint256", - name: "_nonce", - type: "uint256", - }, - { - internalType: "address", - name: "_token", - type: "address", - }, - { - internalType: "uint256", - name: "amountLD", - type: "uint256", - }, - { - internalType: "bytes", - name: "_payload", - type: "bytes", - }, - ], - name: "sgReceive", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint16", - name: "_chainId", - type: "uint16", - }, - { - internalType: "address", - name: "_token", - type: "address", - }, - ], - name: "sgRetrievePoolId", - outputs: [ - { - internalType: "uint16", - name: "", - type: "uint16", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_newAddress", - type: "address", - }, - ], - name: "sgUpdateRouter", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "_newSlippage", - type: "uint256", + components: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "bridgeToken", + type: "address", + }, + { + internalType: "uint16", + name: "dstChainId", + type: "uint16", + }, + { + internalType: "uint16", + name: "srcPoolId", + type: "uint16", + }, + { + internalType: "uint16", + name: "dstPoolId", + type: "uint16", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint16", + name: "slippage", + type: "uint16", + }, + { + internalType: "uint256", + name: "destStargateComposed", + type: "uint256", + }, + ], + internalType: "struct StargateFacet.StargateTransferData", + name: "_data", + type: "tuple", }, ], - name: "sgUpdateSlippageTolerance", + name: "stargateTokenTransfer", outputs: [], - stateMutability: "nonpayable", + stateMutability: "payable", type: "function", }, ]; const _bytecode = - "0x608060405234801561001057600080fd5b506125df806100206000396000f3fe6080604052600436106100915760003560e01c8063498ee46911610059578063498ee469146101925780634be85c35146101bb578063618c3f29146101e4578063ab8236f314610221578063b8c06ccc1461024a57610091565b80631f8097fb14610096578063217aabb7146100b25780632a8dcdb7146100db57806342d910c614610118578063430dbc3a14610155575b600080fd5b6100b060048036038101906100ab91906117a5565b610273565b005b3480156100be57600080fd5b506100d960048036038101906100d49190611961565b610734565b005b3480156100e757600080fd5b5061010260048036038101906100fd9190611859565b61078c565b60405161010f9190611d9e565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a919061180a565b610824565b60405161014c9190612049565b60405180910390f35b34801561016157600080fd5b5061017c600480360381019061017791906117ce565b610936565b6040516101899190611eef565b60405180910390f35b34801561019e57600080fd5b506101b960048036038101906101b49190611740565b6109b5565b005b3480156101c757600080fd5b506101e260048036038101906101dd91906116ee565b610c66565b005b3480156101f057600080fd5b5061020b60048036038101906102069190611961565b610d5f565b6040516102189190612049565b60405180910390f35b34801561022d57600080fd5b50610248600480360381019061024391906118a8565b610d9e565b005b34801561025657600080fd5b50610271600480360381019061026c9190611859565b610f1c565b005b600061027d610fe6565b90506001816000015414156102be576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181600001819055506000826000015111610306576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff1614806103755750600073ffffffffffffffffffffffffffffffffffffffff16826040015173ffffffffffffffffffffffffffffffffffffffff16145b806103b05750600073ffffffffffffffffffffffffffffffffffffffff16826080015173ffffffffffffffffffffffffffffffffffffffff16145b806103eb5750600073ffffffffffffffffffffffffffffffffffffffff168260a0015173ffffffffffffffffffffffffffffffffffffffff16145b15610422576040517f35be3ac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061042c611013565b905060006104508260000160149054906101000a900461ffff168560200151610936565b905060008161ffff161415610491576040517f7790ca9900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006104a585606001518660400151610936565b905060006104e0866060015187608001518660000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610824565b905060006104f18760000151610d5f565b905060008760a0015160405160200161050a9190611c9f565b6040516020818303038152906040529050600088608001516040516020016105329190611cd1565b604051602081830303815290604052905061057833308b600001518c6020015173ffffffffffffffffffffffffffffffffffffffff16611040909392919063ffffffff16565b6105cf8760000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168a600001518b6020015173ffffffffffffffffffffffffffffffffffffffff166110c99092919063ffffffff16565b8660000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fbf10fc858b606001518989338f600001518a604051806060016040528062030d408152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161069899989796959493929190611fa7565b6000604051808303818588803b1580156106b157600080fd5b505af11580156106c5573d6000803e3d6000fd5b50505050507f7a72e6f4a3d77f8a5a6c536a973421c5bf00107f9aec7995661537673b8be08789602001518a60400151338c608001518d600001518e6060015160405161071796959493929190611e1b565b60405180910390a150505050505050600081600001819055505050565b61073c611227565b6000610746611013565b90508181600201819055507f45934903f6b10aff9d3435b8362d284d95d14ca68e8554f05f04c7856a6003c0826040516107809190612049565b60405180910390a15050565b600080610797611013565b90508261ffff168160030160008761ffff1661ffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff1661ffff161461081757600061081a565b60015b9150509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a512369866001876040516020016108579190611c9f565b604051602081830303815290604052604051806060016040528062030d408152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152506040518563ffffffff1660e01b81526004016108d99493929190611f41565b604080518083038186803b1580156108f057600080fd5b505afa158015610904573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092891906119b3565b509050809150509392505050565b600080610941611013565b90508060030160008561ffff1661ffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff1691505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a1c576040517f35be3ac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a24611227565b6000610a2e611013565b9050828160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818160000160146101000a81548161ffff021916908361ffff16021790555060328160020181905550610abd600173a0b86991c6218b36c1d19d4a2e9eb0ce3606eb486001610f1c565b610ade600173dac17f958d2ee523a2206206994597c13d831ec76002610f1c565b610aff60027355d398326f99059ff775485246999027b31979556002610f1c565b610b20600273e9e7cea3dedca5984780bafc599bd69add087d566005610f1c565b610b41600673b97ef9ef8734c71904d8002f8b6bc66dd9c48a6e6001610f1c565b610b626006739702230a8ea53601f5cd2dc00fdbc13d4df4a8c76002610f1c565b610b836009732791bca1f2de4661ed88a30c99a7a9449aa841746001610f1c565b610ba4600973c2132d05d31c914a87c6611c10748aeb04b58e8f6002610f1c565b610bc5600a73ff970a61a04b1ca14834a43f5de4533ebddb5cc86001610f1c565b610be6600a73fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb96002610f1c565b610c07600b737f5c764cbc14f9669b88837ca1490cca17c316076001610f1c565b610c28600c7304068da6c83afcfa0e13ba15a6696662335d5b756001610f1c565b7fc8ec31998a27444f477c01de93c393769fd4fc017fb63163f71f8a8ab72ccd508383604051610c59929190611d4c565b60405180910390a1505050565b610c6e611227565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cd5576040517f3911c65500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610cdf611013565b9050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f9ac04272c4559bf7459414abb5568dc1df58ab649f0af4afd1510074f5cc2fec82604051610d539190611cd1565b60405180910390a15050565b600080610d6a611013565b90506127108160020154612710610d819190612199565b84610d8c919061213f565b610d96919061210e565b915050919050565b6000610da8611013565b90508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e33576040517fdade3c7100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190610e499190611717565b90508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82866040518363ffffffff1660e01b8152600401610e86929190611d75565b602060405180830381600087803b158015610ea057600080fd5b505af1158015610eb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed8919061177c565b507f827e3293895509ef037b7438d4e009f37ad7b2562a14695d9dfd9cb0659842188585604051610f0a929190611d75565b60405180910390a15050505050505050565b610f24611227565b6000610f2e611013565b9050818160030160008661ffff1661ffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f85adba3a23dc45072c12199244adfbf4c1d736a46ac453eb732f4e5158af5867848484604051610fd893929190611f0a565b60405180910390a150505050565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6110c3846323b872dd60e01b85858560405160240161106193929190611d15565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506112c2565b50505050565b6000811480611162575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401611110929190611cec565b60206040518083038186803b15801561112857600080fd5b505afa15801561113c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611160919061198a565b145b6111a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119890611ecf565b60405180910390fd5b6112228363095ea7b360e01b84846040516024016111c0929190611d75565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506112c2565b505050565b61122f611389565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b790611ddb565b60405180910390fd5b565b6000611324826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166113b69092919063ffffffff16565b90506000815111156113845780806020019051810190611344919061177c565b611383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137a90611eaf565b60405180910390fd5b5b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60606113c584846000856113ce565b90509392505050565b606082471015611413576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140a90611dfb565b60405180910390fd5b61141c856114e2565b61145b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145290611e8f565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516114849190611cba565b60006040518083038185875af1925050503d80600081146114c1576040519150601f19603f3d011682016040523d82523d6000602084013e6114c6565b606091505b50915091506114d6828286611505565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060831561151557829050611565565b6000835111156115285782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155c9190611db9565b60405180910390fd5b9392505050565b600061157f61157a84612089565b612064565b90508281526020810184848401111561159757600080fd5b6115a2848285612266565b509392505050565b6000813590506115b98161255f565b92915050565b6000815190506115ce81612576565b92915050565b6000815190506115e38161258d565b92915050565b600082601f8301126115fa57600080fd5b813561160a84826020860161156c565b91505092915050565b600060c0828403121561162557600080fd5b61162f60c0612064565b9050600061163f848285016116c4565b6000830152506020611653848285016115aa565b6020830152506040611667848285016115aa565b604083015250606061167b848285016116af565b606083015250608061168f848285016115aa565b60808301525060a06116a3848285016115aa565b60a08301525092915050565b6000813590506116be816125a4565b92915050565b6000813590506116d3816125bb565b92915050565b6000815190506116e8816125bb565b92915050565b60006020828403121561170057600080fd5b600061170e848285016115aa565b91505092915050565b60006020828403121561172957600080fd5b6000611737848285016115bf565b91505092915050565b6000806040838503121561175357600080fd5b6000611761858286016115aa565b9250506020611772858286016116af565b9150509250929050565b60006020828403121561178e57600080fd5b600061179c848285016115d4565b91505092915050565b600060c082840312156117b757600080fd5b60006117c584828501611613565b91505092915050565b600080604083850312156117e157600080fd5b60006117ef858286016116af565b9250506020611800858286016115aa565b9150509250929050565b60008060006060848603121561181f57600080fd5b600061182d868287016116af565b935050602061183e868287016115aa565b925050604061184f868287016115aa565b9150509250925092565b60008060006060848603121561186e57600080fd5b600061187c868287016116af565b935050602061188d868287016115aa565b925050604061189e868287016116af565b9150509250925092565b60008060008060008060c087890312156118c157600080fd5b60006118cf89828a016116af565b965050602087013567ffffffffffffffff8111156118ec57600080fd5b6118f889828a016115e9565b955050604061190989828a016116c4565b945050606061191a89828a016115aa565b935050608061192b89828a016116c4565b92505060a087013567ffffffffffffffff81111561194857600080fd5b61195489828a016115e9565b9150509295509295509295565b60006020828403121561197357600080fd5b6000611981848285016116c4565b91505092915050565b60006020828403121561199c57600080fd5b60006119aa848285016116d9565b91505092915050565b600080604083850312156119c657600080fd5b60006119d4858286016116d9565b92505060206119e5858286016116d9565b9150509250929050565b6119f8816121df565b82525050565b611a07816121cd565b82525050565b611a1e611a19826121cd565b6122d9565b82525050565b611a2d816121f1565b82525050565b6000611a3e826120ba565b611a4881856120d0565b9350611a58818560208601612275565b611a618161238a565b840191505092915050565b6000611a77826120ba565b611a8181856120e1565b9350611a91818560208601612275565b611a9a8161238a565b840191505092915050565b6000611ab0826120ba565b611aba81856120f2565b9350611aca818560208601612275565b80840191505092915050565b611adf81612242565b82525050565b6000611af0826120c5565b611afa81856120fd565b9350611b0a818560208601612275565b611b138161238a565b840191505092915050565b6000611b2b6022836120fd565b9150611b36826123a8565b604082019050919050565b6000611b4e6002836120e1565b9150611b59826123f7565b602082019050919050565b6000611b716026836120fd565b9150611b7c82612420565b604082019050919050565b6000611b946008836120fd565b9150611b9f8261246f565b602082019050919050565b6000611bb7601d836120fd565b9150611bc282612498565b602082019050919050565b6000611bda602a836120fd565b9150611be5826124c1565b604082019050919050565b6000611bfd6036836120fd565b9150611c0882612510565b604082019050919050565b6000606083016000830151611c2b6000860182611c81565b506020830151611c3e6020860182611c81565b5060408301518482036040860152611c568282611a33565b9150508091505092915050565b611c6c816121fd565b82525050565b611c7b81612254565b82525050565b611c8a8161222b565b82525050565b611c998161222b565b82525050565b6000611cab8284611a0d565b60148201915081905092915050565b6000611cc68284611aa5565b915081905092915050565b6000602082019050611ce660008301846119fe565b92915050565b6000604082019050611d0160008301856119fe565b611d0e60208301846119fe565b9392505050565b6000606082019050611d2a60008301866119fe565b611d3760208301856119fe565b611d446040830184611c90565b949350505050565b6000604082019050611d6160008301856119fe565b611d6e6020830184611c63565b9392505050565b6000604082019050611d8a60008301856119fe565b611d976020830184611c90565b9392505050565b6000602082019050611db36000830184611a24565b92915050565b60006020820190508181036000830152611dd38184611ae5565b905092915050565b60006020820190508181036000830152611df481611b1e565b9050919050565b60006020820190508181036000830152611e1481611b64565b9050919050565b600060e0820190508181036000830152611e3481611b87565b9050611e4360208301896119fe565b611e5060408301886119fe565b611e5d60608301876119fe565b611e6a60808301866119fe565b611e7760a0830185611c90565b611e8460c0830184611c63565b979650505050505050565b60006020820190508181036000830152611ea881611baa565b9050919050565b60006020820190508181036000830152611ec881611bcd565b9050919050565b60006020820190508181036000830152611ee881611bf0565b9050919050565b6000602082019050611f046000830184611c63565b92915050565b6000606082019050611f1f6000830186611c63565b611f2c60208301856119fe565b611f396040830184611c63565b949350505050565b600060a082019050611f566000830187611c63565b611f636020830186611ad6565b8181036040830152611f758185611a6c565b90508181036060830152611f8881611b41565b90508181036080830152611f9c8184611c13565b905095945050505050565b600061012082019050611fbd600083018c611c63565b611fca602083018b611c72565b611fd7604083018a611c72565b611fe460608301896119ef565b611ff16080830188611c90565b611ffe60a0830187611c90565b81810360c08301526120108186611c13565b905081810360e08301526120248185611a6c565b90508181036101008301526120398184611a6c565b90509a9950505050505050505050565b600060208201905061205e6000830184611c90565b92915050565b600061206e61207f565b905061207a82826122a8565b919050565b6000604051905090565b600067ffffffffffffffff8211156120a4576120a361235b565b5b6120ad8261238a565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006121198261222b565b91506121248361222b565b9250826121345761213361232c565b5b828204905092915050565b600061214a8261222b565b91506121558361222b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561218e5761218d6122fd565b5b828202905092915050565b60006121a48261222b565b91506121af8361222b565b9250828210156121c2576121c16122fd565b5b828203905092915050565b60006121d88261220b565b9050919050565b60006121ea8261220b565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061224d82612235565b9050919050565b600061225f826121fd565b9050919050565b82818337600083830152505050565b60005b83811015612293578082015181840152602081019050612278565b838111156122a2576000848401525b50505050565b6122b18261238a565b810181811067ffffffffffffffff821117156122d0576122cf61235b565b5b80604052505050565b60006122e4826122eb565b9050919050565b60006122f68261239b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f3078000000000000000000000000000000000000000000000000000000000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f7374617267617465000000000000000000000000000000000000000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b612568816121cd565b811461257357600080fd5b50565b61257f816121df565b811461258a57600080fd5b50565b612596816121f1565b81146125a157600080fd5b50565b6125ad816121fd565b81146125b857600080fd5b50565b6125c48161222b565b81146125cf57600080fd5b5056fea164736f6c6343000804000a"; + "0x608060405234801561001057600080fd5b5061257a806100206000396000f3fe60806040526004361061004a5760003560e01c80632d64c4d61461004f578063a7e7ba7814610078578063ab8236f314610094578063ce36ebd3146100bd578063eff1bb1f146100d9575b600080fd5b34801561005b57600080fd5b506100766004803603810190610071919061139a565b610116565b005b610092600480360381019061008d919061143b565b6102b9565b005b3480156100a057600080fd5b506100bb60048036038101906100b691906114dd565b610692565b005b6100d760048036038101906100d29190611412565b61078c565b005b3480156100e557600080fd5b5061010060048036038101906100fb919061148e565b610aa7565b60405161010d9190611e49565b60405180910390f35b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156101805750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6101bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b690611c27565b60405180910390fd5b6101c7610ba4565b60006101d1610c3f565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818160010160146101000a81548161ffff021916908361ffff1602179055507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb8484846040516102ab93929190611a69565b60405180910390a150505050565b60006102c3610c6c565b9050600181600001541415610304576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060003411610351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034890611bc7565b60405180910390fd5b6000826000013511610398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038f90611c87565b60405180910390fd5b60006103a2610c99565b905060006103d58460400160208101906103bc9190611465565b8560a00160208101906103cf9190611348565b84610aa7565b905060006127108560c00160208101906103ef9190611465565b6127106103fc9190611f99565b61ffff16866000013561040f9190611f3f565b6104199190611f0e565b905060008560e0013560405160200161043291906119b7565b604051602081830303815290604052905060008660a00160208101906104589190611348565b60405160200161046891906119d2565b60405160208183030381529060405290506104bc333089600001358a60200160208101906104969190611348565b73ffffffffffffffffffffffffffffffffffffffff16610ccc909392919063ffffffff16565b6104fd8588600001358960200160208101906104d89190611348565b73ffffffffffffffffffffffffffffffffffffffff16610d559092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc8589604001602081019061052d9190611465565b8a60600160208101906105409190611465565b8b60800160208101906105539190611465565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b81526004016105d499989796959493929190611da7565b6000604051808303818588803b1580156105ed57600080fd5b505af1158015610601573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a86687602001602081019061063a9190611348565b338960a001602081019061064e9190611348565b8a600001358b60400160208101906106669190611465565b604051610677959493929190611a16565b60405180910390a15050505050600081600001819055505050565b61069a610c99565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fe90611c07565b60405180910390fd5b60008180602001905181019061071d9190611371565b905061074a81848673ffffffffffffffffffffffffffffffffffffffff16610eb39092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c848460405161077b929190611b1c565b60405180910390a150505050505050565b6000610796610c6c565b90506001816000015414156107d7576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060003411610824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081b90611ca7565b60405180910390fd5b600082600001351161086b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086290611c87565b60405180910390fd5b816000013534116108b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a890611be7565b60405180910390fd5b60006108bb610f39565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561092d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092490611b87565b60405180910390fd5b60008360400160208101906109429190611348565b6040516020016109529190611985565b6040516020818303038152906040529050600061271085606001602081019061097b9190611465565b6127106109889190611f99565b61ffff16866000013561099b9190611f3f565b6109a59190611f0e565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a348760200160208101906109d79190611465565b33868a60000135876040518763ffffffff1660e01b81526004016109ff959493929190611ce7565b6000604051808303818588803b158015610a1857600080fd5b505af1158015610a2c573d6000803e3d6000fd5b50505050507f080b5c39604783610b00b0195fe910d6da4148788b0ce0726bd8c6821227394733866040016020810190610a669190611348565b8760000135886020016020810190610a7e9190611465565b604051610a8e9493929190611ad7565b60405180910390a1505050600081600001819055505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236986600187604051602001610ada9190611985565b604051602081830303815290604052604051806060016040528062030d408152602001600081526020016000604051602001610b169190611985565b6040516020818303038152906040528152506040518563ffffffff1660e01b8152600401610b479493929190611d41565b604080518083038186803b158015610b5e57600080fd5b505afa158015610b72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9691906115bf565b509050809150509392505050565b610bac610f6c565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3490611b67565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000610ca3610c3f565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d4f846323b872dd60e01b858585604051602401610ced93929190611aa0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f99565b50505050565b6000811480610dee575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610d9c9291906119ed565b60206040518083038186803b158015610db457600080fd5b505afa158015610dc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dec9190611596565b145b610e2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2490611cc7565b60405180910390fd5b610eae8363095ea7b360e01b8484604051602401610e4c929190611b1c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f99565b505050565b610f348363a9059cbb60e01b8484604051602401610ed2929190611b1c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f99565b505050565b6000610f43610c3f565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610ffb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166110609092919063ffffffff16565b905060008151111561105b578080602001905181019061101b91906113e9565b61105a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105190611c67565b60405180910390fd5b5b505050565b606061106f8484600085611078565b90509392505050565b6060824710156110bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b490611ba7565b60405180910390fd5b6110c68561118c565b611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc90611c47565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161112e91906119a0565b60006040518083038185875af1925050503d806000811461116b576040519150601f19603f3d011682016040523d82523d6000602084013e611170565b606091505b50915091506111808282866111af565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606083156111bf5782905061120f565b6000835111156111d25782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112069190611b45565b60405180910390fd5b9392505050565b600061122961122484611e89565b611e64565b90508281526020810184848401111561124157600080fd5b61124c848285612078565b509392505050565b600081359050611263816124e3565b92915050565b600081519050611278816124fa565b92915050565b60008151905061128d81612511565b92915050565b600082601f8301126112a457600080fd5b81356112b4848260208601611216565b91505092915050565b6000813590506112cc81612528565b92915050565b6000608082840312156112e457600080fd5b81905092915050565b6000610100828403121561130057600080fd5b81905092915050565b6000813590506113188161253f565b92915050565b60008135905061132d81612556565b92915050565b60008151905061134281612556565b92915050565b60006020828403121561135a57600080fd5b600061136884828501611254565b91505092915050565b60006020828403121561138357600080fd5b600061139184828501611269565b91505092915050565b6000806000606084860312156113af57600080fd5b60006113bd86828701611254565b93505060206113ce86828701611254565b92505060406113df86828701611309565b9150509250925092565b6000602082840312156113fb57600080fd5b60006114098482850161127e565b91505092915050565b60006080828403121561142457600080fd5b6000611432848285016112d2565b91505092915050565b6000610100828403121561144e57600080fd5b600061145c848285016112ed565b91505092915050565b60006020828403121561147757600080fd5b600061148584828501611309565b91505092915050565b6000806000606084860312156114a357600080fd5b60006114b186828701611309565b93505060206114c286828701611254565b92505060406114d3868287016112bd565b9150509250925092565b60008060008060008060c087890312156114f657600080fd5b600061150489828a01611309565b965050602087013567ffffffffffffffff81111561152157600080fd5b61152d89828a01611293565b955050604061153e89828a0161131e565b945050606061154f89828a01611254565b935050608061156089828a0161131e565b92505060a087013567ffffffffffffffff81111561157d57600080fd5b61158989828a01611293565b9150509295509295509295565b6000602082840312156115a857600080fd5b60006115b684828501611333565b91505092915050565b600080604083850312156115d257600080fd5b60006115e085828601611333565b92505060206115f185828601611333565b9150509250929050565b61160481611fdf565b82525050565b61161381611fcd565b82525050565b61162a61162582611fcd565b6120eb565b82525050565b600061163b82611eba565b6116458185611ed0565b9350611655818560208601612087565b61165e816121a6565b840191505092915050565b600061167482611eba565b61167e8185611ee1565b935061168e818560208601612087565b611697816121a6565b840191505092915050565b60006116ad82611eba565b6116b78185611ef2565b93506116c7818560208601612087565b80840191505092915050565b6116dc81612054565b82525050565b60006116ed82611ec5565b6116f78185611efd565b9350611707818560208601612087565b611710816121a6565b840191505092915050565b6000611728602283611efd565b9150611733826121c4565b604082019050919050565b600061174b602583611efd565b915061175682612213565b604082019050919050565b600061176e600283611ee1565b915061177982612262565b602082019050919050565b6000611791602683611efd565b915061179c8261228b565b604082019050919050565b60006117b4602c83611efd565b91506117bf826122da565b604082019050919050565b60006117d7602883611efd565b91506117e282612329565b604082019050919050565b60006117fa601f83611efd565b915061180582612378565b602082019050919050565b600061181d601a83611efd565b9150611828826123a1565b602082019050919050565b6000611840601d83611efd565b915061184b826123ca565b602082019050919050565b6000611863602a83611efd565b915061186e826123f3565b604082019050919050565b6000611886601b83611efd565b915061189182612442565b602082019050919050565b60006118a9601d83611efd565b91506118b48261246b565b602082019050919050565b60006118cc603683611efd565b91506118d782612494565b604082019050919050565b60006060830160008301516118fa6000860182611950565b50602083015161190d6020860182611950565b50604083015184820360408601526119258282611630565b9150508091505092915050565b61193b8161200f565b82525050565b61194a81612066565b82525050565b6119598161203d565b82525050565b6119688161203d565b82525050565b61197f61197a8261203d565b61210f565b82525050565b60006119918284611619565b60148201915081905092915050565b60006119ac82846116a2565b915081905092915050565b60006119c3828461196e565b60208201915081905092915050565b60006020820190506119e7600083018461160a565b92915050565b6000604082019050611a02600083018561160a565b611a0f602083018461160a565b9392505050565b600060a082019050611a2b600083018861160a565b611a38602083018761160a565b611a45604083018661160a565b611a52606083018561195f565b611a5f6080830184611932565b9695505050505050565b6000606082019050611a7e600083018661160a565b611a8b602083018561160a565b611a986040830184611932565b949350505050565b6000606082019050611ab5600083018661160a565b611ac2602083018561160a565b611acf604083018461195f565b949350505050565b6000608082019050611aec600083018761160a565b611af9602083018661160a565b611b06604083018561195f565b611b136060830184611932565b95945050505050565b6000604082019050611b31600083018561160a565b611b3e602083018461195f565b9392505050565b60006020820190508181036000830152611b5f81846116e2565b905092915050565b60006020820190508181036000830152611b808161171b565b9050919050565b60006020820190508181036000830152611ba08161173e565b9050919050565b60006020820190508181036000830152611bc081611784565b9050919050565b60006020820190508181036000830152611be0816117a7565b9050919050565b60006020820190508181036000830152611c00816117ca565b9050919050565b60006020820190508181036000830152611c20816117ed565b9050919050565b60006020820190508181036000830152611c4081611810565b9050919050565b60006020820190508181036000830152611c6081611833565b9050919050565b60006020820190508181036000830152611c8081611856565b9050919050565b60006020820190508181036000830152611ca081611879565b9050919050565b60006020820190508181036000830152611cc08161189c565b9050919050565b60006020820190508181036000830152611ce0816118bf565b9050919050565b600060a082019050611cfc6000830188611932565b611d0960208301876115fb565b8181036040830152611d1b8186611669565b9050611d2a606083018561195f565b611d37608083018461195f565b9695505050505050565b600060a082019050611d566000830187611932565b611d6360208301866116d3565b8181036040830152611d758185611669565b90508181036060830152611d8881611761565b90508181036080830152611d9c81846118e2565b905095945050505050565b600061012082019050611dbd600083018c611932565b611dca602083018b611941565b611dd7604083018a611941565b611de460608301896115fb565b611df1608083018861195f565b611dfe60a083018761195f565b81810360c0830152611e1081866118e2565b905081810360e0830152611e248185611669565b9050818103610100830152611e398184611669565b90509a9950505050505050505050565b6000602082019050611e5e600083018461195f565b92915050565b6000611e6e611e7f565b9050611e7a82826120ba565b919050565b6000604051905090565b600067ffffffffffffffff821115611ea457611ea3612177565b5b611ead826121a6565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000611f198261203d565b9150611f248361203d565b925082611f3457611f33612148565b5b828204905092915050565b6000611f4a8261203d565b9150611f558361203d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611f8e57611f8d612119565b5b828202905092915050565b6000611fa48261200f565b9150611faf8361200f565b925082821015611fc257611fc1612119565b5b828203905092915050565b6000611fd88261201d565b9050919050565b6000611fea8261201d565b9050919050565b60008115159050919050565b600061200882611fcd565b9050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061205f82612047565b9050919050565b60006120718261200f565b9050919050565b82818337600083830152505050565b60005b838110156120a557808201518184015260208101905061208a565b838111156120b4576000848401525b50505050565b6120c3826121a6565b810181811067ffffffffffffffff821117156120e2576120e1612177565b5b80604052505050565b60006120f6826120fd565b9050919050565b6000612108826121b7565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b7f3078000000000000000000000000000000000000000000000000000000000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f53746172676174653a3a20696e76616c69642061646472657373000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b6124ec81611fcd565b81146124f757600080fd5b50565b61250381611fdf565b811461250e57600080fd5b50565b61251a81611ff1565b811461252557600080fd5b50565b61253181611ffd565b811461253c57600080fd5b50565b6125488161200f565b811461255357600080fd5b50565b61255f8161203d565b811461256a57600080fd5b5056fea164736f6c6343000804000a"; type StargateFacetConstructorParams = | [signer?: Signer] diff --git a/typings/index.ts b/typings/index.ts index 79219e5e..53399398 100644 --- a/typings/index.ts +++ b/typings/index.ts @@ -37,9 +37,10 @@ export type { ICBridge } from "./ICBridge"; export type { IERC165 } from "./IERC165"; export type { IERC173 } from "./IERC173"; export type { IHopBridge } from "./IHopBridge"; +export type { IWETH } from "./IWETH"; export type { IStargateReceiver } from "./IStargateReceiver"; export type { IStargateRouter } from "./IStargateRouter"; -export type { IWETH } from "./IWETH"; +export type { IStargateRouterETH } from "./IStargateRouterETH"; export type { Controlled } from "./Controlled"; export type { Guarded } from "./Guarded"; export type { GuardedMock } from "./GuardedMock"; @@ -111,9 +112,10 @@ export { ICBridge__factory } from "./factories/ICBridge__factory"; export { IERC165__factory } from "./factories/IERC165__factory"; export { IERC173__factory } from "./factories/IERC173__factory"; export { IHopBridge__factory } from "./factories/IHopBridge__factory"; +export { IWETH__factory } from "./factories/IWETH__factory"; export { IStargateReceiver__factory } from "./factories/IStargateReceiver__factory"; export { IStargateRouter__factory } from "./factories/IStargateRouter__factory"; -export { IWETH__factory } from "./factories/IWETH__factory"; +export { IStargateRouterETH__factory } from "./factories/IStargateRouterETH__factory"; export { Controlled__factory } from "./factories/Controlled__factory"; export { Guarded__factory } from "./factories/Guarded__factory"; export { GuardedMock__factory } from "./factories/GuardedMock__factory"; From cfac850e5343c8bd2d5ee84ec3e2c133851b9a70 Mon Sep 17 00:00:00 2001 From: lbw33 <71776468+lbw33@users.noreply.github.com> Date: Fri, 30 Jun 2023 16:28:46 +0100 Subject: [PATCH 2/8] Finished contract updates and testing issues rectified (except sgReceive test) --- artifacts/AddressUpgradeable.json | 10 - artifacts/AmplificationUtils.json | 61 - artifacts/AssetLogic.json | 41 - artifacts/ConnextFacet.json | 4 +- artifacts/Constants.json | 323 - artifacts/ContextUpgradeable.json | 24 - artifacts/ERC20BurnableUpgradeable.json | 325 - artifacts/ERC20Upgradeable.json | 294 - artifacts/IConnectorManager.json | 56 - artifacts/IConnext.json | 3268 +- artifacts/IDiamondCut.json | 218 +- artifacts/IDiamondLoupe.json | 2 +- artifacts/IERC20Metadata.json | 233 - artifacts/IERC20MetadataUpgradeable.json | 233 - artifacts/IERC20Upgradeable.json | 194 - artifacts/IOutbox.json | 82 - artifacts/IStableSwap.json | 825 - artifacts/Initializable.json | 21 +- artifacts/LPToken.json | 406 - artifacts/LibConnextStorage.json | 10 - artifacts/LibDiamond.json | 96 +- artifacts/MathUtils.json | 10 - artifacts/OwnableUpgradeable.json | 76 - artifacts/SGReceiver.json | 84 + artifacts/StargateFacet.json | 140 +- artifacts/SwapUtils.json | 252 - artifacts/TypeCasts.json | 10 - artifacts/TypedMemView.json | 91 - config/stargate.ts | 7 + deploy/205_deploy_stargate_facet.ts | 28 +- hardhat.config.ts | 13 +- package-lock.json | 35587 ++++++---------- package.json | 2 +- src/bridges/facets/ConnextFacet.sol | 2 +- src/bridges/facets/StargateFacet.sol | 185 +- src/bridges/helpers/SGReceiver.sol | 54 + src/bridges/interfaces/IConnext.sol | 14 + test/bridges/StargateFacet.ts | 948 +- test/bridges/abi/USDT_ABI.js | 390 + typings/AddressLib.ts | 157 + typings/AmplificationUtils.ts | 94 - typings/AssetLogic.ts | 50 - typings/BlockLib.ts | 157 + typings/BytesLib.ts | 157 + typings/Constants.ts | 549 - typings/ContextUpgradeable.ts | 61 - typings/ECDSAExtendedLib.ts | 157 + typings/ECDSALib.ts | 157 + typings/ENSAbstractResolver.ts | 157 + typings/ERC20BurnableUpgradeable.ts | 480 - typings/ERC20Upgradeable.ts | 419 - typings/IConnectorManager.ts | 121 - typings/IConnext.ts | 4716 +- typings/IDiamondCut.ts | 181 - typings/IERC20Metadata.ts | 332 - typings/IERC20MetadataUpgradeable.ts | 332 - typings/IERC20Upgradeable.ts | 293 - typings/IOutbox.ts | 137 - typings/IStableSwap.ts | 1115 - typings/LPToken.ts | 620 - typings/LibAsset.ts | 157 + typings/LibDiamond.ts | 58 +- typings/OwnableUpgradeable.ts | 167 - typings/SGReceiver.ts | 150 + typings/SafeMathLib.ts | 157 + typings/StargateFacet.ts | 183 +- typings/StringsLib.ts | 157 + typings/SwapUtils.ts | 249 - typings/TypedMemView.ts | 74 - typings/factories/AddressLib__factory.ts | 109 + .../factories/AmplificationUtils__factory.ts | 111 - typings/factories/AssetLogic__factory.ts | 88 - typings/factories/BlockLib__factory.ts | 109 + typings/factories/BytesLib__factory.ts | 109 + typings/factories/ConnextFacet__factory.ts | 2 +- typings/factories/Constants__factory.ts | 370 - .../factories/ContextUpgradeable__factory.ts | 39 - .../factories/ECDSAExtendedLib__factory.ts | 112 + typings/factories/ECDSALib__factory.ts | 109 + .../factories/ENSAbstractResolver__factory.ts | 77 + .../ERC20BurnableUpgradeable__factory.ts | 344 - .../factories/ERC20Upgradeable__factory.ts | 344 - .../factories/IConnectorManager__factory.ts | 71 - typings/factories/IConnext__factory.ts | 3266 -- typings/factories/IDiamondCut__factory.ts | 216 - .../IERC20MetadataUpgradeable__factory.ts | 252 - typings/factories/IERC20Metadata__factory.ts | 248 - .../factories/IERC20Upgradeable__factory.ts | 209 - typings/factories/IOutbox__factory.ts | 94 - typings/factories/IStableSwap__factory.ts | 837 - typings/factories/LPToken__factory.ts | 453 - typings/factories/LibAsset__factory.ts | 109 + typings/factories/LibDiamond__factory.ts | 92 +- .../factories/OwnableUpgradeable__factory.ts | 91 - typings/factories/SGReceiver__factory.ts | 133 + typings/factories/SafeMathLib__factory.ts | 109 + typings/factories/StargateFacet__factory.ts | 138 +- typings/factories/StringsLib__factory.ts | 109 + typings/factories/SwapUtils__factory.ts | 299 - typings/factories/TypedMemView__factory.ts | 138 - typings/index.ts | 54 +- utils/diamond.ts | 132 +- 102 files changed, 18639 insertions(+), 46747 deletions(-) delete mode 100644 artifacts/AddressUpgradeable.json delete mode 100644 artifacts/AmplificationUtils.json delete mode 100644 artifacts/AssetLogic.json delete mode 100644 artifacts/Constants.json delete mode 100644 artifacts/ContextUpgradeable.json delete mode 100644 artifacts/ERC20BurnableUpgradeable.json delete mode 100644 artifacts/ERC20Upgradeable.json delete mode 100644 artifacts/IConnectorManager.json delete mode 100644 artifacts/IERC20Metadata.json delete mode 100644 artifacts/IERC20MetadataUpgradeable.json delete mode 100644 artifacts/IERC20Upgradeable.json delete mode 100644 artifacts/IOutbox.json delete mode 100644 artifacts/IStableSwap.json delete mode 100644 artifacts/LPToken.json delete mode 100644 artifacts/LibConnextStorage.json delete mode 100644 artifacts/MathUtils.json delete mode 100644 artifacts/OwnableUpgradeable.json create mode 100644 artifacts/SGReceiver.json delete mode 100644 artifacts/SwapUtils.json delete mode 100644 artifacts/TypeCasts.json delete mode 100644 artifacts/TypedMemView.json create mode 100644 src/bridges/helpers/SGReceiver.sol create mode 100644 src/bridges/interfaces/IConnext.sol create mode 100644 test/bridges/abi/USDT_ABI.js create mode 100644 typings/AddressLib.ts delete mode 100644 typings/AmplificationUtils.ts delete mode 100644 typings/AssetLogic.ts create mode 100644 typings/BlockLib.ts create mode 100644 typings/BytesLib.ts delete mode 100644 typings/Constants.ts delete mode 100644 typings/ContextUpgradeable.ts create mode 100644 typings/ECDSAExtendedLib.ts create mode 100644 typings/ECDSALib.ts create mode 100644 typings/ENSAbstractResolver.ts delete mode 100644 typings/ERC20BurnableUpgradeable.ts delete mode 100644 typings/ERC20Upgradeable.ts delete mode 100644 typings/IConnectorManager.ts delete mode 100644 typings/IERC20Metadata.ts delete mode 100644 typings/IERC20MetadataUpgradeable.ts delete mode 100644 typings/IERC20Upgradeable.ts delete mode 100644 typings/IOutbox.ts delete mode 100644 typings/IStableSwap.ts delete mode 100644 typings/LPToken.ts create mode 100644 typings/LibAsset.ts delete mode 100644 typings/OwnableUpgradeable.ts create mode 100644 typings/SGReceiver.ts create mode 100644 typings/SafeMathLib.ts create mode 100644 typings/StringsLib.ts delete mode 100644 typings/SwapUtils.ts delete mode 100644 typings/TypedMemView.ts create mode 100644 typings/factories/AddressLib__factory.ts delete mode 100644 typings/factories/AmplificationUtils__factory.ts delete mode 100644 typings/factories/AssetLogic__factory.ts create mode 100644 typings/factories/BlockLib__factory.ts create mode 100644 typings/factories/BytesLib__factory.ts delete mode 100644 typings/factories/Constants__factory.ts delete mode 100644 typings/factories/ContextUpgradeable__factory.ts create mode 100644 typings/factories/ECDSAExtendedLib__factory.ts create mode 100644 typings/factories/ECDSALib__factory.ts create mode 100644 typings/factories/ENSAbstractResolver__factory.ts delete mode 100644 typings/factories/ERC20BurnableUpgradeable__factory.ts delete mode 100644 typings/factories/ERC20Upgradeable__factory.ts delete mode 100644 typings/factories/IConnectorManager__factory.ts delete mode 100644 typings/factories/IERC20MetadataUpgradeable__factory.ts delete mode 100644 typings/factories/IERC20Metadata__factory.ts delete mode 100644 typings/factories/IERC20Upgradeable__factory.ts delete mode 100644 typings/factories/IOutbox__factory.ts delete mode 100644 typings/factories/IStableSwap__factory.ts delete mode 100644 typings/factories/LPToken__factory.ts create mode 100644 typings/factories/LibAsset__factory.ts delete mode 100644 typings/factories/OwnableUpgradeable__factory.ts create mode 100644 typings/factories/SGReceiver__factory.ts create mode 100644 typings/factories/SafeMathLib__factory.ts create mode 100644 typings/factories/StringsLib__factory.ts delete mode 100644 typings/factories/SwapUtils__factory.ts delete mode 100644 typings/factories/TypedMemView__factory.ts diff --git a/artifacts/AddressUpgradeable.json b/artifacts/AddressUpgradeable.json deleted file mode 100644 index c35e8453..00000000 --- a/artifacts/AddressUpgradeable.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "AddressUpgradeable", - "sourceName": "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol", - "abi": [], - "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207ebac623b5c0e66a1f7d51ceabb73a03088138ca3ce8fc0bfae515e4be5b9ff164736f6c63430008110033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207ebac623b5c0e66a1f7d51ceabb73a03088138ca3ce8fc0bfae515e4be5b9ff164736f6c63430008110033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/AmplificationUtils.json b/artifacts/AmplificationUtils.json deleted file mode 100644 index 7fbb19d2..00000000 --- a/artifacts/AmplificationUtils.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "AmplificationUtils", - "sourceName": "@connext/nxtp-contracts/contracts/core/connext/libraries/AmplificationUtils.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldA", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newA", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "initialTime", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "futureTime", - "type": "uint256" - } - ], - "name": "RampA", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "currentA", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "time", - "type": "uint256" - } - ], - "name": "StopRampA", - "type": "event" - } - ], - "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b11fd6dff13a14654d73e77c50d46af55a0781b6d0604277b4a768052de705bc64736f6c63430008110033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b11fd6dff13a14654d73e77c50d46af55a0781b6d0604277b4a768052de705bc64736f6c63430008110033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/AssetLogic.json b/artifacts/AssetLogic.json deleted file mode 100644 index ef63027c..00000000 --- a/artifacts/AssetLogic.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "AssetLogic", - "sourceName": "@connext/nxtp-contracts/contracts/core/connext/libraries/AssetLogic.sol", - "abi": [ - { - "inputs": [], - "name": "AssetLogic__getConfig_notRegistered", - "type": "error" - }, - { - "inputs": [], - "name": "AssetLogic__getTokenIndexFromStableSwapPool_notExist", - "type": "error" - }, - { - "inputs": [], - "name": "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported", - "type": "error" - }, - { - "inputs": [], - "name": "AssetLogic__handleIncomingAsset_nativeAssetNotSupported", - "type": "error" - }, - { - "inputs": [], - "name": "AssetLogic__handleOutgoingAsset_notNative", - "type": "error" - }, - { - "inputs": [], - "name": "AssetLogic__swapAsset_externalStableSwapPoolDoesNotExist", - "type": "error" - } - ], - "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a308637350ea3051c4aec0daff55569551361be4e979421eff6819f130e68b8f64736f6c63430008110033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a308637350ea3051c4aec0daff55569551361be4e979421eff6819f130e68b8f64736f6c63430008110033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/ConnextFacet.json b/artifacts/ConnextFacet.json index 65cf4082..5778c40c 100644 --- a/artifacts/ConnextFacet.json +++ b/artifacts/ConnextFacet.json @@ -208,8 +208,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50611b37806100206000396000f3fe6080604052600436106100345760003560e01c80633205dc691461003957806351b401b914610062578063da328d541461007e575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190611055565b61009a565b005b61007c600480360381019061007791906110de565b61029c565b005b610098600480360381019061009391906110de565b61064f565b005b6100a26109e3565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610108906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906111c8565b60405180910390fd5b600061018a610a7e565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160000160146101000a81548163ffffffff021916908363ffffffff160217905550818160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168363ffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe23ac138025651e2fb684be9a5c635424d4dac7fc73449494c24c4955e79027860405160405180910390a450505050565b60006102a6610aab565b90506000879050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff160361031c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610313906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361038b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610382906111c8565b60405180910390fd5b610393610ade565b63ffffffff168563ffffffff16036103e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d79061125a565b60405180910390fd5b823414610422576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610419906112c6565b60405180910390fd5b868173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b815260040161045e9291906112f5565b602060405180830381865afa15801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049f9190611333565b10156104e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d7906113d2565b60405180910390fd5b61050d3330898473ffffffffffffffffffffffffffffffffffffffff16610b01909392919063ffffffff16565b61053882888373ffffffffffffffffffffffffffffffffffffffff16610b8a9092919063ffffffff16565b60008273ffffffffffffffffffffffffffffffffffffffff16638aac16ba85888a8d338e8c604051806020016040528060008152506040518963ffffffff1660e01b815260040161058f97969594939291906114a0565b60206040518083038185885af11580156105ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105d2919061154c565b90508873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167f1a0290ac7c224ab0140c811403ba545f80e92404b9979b69e52b3f589bc1c1e08b888660405161063c93929190611588565b60405180910390a4505050505050505050565b6000610659610aab565b90506000610665610cd9565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16036106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cd906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073c906111c8565b60405180910390fd5b61074d610ade565b63ffffffff168563ffffffff160361079a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107919061125a565b60405180910390fd5b82876107a691906115ee565b34146107e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107de90611694565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b15801561083457600080fd5b505af1158015610848573d6000803e3d6000fd5b50505050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3848a6040518363ffffffff1660e01b81526004016108889291906116b4565b6020604051808303816000875af11580156108a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cb9190611715565b50506000866040516020016108e09190611742565b604051602081830303815290604052905060008373ffffffffffffffffffffffffffffffffffffffff16638aac16ba86898d87338f8d8a6040518963ffffffff1660e01b815260040161093997969594939291906114a0565b60206040518083038185885af1158015610957573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061097c919061154c565b90508773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167fe16c7dcc828782adcdd94aaeb1d07c3ae5a6d593a6b851ab5e023f9c961436873488856040516109cf93929190611588565b60405180910390a350505050505050505050565b6109eb610d0c565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a73906117cf565b60405180910390fd5b565b6000807ffa2e9c22c7fe2104814a1d7e2c66c58d10a2d7989d5bcf01173a2564aa59c04d90508091505090565b6000610ab5610a7e565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610ae8610a7e565b60000160149054906101000a900463ffffffff16905090565b610b84846323b872dd60e01b858585604051602401610b22939291906117ef565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b50505050565b6000811480610c14575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610bd19291906112f5565b602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611333565b145b610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90611898565b60405180910390fd5b610cd48363095ea7b360e01b8484604051602401610c729291906116b4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b505050565b6000610ce3610a7e565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610d9b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610e009092919063ffffffff16565b9050600081511115610dfb5780806020019051810190610dbb9190611715565b610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df19061192a565b60405180910390fd5b5b505050565b6060610e0f8484600085610e18565b90509392505050565b606082471015610e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e54906119bc565b60405180910390fd5b610e6685610f2c565b610ea5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9c90611a28565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ece9190611a84565b60006040518083038185875af1925050503d8060008114610f0b576040519150601f19603f3d011682016040523d82523d6000602084013e610f10565b606091505b5091509150610f20828286610f4f565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610f5f57829050610faf565b600083511115610f725782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa69190611adf565b60405180910390fd5b9392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610fe682610fbb565b9050919050565b610ff681610fdb565b811461100157600080fd5b50565b60008135905061101381610fed565b92915050565b600063ffffffff82169050919050565b61103281611019565b811461103d57600080fd5b50565b60008135905061104f81611029565b92915050565b60008060006060848603121561106e5761106d610fb6565b5b600061107c86828701611004565b935050602061108d86828701611040565b925050604061109e86828701611004565b9150509250925092565b6000819050919050565b6110bb816110a8565b81146110c657600080fd5b50565b6000813590506110d8816110b2565b92915050565b60008060008060008060c087890312156110fb576110fa610fb6565b5b600061110989828a01611004565b965050602061111a89828a016110c9565b955050604061112b89828a01611004565b945050606061113c89828a01611040565b935050608061114d89828a016110c9565b92505060a061115e89828a016110c9565b9150509295509295509295565b600082825260208201905092915050565b7f436f6e6e6578743a20696e76616c696420616464726573730000000000000000600082015250565b60006111b260188361116b565b91506111bd8261117c565b602082019050919050565b600060208201905081810360008301526111e1816111a5565b9050919050565b7f436f6e6e6578743a2043616e6e6f742062726964676520746f2073616d65206460008201527f6f6d61696e000000000000000000000000000000000000000000000000000000602082015250565b600061124460258361116b565b915061124f826111e8565b604082019050919050565b6000602082019050818103600083015261127381611237565b9050919050565b7f436f6e6e6578743a2072656c6179657246656520213d206d73672e76616c7565600082015250565b60006112b060208361116b565b91506112bb8261127a565b602082019050919050565b600060208201905081810360008301526112df816112a3565b9050919050565b6112ef81610fdb565b82525050565b600060408201905061130a60008301856112e6565b61131760208301846112e6565b9392505050565b60008151905061132d816110b2565b92915050565b60006020828403121561134957611348610fb6565b5b60006113578482850161131e565b91505092915050565b7f436f6e6e6578743a2055736572206d75737420617070726f766520616d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b60006113bc60218361116b565b91506113c782611360565b604082019050919050565b600060208201905081810360008301526113eb816113af565b9050919050565b6113fb81611019565b82525050565b61140a816110a8565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561144a57808201518184015260208101905061142f565b60008484015250505050565b6000601f19601f8301169050919050565b600061147282611410565b61147c818561141b565b935061148c81856020860161142c565b61149581611456565b840191505092915050565b600060e0820190506114b5600083018a6113f2565b6114c260208301896112e6565b6114cf60408301886112e6565b6114dc60608301876112e6565b6114e96080830186611401565b6114f660a0830185611401565b81810360c08301526115088184611467565b905098975050505050505050565b6000819050919050565b61152981611516565b811461153457600080fd5b50565b60008151905061154681611520565b92915050565b60006020828403121561156257611561610fb6565b5b600061157084828501611537565b91505092915050565b61158281611516565b82525050565b600060608201905061159d6000830186611401565b6115aa6020830185611401565b6115b76040830184611579565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115f9826110a8565b9150611604836110a8565b925082820190508082111561161c5761161b6115bf565b5b92915050565b7f436f6e6e6578743a20616d6f756e74202b2072656c6179657246656520213d2060008201527f6d73672e76616c75650000000000000000000000000000000000000000000000602082015250565b600061167e60298361116b565b915061168982611622565b604082019050919050565b600060208201905081810360008301526116ad81611671565b9050919050565b60006040820190506116c960008301856112e6565b6116d66020830184611401565b9392505050565b60008115159050919050565b6116f2816116dd565b81146116fd57600080fd5b50565b60008151905061170f816116e9565b92915050565b60006020828403121561172b5761172a610fb6565b5b600061173984828501611700565b91505092915050565b600060208201905061175760008301846112e6565b92915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006117b960228361116b565b91506117c48261175d565b604082019050919050565b600060208201905081810360008301526117e8816117ac565b9050919050565b600060608201905061180460008301866112e6565b61181160208301856112e6565b61181e6040830184611401565b949350505050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b600061188260368361116b565b915061188d82611826565b604082019050919050565b600060208201905081810360008301526118b181611875565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000611914602a8361116b565b915061191f826118b8565b604082019050919050565b6000602082019050818103600083015261194381611907565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006119a660268361116b565b91506119b18261194a565b604082019050919050565b600060208201905081810360008301526119d581611999565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000611a12601d8361116b565b9150611a1d826119dc565b602082019050919050565b60006020820190508181036000830152611a4181611a05565b9050919050565b600081905092915050565b6000611a5e82611410565b611a688185611a48565b9350611a7881856020860161142c565b80840191505092915050565b6000611a908284611a53565b915081905092915050565b600081519050919050565b6000611ab182611a9b565b611abb818561116b565b9350611acb81856020860161142c565b611ad481611456565b840191505092915050565b60006020820190508181036000830152611af98184611aa6565b90509291505056fea26469706673582212200d70fd58632d77e9650d1e907185cdd7cc0a2b728b4ea1a95a30b45c7bc071e364736f6c63430008110033", - "deployedBytecode": "0x6080604052600436106100345760003560e01c80633205dc691461003957806351b401b914610062578063da328d541461007e575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190611055565b61009a565b005b61007c600480360381019061007791906110de565b61029c565b005b610098600480360381019061009391906110de565b61064f565b005b6100a26109e3565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610108906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906111c8565b60405180910390fd5b600061018a610a7e565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160000160146101000a81548163ffffffff021916908363ffffffff160217905550818160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168363ffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe23ac138025651e2fb684be9a5c635424d4dac7fc73449494c24c4955e79027860405160405180910390a450505050565b60006102a6610aab565b90506000879050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff160361031c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610313906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361038b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610382906111c8565b60405180910390fd5b610393610ade565b63ffffffff168563ffffffff16036103e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d79061125a565b60405180910390fd5b823414610422576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610419906112c6565b60405180910390fd5b868173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b815260040161045e9291906112f5565b602060405180830381865afa15801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049f9190611333565b10156104e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d7906113d2565b60405180910390fd5b61050d3330898473ffffffffffffffffffffffffffffffffffffffff16610b01909392919063ffffffff16565b61053882888373ffffffffffffffffffffffffffffffffffffffff16610b8a9092919063ffffffff16565b60008273ffffffffffffffffffffffffffffffffffffffff16638aac16ba85888a8d338e8c604051806020016040528060008152506040518963ffffffff1660e01b815260040161058f97969594939291906114a0565b60206040518083038185885af11580156105ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105d2919061154c565b90508873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167f1a0290ac7c224ab0140c811403ba545f80e92404b9979b69e52b3f589bc1c1e08b888660405161063c93929190611588565b60405180910390a4505050505050505050565b6000610659610aab565b90506000610665610cd9565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16036106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cd906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073c906111c8565b60405180910390fd5b61074d610ade565b63ffffffff168563ffffffff160361079a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107919061125a565b60405180910390fd5b82876107a691906115ee565b34146107e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107de90611694565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b15801561083457600080fd5b505af1158015610848573d6000803e3d6000fd5b50505050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3848a6040518363ffffffff1660e01b81526004016108889291906116b4565b6020604051808303816000875af11580156108a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cb9190611715565b50506000866040516020016108e09190611742565b604051602081830303815290604052905060008373ffffffffffffffffffffffffffffffffffffffff16638aac16ba86898d87338f8d8a6040518963ffffffff1660e01b815260040161093997969594939291906114a0565b60206040518083038185885af1158015610957573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061097c919061154c565b90508773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167fe16c7dcc828782adcdd94aaeb1d07c3ae5a6d593a6b851ab5e023f9c961436873488856040516109cf93929190611588565b60405180910390a350505050505050505050565b6109eb610d0c565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a73906117cf565b60405180910390fd5b565b6000807ffa2e9c22c7fe2104814a1d7e2c66c58d10a2d7989d5bcf01173a2564aa59c04d90508091505090565b6000610ab5610a7e565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610ae8610a7e565b60000160149054906101000a900463ffffffff16905090565b610b84846323b872dd60e01b858585604051602401610b22939291906117ef565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b50505050565b6000811480610c14575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610bd19291906112f5565b602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611333565b145b610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90611898565b60405180910390fd5b610cd48363095ea7b360e01b8484604051602401610c729291906116b4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b505050565b6000610ce3610a7e565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610d9b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610e009092919063ffffffff16565b9050600081511115610dfb5780806020019051810190610dbb9190611715565b610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df19061192a565b60405180910390fd5b5b505050565b6060610e0f8484600085610e18565b90509392505050565b606082471015610e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e54906119bc565b60405180910390fd5b610e6685610f2c565b610ea5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9c90611a28565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ece9190611a84565b60006040518083038185875af1925050503d8060008114610f0b576040519150601f19603f3d011682016040523d82523d6000602084013e610f10565b606091505b5091509150610f20828286610f4f565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610f5f57829050610faf565b600083511115610f725782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa69190611adf565b60405180910390fd5b9392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610fe682610fbb565b9050919050565b610ff681610fdb565b811461100157600080fd5b50565b60008135905061101381610fed565b92915050565b600063ffffffff82169050919050565b61103281611019565b811461103d57600080fd5b50565b60008135905061104f81611029565b92915050565b60008060006060848603121561106e5761106d610fb6565b5b600061107c86828701611004565b935050602061108d86828701611040565b925050604061109e86828701611004565b9150509250925092565b6000819050919050565b6110bb816110a8565b81146110c657600080fd5b50565b6000813590506110d8816110b2565b92915050565b60008060008060008060c087890312156110fb576110fa610fb6565b5b600061110989828a01611004565b965050602061111a89828a016110c9565b955050604061112b89828a01611004565b945050606061113c89828a01611040565b935050608061114d89828a016110c9565b92505060a061115e89828a016110c9565b9150509295509295509295565b600082825260208201905092915050565b7f436f6e6e6578743a20696e76616c696420616464726573730000000000000000600082015250565b60006111b260188361116b565b91506111bd8261117c565b602082019050919050565b600060208201905081810360008301526111e1816111a5565b9050919050565b7f436f6e6e6578743a2043616e6e6f742062726964676520746f2073616d65206460008201527f6f6d61696e000000000000000000000000000000000000000000000000000000602082015250565b600061124460258361116b565b915061124f826111e8565b604082019050919050565b6000602082019050818103600083015261127381611237565b9050919050565b7f436f6e6e6578743a2072656c6179657246656520213d206d73672e76616c7565600082015250565b60006112b060208361116b565b91506112bb8261127a565b602082019050919050565b600060208201905081810360008301526112df816112a3565b9050919050565b6112ef81610fdb565b82525050565b600060408201905061130a60008301856112e6565b61131760208301846112e6565b9392505050565b60008151905061132d816110b2565b92915050565b60006020828403121561134957611348610fb6565b5b60006113578482850161131e565b91505092915050565b7f436f6e6e6578743a2055736572206d75737420617070726f766520616d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b60006113bc60218361116b565b91506113c782611360565b604082019050919050565b600060208201905081810360008301526113eb816113af565b9050919050565b6113fb81611019565b82525050565b61140a816110a8565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561144a57808201518184015260208101905061142f565b60008484015250505050565b6000601f19601f8301169050919050565b600061147282611410565b61147c818561141b565b935061148c81856020860161142c565b61149581611456565b840191505092915050565b600060e0820190506114b5600083018a6113f2565b6114c260208301896112e6565b6114cf60408301886112e6565b6114dc60608301876112e6565b6114e96080830186611401565b6114f660a0830185611401565b81810360c08301526115088184611467565b905098975050505050505050565b6000819050919050565b61152981611516565b811461153457600080fd5b50565b60008151905061154681611520565b92915050565b60006020828403121561156257611561610fb6565b5b600061157084828501611537565b91505092915050565b61158281611516565b82525050565b600060608201905061159d6000830186611401565b6115aa6020830185611401565b6115b76040830184611579565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115f9826110a8565b9150611604836110a8565b925082820190508082111561161c5761161b6115bf565b5b92915050565b7f436f6e6e6578743a20616d6f756e74202b2072656c6179657246656520213d2060008201527f6d73672e76616c75650000000000000000000000000000000000000000000000602082015250565b600061167e60298361116b565b915061168982611622565b604082019050919050565b600060208201905081810360008301526116ad81611671565b9050919050565b60006040820190506116c960008301856112e6565b6116d66020830184611401565b9392505050565b60008115159050919050565b6116f2816116dd565b81146116fd57600080fd5b50565b60008151905061170f816116e9565b92915050565b60006020828403121561172b5761172a610fb6565b5b600061173984828501611700565b91505092915050565b600060208201905061175760008301846112e6565b92915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006117b960228361116b565b91506117c48261175d565b604082019050919050565b600060208201905081810360008301526117e8816117ac565b9050919050565b600060608201905061180460008301866112e6565b61181160208301856112e6565b61181e6040830184611401565b949350505050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b600061188260368361116b565b915061188d82611826565b604082019050919050565b600060208201905081810360008301526118b181611875565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000611914602a8361116b565b915061191f826118b8565b604082019050919050565b6000602082019050818103600083015261194381611907565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006119a660268361116b565b91506119b18261194a565b604082019050919050565b600060208201905081810360008301526119d581611999565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000611a12601d8361116b565b9150611a1d826119dc565b602082019050919050565b60006020820190508181036000830152611a4181611a05565b9050919050565b600081905092915050565b6000611a5e82611410565b611a688185611a48565b9350611a7881856020860161142c565b80840191505092915050565b6000611a908284611a53565b915081905092915050565b600081519050919050565b6000611ab182611a9b565b611abb818561116b565b9350611acb81856020860161142c565b611ad481611456565b840191505092915050565b60006020820190508181036000830152611af98184611aa6565b90509291505056fea26469706673582212200d70fd58632d77e9650d1e907185cdd7cc0a2b728b4ea1a95a30b45c7bc071e364736f6c63430008110033", + "bytecode": "0x608060405234801561001057600080fd5b50611b37806100206000396000f3fe6080604052600436106100345760003560e01c80633205dc691461003957806351b401b914610062578063da328d541461007e575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190611055565b61009a565b005b61007c600480360381019061007791906110de565b61029c565b005b610098600480360381019061009391906110de565b61064f565b005b6100a26109e3565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610108906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906111c8565b60405180910390fd5b600061018a610a7e565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160000160146101000a81548163ffffffff021916908363ffffffff160217905550818160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168363ffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe23ac138025651e2fb684be9a5c635424d4dac7fc73449494c24c4955e79027860405160405180910390a450505050565b60006102a6610aab565b90506000879050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff160361031c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610313906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361038b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610382906111c8565b60405180910390fd5b610393610ade565b63ffffffff168563ffffffff16036103e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d79061125a565b60405180910390fd5b823414610422576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610419906112c6565b60405180910390fd5b868173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b815260040161045e9291906112f5565b602060405180830381865afa15801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049f9190611333565b10156104e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d7906113d2565b60405180910390fd5b61050d3330898473ffffffffffffffffffffffffffffffffffffffff16610b01909392919063ffffffff16565b61053882888373ffffffffffffffffffffffffffffffffffffffff16610b8a9092919063ffffffff16565b60008273ffffffffffffffffffffffffffffffffffffffff16638aac16ba85888a8d338e8c604051806020016040528060008152506040518963ffffffff1660e01b815260040161058f97969594939291906114a0565b60206040518083038185885af11580156105ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105d2919061154c565b90508873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167f1a0290ac7c224ab0140c811403ba545f80e92404b9979b69e52b3f589bc1c1e08b888660405161063c93929190611588565b60405180910390a4505050505050505050565b6000610659610aab565b90506000610665610cd9565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16036106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cd906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073c906111c8565b60405180910390fd5b61074d610ade565b63ffffffff168563ffffffff160361079a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107919061125a565b60405180910390fd5b82876107a691906115ee565b34146107e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107de90611694565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b15801561083457600080fd5b505af1158015610848573d6000803e3d6000fd5b50505050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3848a6040518363ffffffff1660e01b81526004016108889291906116b4565b6020604051808303816000875af11580156108a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cb9190611715565b50506000866040516020016108e09190611742565b604051602081830303815290604052905060008373ffffffffffffffffffffffffffffffffffffffff16638aac16ba86898d87338f8d8a6040518963ffffffff1660e01b815260040161093997969594939291906114a0565b60206040518083038185885af1158015610957573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061097c919061154c565b90508773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167fe16c7dcc828782adcdd94aaeb1d07c3ae5a6d593a6b851ab5e023f9c961436873488856040516109cf93929190611588565b60405180910390a350505050505050505050565b6109eb610d0c565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a73906117cf565b60405180910390fd5b565b6000807ffa2e9c22c7fe2104814a1d7e2c66c58d10a2d7989d5bcf01173a2564aa59c04d90508091505090565b6000610ab5610a7e565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610ae8610a7e565b60000160149054906101000a900463ffffffff16905090565b610b84846323b872dd60e01b858585604051602401610b22939291906117ef565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b50505050565b6000811480610c14575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610bd19291906112f5565b602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611333565b145b610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90611898565b60405180910390fd5b610cd48363095ea7b360e01b8484604051602401610c729291906116b4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b505050565b6000610ce3610a7e565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610d9b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610e009092919063ffffffff16565b9050600081511115610dfb5780806020019051810190610dbb9190611715565b610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df19061192a565b60405180910390fd5b5b505050565b6060610e0f8484600085610e18565b90509392505050565b606082471015610e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e54906119bc565b60405180910390fd5b610e6685610f2c565b610ea5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9c90611a28565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ece9190611a84565b60006040518083038185875af1925050503d8060008114610f0b576040519150601f19603f3d011682016040523d82523d6000602084013e610f10565b606091505b5091509150610f20828286610f4f565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610f5f57829050610faf565b600083511115610f725782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa69190611adf565b60405180910390fd5b9392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610fe682610fbb565b9050919050565b610ff681610fdb565b811461100157600080fd5b50565b60008135905061101381610fed565b92915050565b600063ffffffff82169050919050565b61103281611019565b811461103d57600080fd5b50565b60008135905061104f81611029565b92915050565b60008060006060848603121561106e5761106d610fb6565b5b600061107c86828701611004565b935050602061108d86828701611040565b925050604061109e86828701611004565b9150509250925092565b6000819050919050565b6110bb816110a8565b81146110c657600080fd5b50565b6000813590506110d8816110b2565b92915050565b60008060008060008060c087890312156110fb576110fa610fb6565b5b600061110989828a01611004565b965050602061111a89828a016110c9565b955050604061112b89828a01611004565b945050606061113c89828a01611040565b935050608061114d89828a016110c9565b92505060a061115e89828a016110c9565b9150509295509295509295565b600082825260208201905092915050565b7f436f6e6e6578743a20696e76616c696420616464726573730000000000000000600082015250565b60006111b260188361116b565b91506111bd8261117c565b602082019050919050565b600060208201905081810360008301526111e1816111a5565b9050919050565b7f436f6e6e6578743a2043616e6e6f742062726964676520746f2073616d65206460008201527f6f6d61696e000000000000000000000000000000000000000000000000000000602082015250565b600061124460258361116b565b915061124f826111e8565b604082019050919050565b6000602082019050818103600083015261127381611237565b9050919050565b7f436f6e6e6578743a2072656c6179657246656520213d206d73672e76616c7565600082015250565b60006112b060208361116b565b91506112bb8261127a565b602082019050919050565b600060208201905081810360008301526112df816112a3565b9050919050565b6112ef81610fdb565b82525050565b600060408201905061130a60008301856112e6565b61131760208301846112e6565b9392505050565b60008151905061132d816110b2565b92915050565b60006020828403121561134957611348610fb6565b5b60006113578482850161131e565b91505092915050565b7f436f6e6e6578743a2055736572206d75737420617070726f766520616d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b60006113bc60218361116b565b91506113c782611360565b604082019050919050565b600060208201905081810360008301526113eb816113af565b9050919050565b6113fb81611019565b82525050565b61140a816110a8565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561144a57808201518184015260208101905061142f565b60008484015250505050565b6000601f19601f8301169050919050565b600061147282611410565b61147c818561141b565b935061148c81856020860161142c565b61149581611456565b840191505092915050565b600060e0820190506114b5600083018a6113f2565b6114c260208301896112e6565b6114cf60408301886112e6565b6114dc60608301876112e6565b6114e96080830186611401565b6114f660a0830185611401565b81810360c08301526115088184611467565b905098975050505050505050565b6000819050919050565b61152981611516565b811461153457600080fd5b50565b60008151905061154681611520565b92915050565b60006020828403121561156257611561610fb6565b5b600061157084828501611537565b91505092915050565b61158281611516565b82525050565b600060608201905061159d6000830186611401565b6115aa6020830185611401565b6115b76040830184611579565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115f9826110a8565b9150611604836110a8565b925082820190508082111561161c5761161b6115bf565b5b92915050565b7f436f6e6e6578743a20616d6f756e74202b2072656c6179657246656520213d2060008201527f6d73672e76616c75650000000000000000000000000000000000000000000000602082015250565b600061167e60298361116b565b915061168982611622565b604082019050919050565b600060208201905081810360008301526116ad81611671565b9050919050565b60006040820190506116c960008301856112e6565b6116d66020830184611401565b9392505050565b60008115159050919050565b6116f2816116dd565b81146116fd57600080fd5b50565b60008151905061170f816116e9565b92915050565b60006020828403121561172b5761172a610fb6565b5b600061173984828501611700565b91505092915050565b600060208201905061175760008301846112e6565b92915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006117b960228361116b565b91506117c48261175d565b604082019050919050565b600060208201905081810360008301526117e8816117ac565b9050919050565b600060608201905061180460008301866112e6565b61181160208301856112e6565b61181e6040830184611401565b949350505050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b600061188260368361116b565b915061188d82611826565b604082019050919050565b600060208201905081810360008301526118b181611875565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000611914602a8361116b565b915061191f826118b8565b604082019050919050565b6000602082019050818103600083015261194381611907565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006119a660268361116b565b91506119b18261194a565b604082019050919050565b600060208201905081810360008301526119d581611999565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000611a12601d8361116b565b9150611a1d826119dc565b602082019050919050565b60006020820190508181036000830152611a4181611a05565b9050919050565b600081905092915050565b6000611a5e82611410565b611a688185611a48565b9350611a7881856020860161142c565b80840191505092915050565b6000611a908284611a53565b915081905092915050565b600081519050919050565b6000611ab182611a9b565b611abb818561116b565b9350611acb81856020860161142c565b611ad481611456565b840191505092915050565b60006020820190508181036000830152611af98184611aa6565b90509291505056fea2646970667358221220b5fea5b9cc8c5bcf8466e24158d35f2d32e452b78f3daf48bba1a41f4c2624a764736f6c63430008110033", + "deployedBytecode": "0x6080604052600436106100345760003560e01c80633205dc691461003957806351b401b914610062578063da328d541461007e575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190611055565b61009a565b005b61007c600480360381019061007791906110de565b61029c565b005b610098600480360381019061009391906110de565b61064f565b005b6100a26109e3565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610108906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906111c8565b60405180910390fd5b600061018a610a7e565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160000160146101000a81548163ffffffff021916908363ffffffff160217905550818160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168363ffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe23ac138025651e2fb684be9a5c635424d4dac7fc73449494c24c4955e79027860405160405180910390a450505050565b60006102a6610aab565b90506000879050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff160361031c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610313906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361038b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610382906111c8565b60405180910390fd5b610393610ade565b63ffffffff168563ffffffff16036103e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d79061125a565b60405180910390fd5b823414610422576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610419906112c6565b60405180910390fd5b868173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b815260040161045e9291906112f5565b602060405180830381865afa15801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049f9190611333565b10156104e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d7906113d2565b60405180910390fd5b61050d3330898473ffffffffffffffffffffffffffffffffffffffff16610b01909392919063ffffffff16565b61053882888373ffffffffffffffffffffffffffffffffffffffff16610b8a9092919063ffffffff16565b60008273ffffffffffffffffffffffffffffffffffffffff16638aac16ba85888a8d338e8c604051806020016040528060008152506040518963ffffffff1660e01b815260040161058f97969594939291906114a0565b60206040518083038185885af11580156105ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105d2919061154c565b90508873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167f1a0290ac7c224ab0140c811403ba545f80e92404b9979b69e52b3f589bc1c1e08b888660405161063c93929190611588565b60405180910390a4505050505050505050565b6000610659610aab565b90506000610665610cd9565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16036106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cd906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073c906111c8565b60405180910390fd5b61074d610ade565b63ffffffff168563ffffffff160361079a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107919061125a565b60405180910390fd5b82876107a691906115ee565b34146107e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107de90611694565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b15801561083457600080fd5b505af1158015610848573d6000803e3d6000fd5b50505050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3848a6040518363ffffffff1660e01b81526004016108889291906116b4565b6020604051808303816000875af11580156108a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cb9190611715565b50506000866040516020016108e09190611742565b604051602081830303815290604052905060008373ffffffffffffffffffffffffffffffffffffffff16638aac16ba86898d87338f8d8a6040518963ffffffff1660e01b815260040161093997969594939291906114a0565b60206040518083038185885af1158015610957573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061097c919061154c565b90508773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167fe16c7dcc828782adcdd94aaeb1d07c3ae5a6d593a6b851ab5e023f9c961436873488856040516109cf93929190611588565b60405180910390a350505050505050505050565b6109eb610d0c565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a73906117cf565b60405180910390fd5b565b6000807ffa2e9c22c7fe2104814a1d7e2c66c58d10a2d7989d5bcf01173a2564aa59c04d90508091505090565b6000610ab5610a7e565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610ae8610a7e565b60000160149054906101000a900463ffffffff16905090565b610b84846323b872dd60e01b858585604051602401610b22939291906117ef565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b50505050565b6000811480610c14575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610bd19291906112f5565b602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611333565b145b610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90611898565b60405180910390fd5b610cd48363095ea7b360e01b8484604051602401610c729291906116b4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b505050565b6000610ce3610a7e565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610d9b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610e009092919063ffffffff16565b9050600081511115610dfb5780806020019051810190610dbb9190611715565b610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df19061192a565b60405180910390fd5b5b505050565b6060610e0f8484600085610e18565b90509392505050565b606082471015610e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e54906119bc565b60405180910390fd5b610e6685610f2c565b610ea5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9c90611a28565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ece9190611a84565b60006040518083038185875af1925050503d8060008114610f0b576040519150601f19603f3d011682016040523d82523d6000602084013e610f10565b606091505b5091509150610f20828286610f4f565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610f5f57829050610faf565b600083511115610f725782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa69190611adf565b60405180910390fd5b9392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610fe682610fbb565b9050919050565b610ff681610fdb565b811461100157600080fd5b50565b60008135905061101381610fed565b92915050565b600063ffffffff82169050919050565b61103281611019565b811461103d57600080fd5b50565b60008135905061104f81611029565b92915050565b60008060006060848603121561106e5761106d610fb6565b5b600061107c86828701611004565b935050602061108d86828701611040565b925050604061109e86828701611004565b9150509250925092565b6000819050919050565b6110bb816110a8565b81146110c657600080fd5b50565b6000813590506110d8816110b2565b92915050565b60008060008060008060c087890312156110fb576110fa610fb6565b5b600061110989828a01611004565b965050602061111a89828a016110c9565b955050604061112b89828a01611004565b945050606061113c89828a01611040565b935050608061114d89828a016110c9565b92505060a061115e89828a016110c9565b9150509295509295509295565b600082825260208201905092915050565b7f436f6e6e6578743a20696e76616c696420616464726573730000000000000000600082015250565b60006111b260188361116b565b91506111bd8261117c565b602082019050919050565b600060208201905081810360008301526111e1816111a5565b9050919050565b7f436f6e6e6578743a2043616e6e6f742062726964676520746f2073616d65206460008201527f6f6d61696e000000000000000000000000000000000000000000000000000000602082015250565b600061124460258361116b565b915061124f826111e8565b604082019050919050565b6000602082019050818103600083015261127381611237565b9050919050565b7f436f6e6e6578743a2072656c6179657246656520213d206d73672e76616c7565600082015250565b60006112b060208361116b565b91506112bb8261127a565b602082019050919050565b600060208201905081810360008301526112df816112a3565b9050919050565b6112ef81610fdb565b82525050565b600060408201905061130a60008301856112e6565b61131760208301846112e6565b9392505050565b60008151905061132d816110b2565b92915050565b60006020828403121561134957611348610fb6565b5b60006113578482850161131e565b91505092915050565b7f436f6e6e6578743a2055736572206d75737420617070726f766520616d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b60006113bc60218361116b565b91506113c782611360565b604082019050919050565b600060208201905081810360008301526113eb816113af565b9050919050565b6113fb81611019565b82525050565b61140a816110a8565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561144a57808201518184015260208101905061142f565b60008484015250505050565b6000601f19601f8301169050919050565b600061147282611410565b61147c818561141b565b935061148c81856020860161142c565b61149581611456565b840191505092915050565b600060e0820190506114b5600083018a6113f2565b6114c260208301896112e6565b6114cf60408301886112e6565b6114dc60608301876112e6565b6114e96080830186611401565b6114f660a0830185611401565b81810360c08301526115088184611467565b905098975050505050505050565b6000819050919050565b61152981611516565b811461153457600080fd5b50565b60008151905061154681611520565b92915050565b60006020828403121561156257611561610fb6565b5b600061157084828501611537565b91505092915050565b61158281611516565b82525050565b600060608201905061159d6000830186611401565b6115aa6020830185611401565b6115b76040830184611579565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115f9826110a8565b9150611604836110a8565b925082820190508082111561161c5761161b6115bf565b5b92915050565b7f436f6e6e6578743a20616d6f756e74202b2072656c6179657246656520213d2060008201527f6d73672e76616c75650000000000000000000000000000000000000000000000602082015250565b600061167e60298361116b565b915061168982611622565b604082019050919050565b600060208201905081810360008301526116ad81611671565b9050919050565b60006040820190506116c960008301856112e6565b6116d66020830184611401565b9392505050565b60008115159050919050565b6116f2816116dd565b81146116fd57600080fd5b50565b60008151905061170f816116e9565b92915050565b60006020828403121561172b5761172a610fb6565b5b600061173984828501611700565b91505092915050565b600060208201905061175760008301846112e6565b92915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006117b960228361116b565b91506117c48261175d565b604082019050919050565b600060208201905081810360008301526117e8816117ac565b9050919050565b600060608201905061180460008301866112e6565b61181160208301856112e6565b61181e6040830184611401565b949350505050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b600061188260368361116b565b915061188d82611826565b604082019050919050565b600060208201905081810360008301526118b181611875565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000611914602a8361116b565b915061191f826118b8565b604082019050919050565b6000602082019050818103600083015261194381611907565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006119a660268361116b565b91506119b18261194a565b604082019050919050565b600060208201905081810360008301526119d581611999565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000611a12601d8361116b565b9150611a1d826119dc565b602082019050919050565b60006020820190508181036000830152611a4181611a05565b9050919050565b600081905092915050565b6000611a5e82611410565b611a688185611a48565b9350611a7881856020860161142c565b80840191505092915050565b6000611a908284611a53565b915081905092915050565b600081519050919050565b6000611ab182611a9b565b611abb818561116b565b9350611acb81856020860161142c565b611ad481611456565b840191505092915050565b60006020820190508181036000830152611af98184611aa6565b90509291505056fea2646970667358221220b5fea5b9cc8c5bcf8466e24158d35f2d32e452b78f3daf48bba1a41f4c2624a764736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/Constants.json b/artifacts/Constants.json deleted file mode 100644 index 1eb9d855..00000000 --- a/artifacts/Constants.json +++ /dev/null @@ -1,323 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Constants", - "sourceName": "@connext/nxtp-contracts/contracts/core/connext/libraries/Constants.sol", - "abi": [ - { - "inputs": [], - "name": "AAVE_REFERRAL_CODE", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "A_PRECISION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "BPS_FEE_DENOMINATOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DEFAULT_COPY_BYTES", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DEFAULT_DEADLINE_EXTENSION", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DEFAULT_NORMALIZED_DECIMALS", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "EXECUTE_CALLDATA_RESERVE_GAS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "FEE_DENOMINATOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "FUTURE_TIME_BUFFER", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "GOVERNANCE_DELAY", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "INITIAL_AAVE_REFERRAL_CODE", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "INITIAL_LIQUIDITY_FEE_NUMERATOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "INITIAL_MAX_ROUTERS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAXIMUM_POOLED_TOKENS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_A", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_ADMIN_FEE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_A_CHANGE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_LOOP_LIMIT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MAX_SWAP_FEE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MINIMUM_POOLED_TOKENS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MIN_RAMP_DELAY", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MIN_RAMP_TIME", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ORACLE_VALID_PERIOD", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "POOL_PRECISION_DECIMALS", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x6105a1610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101625760003560e01c806360e26bb4116100cd578063c8d5d89e11610086578063c8d5d89e14610383578063d011f918146103a1578063d73792a9146103bf578063dab597ea146103dd578063f1828d56146103fb578063f3de03621461041957610162565b806360e26bb4146102cf578063834f3b70146102ed578063ab3d85441461030b578063ab5ac06114610329578063b0b5489514610347578063c86a23ee1461036557610162565b8063396984151161011f578063396984151461021b57806343bbce5814610239578063443841ef1461025757806351a7b98f1461027557806359f491c8146102935780636037af42146102b157610162565b80630296ab501461016757806305a363de1461018557806306e9481c146101a357806319b693e9146101c157806328c8d10e146101df57806330d356c4146101fd575b600080fd5b61016f610437565b60405161017c91906104e4565b60405180910390f35b61018d61043c565b60405161019a919061051c565b60405180910390f35b6101ab610441565b6040516101b89190610550565b60405180910390f35b6101c9610448565b6040516101d69190610550565b60405180910390f35b6101e761044f565b6040516101f49190610550565b60405180910390f35b610205610455565b6040516102129190610550565b60405180910390f35b61022361045a565b6040516102309190610550565b60405180910390f35b610241610461565b60405161024e9190610550565b60405180910390f35b61025f610466565b60405161026c9190610550565b60405180910390f35b61027d61046b565b60405161028a9190610550565b60405180910390f35b61029b610470565b6040516102a89190610550565b60405180910390f35b6102b9610476565b6040516102c69190610550565b60405180910390f35b6102d761047b565b6040516102e49190610550565b60405180910390f35b6102f5610481565b6040516103029190610550565b60405180910390f35b610313610487565b6040516103209190610550565b60405180910390f35b61033161048f565b60405161033e9190610550565b60405180910390f35b61034f610494565b60405161035c9190610550565b60405180910390f35b61036d61049b565b60405161037a9190610550565b60405180910390f35b61038b6104a1565b604051610398919061051c565b60405180910390f35b6103a96104a7565b6040516103b69190610550565b60405180910390f35b6103c76104ac565b6040516103d49190610550565b60405180910390f35b6103e56104b5565b6040516103f291906104e4565b60405180910390f35b6104036104ba565b604051610410919061051c565b60405180910390f35b6104216104bf565b60405161042e9190610550565b60405180910390f35b601281565b600081565b6212750081565b6201518081565b61271081565b600281565b620f424081565b600381565b603c81565b600581565b610e1081565b601081565b61271081565b61270b81565b6305f5e10081565b600281565b62093a8081565b61010081565b61010081565b606481565b6402540be40081565b601281565b600081565b6402540be40081565b600060ff82169050919050565b6104de816104c8565b82525050565b60006020820190506104f960008301846104d5565b92915050565b600061ffff82169050919050565b610516816104ff565b82525050565b6000602082019050610531600083018461050d565b92915050565b6000819050919050565b61054a81610537565b82525050565b60006020820190506105656000830184610541565b9291505056fea26469706673582212203efe6256091afb8e2107e33a5eaab449485de06d0808fe754bbef2f651ba32ed64736f6c63430008110033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106101625760003560e01c806360e26bb4116100cd578063c8d5d89e11610086578063c8d5d89e14610383578063d011f918146103a1578063d73792a9146103bf578063dab597ea146103dd578063f1828d56146103fb578063f3de03621461041957610162565b806360e26bb4146102cf578063834f3b70146102ed578063ab3d85441461030b578063ab5ac06114610329578063b0b5489514610347578063c86a23ee1461036557610162565b8063396984151161011f578063396984151461021b57806343bbce5814610239578063443841ef1461025757806351a7b98f1461027557806359f491c8146102935780636037af42146102b157610162565b80630296ab501461016757806305a363de1461018557806306e9481c146101a357806319b693e9146101c157806328c8d10e146101df57806330d356c4146101fd575b600080fd5b61016f610437565b60405161017c91906104e4565b60405180910390f35b61018d61043c565b60405161019a919061051c565b60405180910390f35b6101ab610441565b6040516101b89190610550565b60405180910390f35b6101c9610448565b6040516101d69190610550565b60405180910390f35b6101e761044f565b6040516101f49190610550565b60405180910390f35b610205610455565b6040516102129190610550565b60405180910390f35b61022361045a565b6040516102309190610550565b60405180910390f35b610241610461565b60405161024e9190610550565b60405180910390f35b61025f610466565b60405161026c9190610550565b60405180910390f35b61027d61046b565b60405161028a9190610550565b60405180910390f35b61029b610470565b6040516102a89190610550565b60405180910390f35b6102b9610476565b6040516102c69190610550565b60405180910390f35b6102d761047b565b6040516102e49190610550565b60405180910390f35b6102f5610481565b6040516103029190610550565b60405180910390f35b610313610487565b6040516103209190610550565b60405180910390f35b61033161048f565b60405161033e9190610550565b60405180910390f35b61034f610494565b60405161035c9190610550565b60405180910390f35b61036d61049b565b60405161037a9190610550565b60405180910390f35b61038b6104a1565b604051610398919061051c565b60405180910390f35b6103a96104a7565b6040516103b69190610550565b60405180910390f35b6103c76104ac565b6040516103d49190610550565b60405180910390f35b6103e56104b5565b6040516103f291906104e4565b60405180910390f35b6104036104ba565b604051610410919061051c565b60405180910390f35b6104216104bf565b60405161042e9190610550565b60405180910390f35b601281565b600081565b6212750081565b6201518081565b61271081565b600281565b620f424081565b600381565b603c81565b600581565b610e1081565b601081565b61271081565b61270b81565b6305f5e10081565b600281565b62093a8081565b61010081565b61010081565b606481565b6402540be40081565b601281565b600081565b6402540be40081565b600060ff82169050919050565b6104de816104c8565b82525050565b60006020820190506104f960008301846104d5565b92915050565b600061ffff82169050919050565b610516816104ff565b82525050565b6000602082019050610531600083018461050d565b92915050565b6000819050919050565b61054a81610537565b82525050565b60006020820190506105656000830184610541565b9291505056fea26469706673582212203efe6256091afb8e2107e33a5eaab449485de06d0808fe754bbef2f651ba32ed64736f6c63430008110033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/ContextUpgradeable.json b/artifacts/ContextUpgradeable.json deleted file mode 100644 index e154d607..00000000 --- a/artifacts/ContextUpgradeable.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ContextUpgradeable", - "sourceName": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/ERC20BurnableUpgradeable.json b/artifacts/ERC20BurnableUpgradeable.json deleted file mode 100644 index 7613c4fb..00000000 --- a/artifacts/ERC20BurnableUpgradeable.json +++ /dev/null @@ -1,325 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ERC20BurnableUpgradeable", - "sourceName": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/ERC20Upgradeable.json b/artifacts/ERC20Upgradeable.json deleted file mode 100644 index 10acb06c..00000000 --- a/artifacts/ERC20Upgradeable.json +++ /dev/null @@ -1,294 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ERC20Upgradeable", - "sourceName": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b5061123c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610b19565b60405180910390f35b6100e660048036038101906100e19190610bd4565b610308565b6040516100f39190610c2f565b60405180910390f35b61010461032b565b6040516101119190610c59565b60405180910390f35b610134600480360381019061012f9190610c74565b610335565b6040516101419190610c2f565b60405180910390f35b610152610364565b60405161015f9190610ce3565b60405180910390f35b610182600480360381019061017d9190610bd4565b61036d565b60405161018f9190610c2f565b60405180910390f35b6101b260048036038101906101ad9190610cfe565b6103a4565b6040516101bf9190610c59565b60405180910390f35b6101d06103ed565b6040516101dd9190610b19565b60405180910390f35b61020060048036038101906101fb9190610bd4565b61047f565b60405161020d9190610c2f565b60405180910390f35b610230600480360381019061022b9190610bd4565b6104f6565b60405161023d9190610c2f565b60405180910390f35b610260600480360381019061025b9190610d2b565b610519565b60405161026d9190610c59565b60405180910390f35b60606036805461028590610d9a565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610d9a565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b6000806103136105a0565b90506103208185856105a8565b600191505092915050565b6000603554905090565b6000806103406105a0565b905061034d858285610771565b6103588585856107fd565b60019150509392505050565b60006012905090565b6000806103786105a0565b905061039981858561038a8589610519565b6103949190610dfa565b6105a8565b600191505092915050565b6000603360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060603780546103fc90610d9a565b80601f016020809104026020016040519081016040528092919081815260200182805461042890610d9a565b80156104755780601f1061044a57610100808354040283529160200191610475565b820191906000526020600020905b81548152906001019060200180831161045857829003601f168201915b5050505050905090565b60008061048a6105a0565b905060006104988286610519565b9050838110156104dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d490610ea0565b60405180910390fd5b6104ea82868684036105a8565b60019250505092915050565b6000806105016105a0565b905061050e8185856107fd565b600191505092915050565b6000603460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060e90610f32565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067d90610fc4565b60405180910390fd5b80603460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107649190610c59565b60405180910390a3505050565b600061077d8484610519565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107f757818110156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e090611030565b60405180910390fd5b6107f684848484036105a8565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361086c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610863906110c2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d290611154565b60405180910390fd5b6108e6838383610a7f565b6000603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561096d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610964906111e6565b60405180910390fd5b818103603360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a029190610dfa565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a669190610c59565b60405180910390a3610a79848484610a84565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ac3578082015181840152602081019050610aa8565b60008484015250505050565b6000601f19601f8301169050919050565b6000610aeb82610a89565b610af58185610a94565b9350610b05818560208601610aa5565b610b0e81610acf565b840191505092915050565b60006020820190508181036000830152610b338184610ae0565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b6b82610b40565b9050919050565b610b7b81610b60565b8114610b8657600080fd5b50565b600081359050610b9881610b72565b92915050565b6000819050919050565b610bb181610b9e565b8114610bbc57600080fd5b50565b600081359050610bce81610ba8565b92915050565b60008060408385031215610beb57610bea610b3b565b5b6000610bf985828601610b89565b9250506020610c0a85828601610bbf565b9150509250929050565b60008115159050919050565b610c2981610c14565b82525050565b6000602082019050610c446000830184610c20565b92915050565b610c5381610b9e565b82525050565b6000602082019050610c6e6000830184610c4a565b92915050565b600080600060608486031215610c8d57610c8c610b3b565b5b6000610c9b86828701610b89565b9350506020610cac86828701610b89565b9250506040610cbd86828701610bbf565b9150509250925092565b600060ff82169050919050565b610cdd81610cc7565b82525050565b6000602082019050610cf86000830184610cd4565b92915050565b600060208284031215610d1457610d13610b3b565b5b6000610d2284828501610b89565b91505092915050565b60008060408385031215610d4257610d41610b3b565b5b6000610d5085828601610b89565b9250506020610d6185828601610b89565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610db257607f821691505b602082108103610dc557610dc4610d6b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e0582610b9e565b9150610e1083610b9e565b9250828201905080821115610e2857610e27610dcb565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000610e8a602583610a94565b9150610e9582610e2e565b604082019050919050565b60006020820190508181036000830152610eb981610e7d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000610f1c602483610a94565b9150610f2782610ec0565b604082019050919050565b60006020820190508181036000830152610f4b81610f0f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000610fae602283610a94565b9150610fb982610f52565b604082019050919050565b60006020820190508181036000830152610fdd81610fa1565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061101a601d83610a94565b915061102582610fe4565b602082019050919050565b600060208201905081810360008301526110498161100d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006110ac602583610a94565b91506110b782611050565b604082019050919050565b600060208201905081810360008301526110db8161109f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061113e602383610a94565b9150611149826110e2565b604082019050919050565b6000602082019050818103600083015261116d81611131565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006111d0602683610a94565b91506111db82611174565b604082019050919050565b600060208201905081810360008301526111ff816111c3565b905091905056fea2646970667358221220570c0e0d06a73dfa709fe533b769121e01b78900fa0907c7b1e500184231f38464736f6c63430008110033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610b19565b60405180910390f35b6100e660048036038101906100e19190610bd4565b610308565b6040516100f39190610c2f565b60405180910390f35b61010461032b565b6040516101119190610c59565b60405180910390f35b610134600480360381019061012f9190610c74565b610335565b6040516101419190610c2f565b60405180910390f35b610152610364565b60405161015f9190610ce3565b60405180910390f35b610182600480360381019061017d9190610bd4565b61036d565b60405161018f9190610c2f565b60405180910390f35b6101b260048036038101906101ad9190610cfe565b6103a4565b6040516101bf9190610c59565b60405180910390f35b6101d06103ed565b6040516101dd9190610b19565b60405180910390f35b61020060048036038101906101fb9190610bd4565b61047f565b60405161020d9190610c2f565b60405180910390f35b610230600480360381019061022b9190610bd4565b6104f6565b60405161023d9190610c2f565b60405180910390f35b610260600480360381019061025b9190610d2b565b610519565b60405161026d9190610c59565b60405180910390f35b60606036805461028590610d9a565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610d9a565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b6000806103136105a0565b90506103208185856105a8565b600191505092915050565b6000603554905090565b6000806103406105a0565b905061034d858285610771565b6103588585856107fd565b60019150509392505050565b60006012905090565b6000806103786105a0565b905061039981858561038a8589610519565b6103949190610dfa565b6105a8565b600191505092915050565b6000603360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060603780546103fc90610d9a565b80601f016020809104026020016040519081016040528092919081815260200182805461042890610d9a565b80156104755780601f1061044a57610100808354040283529160200191610475565b820191906000526020600020905b81548152906001019060200180831161045857829003601f168201915b5050505050905090565b60008061048a6105a0565b905060006104988286610519565b9050838110156104dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d490610ea0565b60405180910390fd5b6104ea82868684036105a8565b60019250505092915050565b6000806105016105a0565b905061050e8185856107fd565b600191505092915050565b6000603460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060e90610f32565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067d90610fc4565b60405180910390fd5b80603460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107649190610c59565b60405180910390a3505050565b600061077d8484610519565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107f757818110156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e090611030565b60405180910390fd5b6107f684848484036105a8565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361086c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610863906110c2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d290611154565b60405180910390fd5b6108e6838383610a7f565b6000603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561096d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610964906111e6565b60405180910390fd5b818103603360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a029190610dfa565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a669190610c59565b60405180910390a3610a79848484610a84565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ac3578082015181840152602081019050610aa8565b60008484015250505050565b6000601f19601f8301169050919050565b6000610aeb82610a89565b610af58185610a94565b9350610b05818560208601610aa5565b610b0e81610acf565b840191505092915050565b60006020820190508181036000830152610b338184610ae0565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b6b82610b40565b9050919050565b610b7b81610b60565b8114610b8657600080fd5b50565b600081359050610b9881610b72565b92915050565b6000819050919050565b610bb181610b9e565b8114610bbc57600080fd5b50565b600081359050610bce81610ba8565b92915050565b60008060408385031215610beb57610bea610b3b565b5b6000610bf985828601610b89565b9250506020610c0a85828601610bbf565b9150509250929050565b60008115159050919050565b610c2981610c14565b82525050565b6000602082019050610c446000830184610c20565b92915050565b610c5381610b9e565b82525050565b6000602082019050610c6e6000830184610c4a565b92915050565b600080600060608486031215610c8d57610c8c610b3b565b5b6000610c9b86828701610b89565b9350506020610cac86828701610b89565b9250506040610cbd86828701610bbf565b9150509250925092565b600060ff82169050919050565b610cdd81610cc7565b82525050565b6000602082019050610cf86000830184610cd4565b92915050565b600060208284031215610d1457610d13610b3b565b5b6000610d2284828501610b89565b91505092915050565b60008060408385031215610d4257610d41610b3b565b5b6000610d5085828601610b89565b9250506020610d6185828601610b89565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610db257607f821691505b602082108103610dc557610dc4610d6b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e0582610b9e565b9150610e1083610b9e565b9250828201905080821115610e2857610e27610dcb565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000610e8a602583610a94565b9150610e9582610e2e565b604082019050919050565b60006020820190508181036000830152610eb981610e7d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000610f1c602483610a94565b9150610f2782610ec0565b604082019050919050565b60006020820190508181036000830152610f4b81610f0f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000610fae602283610a94565b9150610fb982610f52565b604082019050919050565b60006020820190508181036000830152610fdd81610fa1565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061101a601d83610a94565b915061102582610fe4565b602082019050919050565b600060208201905081810360008301526110498161100d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006110ac602583610a94565b91506110b782611050565b604082019050919050565b600060208201905081810360008301526110db8161109f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061113e602383610a94565b9150611149826110e2565b604082019050919050565b6000602082019050818103600083015261116d81611131565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006111d0602683610a94565b91506111db82611174565b604082019050919050565b600060208201905081810360008301526111ff816111c3565b905091905056fea2646970667358221220570c0e0d06a73dfa709fe533b769121e01b78900fa0907c7b1e500184231f38464736f6c63430008110033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/IConnectorManager.json b/artifacts/IConnectorManager.json deleted file mode 100644 index 45f3cf64..00000000 --- a/artifacts/IConnectorManager.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IConnectorManager", - "sourceName": "@connext/nxtp-contracts/contracts/messaging/interfaces/IConnectorManager.sol", - "abi": [ - { - "inputs": [], - "name": "home", - "outputs": [ - { - "internalType": "contract IOutbox", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_potentialReplica", - "type": "address" - } - ], - "name": "isReplica", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "localDomain", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/IConnext.json b/artifacts/IConnext.json index 500cf566..0256d695 100644 --- a/artifacts/IConnext.json +++ b/artifacts/IConnext.json @@ -1,3225 +1,8 @@ { "_format": "hh-sol-artifact-1", "contractName": "IConnext", - "sourceName": "@connext/nxtp-contracts/contracts/core/connext/interfaces/IConnext.sol", + "sourceName": "src/bridges/interfaces/IConnext.sol", "abi": [ - { - "anonymous": false, - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "facetAddress", - "type": "address" - }, - { - "internalType": "enum IDiamondCut.FacetCutAction", - "name": "action", - "type": "uint8" - }, - { - "internalType": "bytes4[]", - "name": "functionSelectors", - "type": "bytes4[]" - } - ], - "indexed": false, - "internalType": "struct IDiamondCut.FacetCut[]", - "name": "_diamondCut", - "type": "tuple[]" - }, - { - "indexed": false, - "internalType": "address", - "name": "_init", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "_calldata", - "type": "bytes" - } - ], - "name": "DiamondCut", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "facetAddress", - "type": "address" - }, - { - "internalType": "enum IDiamondCut.FacetCutAction", - "name": "action", - "type": "uint8" - }, - { - "internalType": "bytes4[]", - "name": "functionSelectors", - "type": "bytes4[]" - } - ], - "indexed": false, - "internalType": "struct IDiamondCut.FacetCut[]", - "name": "_diamondCut", - "type": "tuple[]" - }, - { - "indexed": false, - "internalType": "address", - "name": "_init", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "_calldata", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "DiamondCutProposed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "facetAddress", - "type": "address" - }, - { - "internalType": "enum IDiamondCut.FacetCutAction", - "name": "action", - "type": "uint8" - }, - { - "internalType": "bytes4[]", - "name": "functionSelectors", - "type": "bytes4[]" - } - ], - "indexed": false, - "internalType": "struct IDiamondCut.FacetCut[]", - "name": "_diamondCut", - "type": "tuple[]" - }, - { - "indexed": false, - "internalType": "address", - "name": "_init", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "_calldata", - "type": "bytes" - } - ], - "name": "DiamondCutRescinded", - "type": "event" - }, - { - "inputs": [], - "name": "LIQUIDITY_FEE_DENOMINATOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LIQUIDITY_FEE_NUMERATOR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "aavePool", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "aavePortalFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "acceptProposedOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "router", - "type": "address" - } - ], - "name": "acceptProposedRouterOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_domain", - "type": "uint32" - }, - { - "internalType": "address", - "name": "_connext", - "type": "address" - } - ], - "name": "addConnextion", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_relayer", - "type": "address" - } - ], - "name": "addRelayer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_local", - "type": "address" - } - ], - "name": "addRouterLiquidity", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_local", - "type": "address" - }, - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "name": "addRouterLiquidityFor", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sequencer", - "type": "address" - } - ], - "name": "addSequencer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "domain", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "internalType": "struct TokenId", - "name": "_canonical", - "type": "tuple" - }, - { - "internalType": "address", - "name": "_stableSwapPool", - "type": "address" - } - ], - "name": "addStableSwapPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "minToMint", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "addSwapLiquidity", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_adopted", - "type": "address" - } - ], - "name": "adoptedToCanonical", - "outputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "domain", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "internalType": "struct TokenId", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "domain", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "internalType": "struct TokenId", - "name": "_canonical", - "type": "tuple" - } - ], - "name": "adoptedToLocalExternalPools", - "outputs": [ - { - "internalType": "contract IStableSwap", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_key", - "type": "bytes32" - } - ], - "name": "adoptedToLocalExternalPools", - "outputs": [ - { - "internalType": "contract IStableSwap", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "router", - "type": "address" - } - ], - "name": "approveRouter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "name": "approveRouterForPortal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_key", - "type": "bytes32" - } - ], - "name": "approvedAssets", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "domain", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "internalType": "struct TokenId", - "name": "_canonical", - "type": "tuple" - } - ], - "name": "approvedAssets", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_relayer", - "type": "address" - } - ], - "name": "approvedRelayers", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sequencer", - "type": "address" - } - ], - "name": "approvedSequencers", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_transferId", - "type": "bytes32" - } - ], - "name": "bumpTransfer", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "calculateRemoveSwapLiquidity", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "tokenAmount", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "tokenIndex", - "type": "uint8" - } - ], - "name": "calculateRemoveSwapLiquidityOneToken", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "tokenIndexFrom", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "tokenIndexTo", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "dx", - "type": "uint256" - } - ], - "name": "calculateSwap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "bool", - "name": "deposit", - "type": "bool" - } - ], - "name": "calculateSwapTokenAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_key", - "type": "bytes32" - } - ], - "name": "canonicalToAdopted", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "domain", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "internalType": "struct TokenId", - "name": "_canonical", - "type": "tuple" - } - ], - "name": "canonicalToAdopted", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_key", - "type": "bytes32" - } - ], - "name": "canonicalToRepresentation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "domain", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "internalType": "struct TokenId", - "name": "_canonical", - "type": "tuple" - } - ], - "name": "canonicalToRepresentation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "delay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "facetAddress", - "type": "address" - }, - { - "internalType": "enum IDiamondCut.FacetCutAction", - "name": "action", - "type": "uint8" - }, - { - "internalType": "bytes4[]", - "name": "functionSelectors", - "type": "bytes4[]" - } - ], - "internalType": "struct IDiamondCut.FacetCut[]", - "name": "_diamondCut", - "type": "tuple[]" - }, - { - "internalType": "address", - "name": "_init", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_calldata", - "type": "bytes" - } - ], - "name": "diamondCut", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "domain", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_domain", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "_id", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_custom", - "type": "address" - } - ], - "name": "enrollCustom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_domain", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "_router", - "type": "bytes32" - } - ], - "name": "enrollRemoteRouter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "uint32", - "name": "originDomain", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "destinationDomain", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "canonicalDomain", - "type": "uint32" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "address", - "name": "delegate", - "type": "address" - }, - { - "internalType": "bool", - "name": "receiveLocal", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "callData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "slippage", - "type": "uint256" - }, - { - "internalType": "address", - "name": "originSender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "bridgedAmt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "normalizedIn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - } - ], - "internalType": "struct TransferInfo", - "name": "params", - "type": "tuple" - }, - { - "internalType": "address[]", - "name": "routers", - "type": "address[]" - }, - { - "internalType": "bytes[]", - "name": "routerSignatures", - "type": "bytes[]" - }, - { - "internalType": "address", - "name": "sequencer", - "type": "address" - }, - { - "internalType": "bytes", - "name": "sequencerSignature", - "type": "bytes" - } - ], - "internalType": "struct ExecuteArgs", - "name": "_args", - "type": "tuple" - } - ], - "name": "execute", - "outputs": [ - { - "internalType": "bytes32", - "name": "transferId", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "_functionSelector", - "type": "bytes4" - } - ], - "name": "facetAddress", - "outputs": [ - { - "internalType": "address", - "name": "facetAddress_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "facetAddresses", - "outputs": [ - { - "internalType": "address[]", - "name": "facetAddresses_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_facet", - "type": "address" - } - ], - "name": "facetFunctionSelectors", - "outputs": [ - { - "internalType": "bytes4[]", - "name": "facetFunctionSelectors_", - "type": "bytes4[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "facets", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "facetAddress", - "type": "address" - }, - { - "internalType": "bytes4[]", - "name": "functionSelectors", - "type": "bytes4[]" - } - ], - "internalType": "struct IDiamondLoupe.Facet[]", - "name": "facets_", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "originDomain", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "destinationDomain", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "canonicalDomain", - "type": "uint32" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "address", - "name": "delegate", - "type": "address" - }, - { - "internalType": "bool", - "name": "receiveLocal", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "callData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "slippage", - "type": "uint256" - }, - { - "internalType": "address", - "name": "originSender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "bridgedAmt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "normalizedIn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - } - ], - "internalType": "struct TransferInfo", - "name": "_params", - "type": "tuple" - } - ], - "name": "forceReceiveLocal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "originDomain", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "destinationDomain", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "canonicalDomain", - "type": "uint32" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "address", - "name": "delegate", - "type": "address" - }, - { - "internalType": "bool", - "name": "receiveLocal", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "callData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "slippage", - "type": "uint256" - }, - { - "internalType": "address", - "name": "originSender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "bridgedAmt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "normalizedIn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - } - ], - "internalType": "struct TransferInfo", - "name": "_params", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "_slippage", - "type": "uint256" - } - ], - "name": "forceUpdateSlippage", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_transferId", - "type": "bytes32" - } - ], - "name": "getAavePortalDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_transferId", - "type": "bytes32" - } - ], - "name": "getAavePortalFeeDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "facetAddress", - "type": "address" - }, - { - "internalType": "enum IDiamondCut.FacetCutAction", - "name": "action", - "type": "uint8" - }, - { - "internalType": "bytes4[]", - "name": "functionSelectors", - "type": "bytes4[]" - } - ], - "internalType": "struct IDiamondCut.FacetCut[]", - "name": "_diamondCut", - "type": "tuple[]" - }, - { - "internalType": "address", - "name": "_init", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_calldata", - "type": "bytes" - } - ], - "name": "getAcceptanceTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_key", - "type": "bytes32" - } - ], - "name": "getCustodiedAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_id", - "type": "bytes32" - }, - { - "internalType": "uint32", - "name": "_domain", - "type": "uint32" - } - ], - "name": "getLocalAndAdoptedToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "name": "getProposedRouterOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "name": "getProposedRouterOwnerTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "name": "getRouterApproval", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "name": "getRouterApprovalForPortal", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "name": "getRouterOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "name": "getRouterRecipient", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - } - ], - "name": "getSwapA", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - } - ], - "name": "getSwapAPrecise", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "getSwapAdminBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - } - ], - "name": "getSwapLPToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - } - ], - "name": "getSwapStorage", - "outputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "initialA", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "futureA", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "initialATime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "futureATime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "swapFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "adminFee", - "type": "uint256" - }, - { - "internalType": "contract LPToken", - "name": "lpToken", - "type": "address" - }, - { - "internalType": "contract IERC20[]", - "name": "pooledTokens", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "tokenPrecisionMultipliers", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "balances", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "adminFees", - "type": "uint256[]" - }, - { - "internalType": "bool", - "name": "disabled", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "removeTime", - "type": "uint256" - } - ], - "internalType": "struct SwapUtils.Swap", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "index", - "type": "uint8" - } - ], - "name": "getSwapToken", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "index", - "type": "uint8" - } - ], - "name": "getSwapTokenBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "name": "getSwapTokenIndex", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - } - ], - "name": "getSwapVirtualPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_candidate", - "type": "address" - } - ], - "name": "getTokenId", - "outputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "domain", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "internalType": "struct TokenId", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_origin", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "_nonce", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "_sender", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_message", - "type": "bytes" - } - ], - "name": "handle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "initializeRouter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_canonicalId", - "type": "bytes32" - }, - { - "internalType": "contract IERC20[]", - "name": "_pooledTokens", - "type": "address[]" - }, - { - "internalType": "uint8[]", - "name": "decimals", - "type": "uint8[]" - }, - { - "internalType": "string", - "name": "lpTokenName", - "type": "string" - }, - { - "internalType": "string", - "name": "lpTokenSymbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "_a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_fee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_adminFee", - "type": "uint256" - } - ], - "name": "initializeSwap", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "lpTokenTargetAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maxRoutersPerTransfer", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "nonce", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "facetAddress", - "type": "address" - }, - { - "internalType": "enum IDiamondCut.FacetCutAction", - "name": "action", - "type": "uint8" - }, - { - "internalType": "bytes4[]", - "name": "functionSelectors", - "type": "bytes4[]" - } - ], - "internalType": "struct IDiamondCut.FacetCut[]", - "name": "_diamondCut", - "type": "tuple[]" - }, - { - "internalType": "address", - "name": "_init", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_calldata", - "type": "bytes" - } - ], - "name": "proposeDiamondCut", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newlyProposed", - "type": "address" - } - ], - "name": "proposeNewOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "proposeRouterAllowlistRemoval", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "router", - "type": "address" - }, - { - "internalType": "address", - "name": "proposed", - "type": "address" - } - ], - "name": "proposeRouterOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "proposed", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposedTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "futureA", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "futureTime", - "type": "uint256" - } - ], - "name": "rampA", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "relayerFeeVault", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_domain", - "type": "uint32" - } - ], - "name": "remote", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "domain", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "internalType": "struct TokenId", - "name": "_canonical", - "type": "tuple" - }, - { - "internalType": "address", - "name": "_adoptedAssetId", - "type": "address" - }, - { - "internalType": "address", - "name": "_representation", - "type": "address" - } - ], - "name": "removeAssetId", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_key", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_adoptedAssetId", - "type": "address" - }, - { - "internalType": "address", - "name": "_representation", - "type": "address" - } - ], - "name": "removeAssetId", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_relayer", - "type": "address" - } - ], - "name": "removeRelayer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "removeRouterAllowlist", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_local", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_to", - "type": "address" - } - ], - "name": "removeRouterLiquidity", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_local", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_to", - "type": "address" - }, - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "name": "removeRouterLiquidityFor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sequencer", - "type": "address" - } - ], - "name": "removeSequencer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "minAmounts", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "removeSwapLiquidity", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - }, - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "maxBurnAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "removeSwapLiquidityImbalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "tokenAmount", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "tokenIndex", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "minAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "removeSwapLiquidityOneToken", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "originDomain", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "destinationDomain", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "canonicalDomain", - "type": "uint32" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "address", - "name": "delegate", - "type": "address" - }, - { - "internalType": "bool", - "name": "receiveLocal", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "callData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "slippage", - "type": "uint256" - }, - { - "internalType": "address", - "name": "originSender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "bridgedAmt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "normalizedIn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - } - ], - "internalType": "struct TransferInfo", - "name": "_params", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "_backingAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_feeAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxIn", - "type": "uint256" - } - ], - "name": "repayAavePortal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "originDomain", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "destinationDomain", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "canonicalDomain", - "type": "uint32" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "address", - "name": "delegate", - "type": "address" - }, - { - "internalType": "bool", - "name": "receiveLocal", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "callData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "slippage", - "type": "uint256" - }, - { - "internalType": "address", - "name": "originSender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "bridgedAmt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "normalizedIn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - } - ], - "internalType": "struct TransferInfo", - "name": "_params", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "_backingAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_feeAmount", - "type": "uint256" - } - ], - "name": "repayAavePortalFor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_adopted", - "type": "address" - } - ], - "name": "representationToCanonical", - "outputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "domain", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "internalType": "struct TokenId", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "facetAddress", - "type": "address" - }, - { - "internalType": "enum IDiamondCut.FacetCutAction", - "name": "action", - "type": "uint8" - }, - { - "internalType": "bytes4[]", - "name": "functionSelectors", - "type": "bytes4[]" - } - ], - "internalType": "struct IDiamondCut.FacetCut[]", - "name": "_diamondCut", - "type": "tuple[]" - }, - { - "internalType": "address", - "name": "_init", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_calldata", - "type": "bytes" - } - ], - "name": "rescindDiamondCut", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_transferId", - "type": "bytes32" - } - ], - "name": "routedTransfers", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "routerAllowlistRemoved", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "routerAllowlistTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_router", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "routerBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_aavePool", - "type": "address" - } - ], - "name": "setAavePool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_aavePortalFeeNumerator", - "type": "uint256" - } - ], - "name": "setAavePortalFee", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_numerator", - "type": "uint256" - } - ], - "name": "setLiquidityFeeNumerator", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_newMaxRouters", - "type": "uint256" - } - ], - "name": "setMaxRoutersPerTransfer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_relayerFeeVault", - "type": "address" - } - ], - "name": "setRelayerFeeVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "router", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "setRouterRecipient", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "newAdminFee", - "type": "uint256" - } - ], - "name": "setSwapAdminFee", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "newSwapFee", - "type": "uint256" - } - ], - "name": "setSwapFee", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_xAppConnectionManager", - "type": "address" - } - ], - "name": "setXAppConnectionManager", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "domain", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "internalType": "struct TokenId", - "name": "_canonical", - "type": "tuple" - }, - { - "internalType": "uint8", - "name": "_canonicalDecimals", - "type": "uint8" - }, - { - "internalType": "string", - "name": "_representationName", - "type": "string" - }, - { - "internalType": "string", - "name": "_representationSymbol", - "type": "string" - }, - { - "internalType": "address", - "name": "_adoptedAssetId", - "type": "address" - }, - { - "internalType": "address", - "name": "_stableSwapPool", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_cap", - "type": "uint256" - } - ], - "name": "setupAsset", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "domain", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "internalType": "struct TokenId", - "name": "_canonical", - "type": "tuple" - }, - { - "internalType": "address", - "name": "_representation", - "type": "address" - }, - { - "internalType": "address", - "name": "_adoptedAssetId", - "type": "address" - }, - { - "internalType": "address", - "name": "_stableSwapPool", - "type": "address" - } - ], - "name": "setupAssetWithDeployedRepresentation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - } - ], - "name": "stopRampA", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "tokenIndexFrom", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "tokenIndexTo", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "dx", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minDy", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "swap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address", - "name": "assetIn", - "type": "address" - }, - { - "internalType": "address", - "name": "assetOut", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minAmountOut", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "swapExact", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address", - "name": "assetIn", - "type": "address" - }, - { - "internalType": "address", - "name": "assetOut", - "type": "address" - }, - { - "internalType": "uint256", - "name": "maxAmountIn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "swapExactOut", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_transferId", - "type": "bytes32" - } - ], - "name": "transferStatus", - "outputs": [ - { - "internalType": "enum DestinationTransferStatus", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "router", - "type": "address" - } - ], - "name": "unapproveRouter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "name": "unapproveRouterForPortal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "unpause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "domain", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "internalType": "struct TokenId", - "name": "_canonical", - "type": "tuple" - }, - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - } - ], - "name": "updateDetails", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "domain", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "internalType": "struct TokenId", - "name": "_canonical", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "_updated", - "type": "uint256" - } - ], - "name": "updateLiquidityCap", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newAddress", - "type": "address" - } - ], - "name": "updateLpTokenTarget", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "canonicalId", - "type": "bytes32" - } - ], - "name": "withdrawSwapAdminFees", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "xAppConnectionManager", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -3268,55 +51,6 @@ ], "stateMutability": "payable", "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_destination", - "type": "uint32" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - }, - { - "internalType": "address", - "name": "_delegate", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_slippage", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_callData", - "type": "bytes" - } - ], - "name": "xcallIntoLocal", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "payable", - "type": "function" } ], "bytecode": "0x", diff --git a/artifacts/IDiamondCut.json b/artifacts/IDiamondCut.json index 6d33c6b4..55e3fad0 100644 --- a/artifacts/IDiamondCut.json +++ b/artifacts/IDiamondCut.json @@ -1,7 +1,7 @@ { "_format": "hh-sol-artifact-1", "contractName": "IDiamondCut", - "sourceName": "@connext/nxtp-contracts/contracts/core/connext/interfaces/IDiamondCut.sol", + "sourceName": "src/bridges/interfaces/IDiamondCut.sol", "abi": [ { "anonymous": false, @@ -45,96 +45,6 @@ "name": "DiamondCut", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "facetAddress", - "type": "address" - }, - { - "internalType": "enum IDiamondCut.FacetCutAction", - "name": "action", - "type": "uint8" - }, - { - "internalType": "bytes4[]", - "name": "functionSelectors", - "type": "bytes4[]" - } - ], - "indexed": false, - "internalType": "struct IDiamondCut.FacetCut[]", - "name": "_diamondCut", - "type": "tuple[]" - }, - { - "indexed": false, - "internalType": "address", - "name": "_init", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "_calldata", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "DiamondCutProposed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "facetAddress", - "type": "address" - }, - { - "internalType": "enum IDiamondCut.FacetCutAction", - "name": "action", - "type": "uint8" - }, - { - "internalType": "bytes4[]", - "name": "functionSelectors", - "type": "bytes4[]" - } - ], - "indexed": false, - "internalType": "struct IDiamondCut.FacetCut[]", - "name": "_diamondCut", - "type": "tuple[]" - }, - { - "indexed": false, - "internalType": "address", - "name": "_init", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "_calldata", - "type": "bytes" - } - ], - "name": "DiamondCutRescinded", - "type": "event" - }, { "inputs": [ { @@ -174,132 +84,6 @@ "outputs": [], "stateMutability": "nonpayable", "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "facetAddress", - "type": "address" - }, - { - "internalType": "enum IDiamondCut.FacetCutAction", - "name": "action", - "type": "uint8" - }, - { - "internalType": "bytes4[]", - "name": "functionSelectors", - "type": "bytes4[]" - } - ], - "internalType": "struct IDiamondCut.FacetCut[]", - "name": "_diamondCut", - "type": "tuple[]" - }, - { - "internalType": "address", - "name": "_init", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_calldata", - "type": "bytes" - } - ], - "name": "getAcceptanceTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "facetAddress", - "type": "address" - }, - { - "internalType": "enum IDiamondCut.FacetCutAction", - "name": "action", - "type": "uint8" - }, - { - "internalType": "bytes4[]", - "name": "functionSelectors", - "type": "bytes4[]" - } - ], - "internalType": "struct IDiamondCut.FacetCut[]", - "name": "_diamondCut", - "type": "tuple[]" - }, - { - "internalType": "address", - "name": "_init", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_calldata", - "type": "bytes" - } - ], - "name": "proposeDiamondCut", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "facetAddress", - "type": "address" - }, - { - "internalType": "enum IDiamondCut.FacetCutAction", - "name": "action", - "type": "uint8" - }, - { - "internalType": "bytes4[]", - "name": "functionSelectors", - "type": "bytes4[]" - } - ], - "internalType": "struct IDiamondCut.FacetCut[]", - "name": "_diamondCut", - "type": "tuple[]" - }, - { - "internalType": "address", - "name": "_init", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_calldata", - "type": "bytes" - } - ], - "name": "rescindDiamondCut", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" } ], "bytecode": "0x", diff --git a/artifacts/IDiamondLoupe.json b/artifacts/IDiamondLoupe.json index e164c3a6..05348264 100644 --- a/artifacts/IDiamondLoupe.json +++ b/artifacts/IDiamondLoupe.json @@ -1,7 +1,7 @@ { "_format": "hh-sol-artifact-1", "contractName": "IDiamondLoupe", - "sourceName": "@connext/nxtp-contracts/contracts/core/connext/interfaces/IDiamondLoupe.sol", + "sourceName": "src/bridges/interfaces/IDiamondLoupe.sol", "abi": [ { "inputs": [ diff --git a/artifacts/IERC20Metadata.json b/artifacts/IERC20Metadata.json deleted file mode 100644 index 0436b925..00000000 --- a/artifacts/IERC20Metadata.json +++ /dev/null @@ -1,233 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IERC20Metadata", - "sourceName": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/IERC20MetadataUpgradeable.json b/artifacts/IERC20MetadataUpgradeable.json deleted file mode 100644 index 315917ca..00000000 --- a/artifacts/IERC20MetadataUpgradeable.json +++ /dev/null @@ -1,233 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IERC20MetadataUpgradeable", - "sourceName": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/IERC20Upgradeable.json b/artifacts/IERC20Upgradeable.json deleted file mode 100644 index 5e3329ee..00000000 --- a/artifacts/IERC20Upgradeable.json +++ /dev/null @@ -1,194 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IERC20Upgradeable", - "sourceName": "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/IOutbox.json b/artifacts/IOutbox.json deleted file mode 100644 index 00f82fa6..00000000 --- a/artifacts/IOutbox.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IOutbox", - "sourceName": "@connext/nxtp-contracts/contracts/messaging/interfaces/IOutbox.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "messageHash", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "leafIndex", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint64", - "name": "destinationAndNonce", - "type": "uint64" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "committedRoot", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "message", - "type": "bytes" - } - ], - "name": "Dispatch", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_destinationDomain", - "type": "uint32" - }, - { - "internalType": "bytes32", - "name": "_recipientAddress", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_messageBody", - "type": "bytes" - } - ], - "name": "dispatch", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/IStableSwap.json b/artifacts/IStableSwap.json deleted file mode 100644 index 199661b9..00000000 --- a/artifacts/IStableSwap.json +++ /dev/null @@ -1,825 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IStableSwap", - "sourceName": "@connext/nxtp-contracts/contracts/core/connext/interfaces/IStableSwap.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "provider", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "tokenAmounts", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "fees", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "invariant", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lpTokenSupply", - "type": "uint256" - } - ], - "name": "AddLiquidity", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newAdminFee", - "type": "uint256" - } - ], - "name": "NewAdminFee", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newSwapFee", - "type": "uint256" - } - ], - "name": "NewSwapFee", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newWithdrawFee", - "type": "uint256" - } - ], - "name": "NewWithdrawFee", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldA", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newA", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "initialTime", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "futureTime", - "type": "uint256" - } - ], - "name": "RampA", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "provider", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "tokenAmounts", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lpTokenSupply", - "type": "uint256" - } - ], - "name": "RemoveLiquidity", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "provider", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "tokenAmounts", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "fees", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "invariant", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lpTokenSupply", - "type": "uint256" - } - ], - "name": "RemoveLiquidityImbalance", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "provider", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lpTokenAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lpTokenSupply", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "boughtId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "tokensBought", - "type": "uint256" - } - ], - "name": "RemoveLiquidityOne", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "currentA", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "time", - "type": "uint256" - } - ], - "name": "StopRampA", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "buyer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "tokensSold", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "tokensBought", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "soldId", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "boughtId", - "type": "uint128" - } - ], - "name": "TokenSwap", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "minToMint", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "addLiquidity", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "calculateRemoveLiquidity", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenAmount", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "tokenIndex", - "type": "uint8" - } - ], - "name": "calculateRemoveLiquidityOneToken", - "outputs": [ - { - "internalType": "uint256", - "name": "availableTokenAmount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "tokenIndexFrom", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "tokenIndexTo", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "dx", - "type": "uint256" - } - ], - "name": "calculateSwap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "assetIn", - "type": "address" - }, - { - "internalType": "address", - "name": "assetOut", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - } - ], - "name": "calculateSwapFromAddress", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "tokenIndexFrom", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "tokenIndexTo", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "dy", - "type": "uint256" - } - ], - "name": "calculateSwapOut", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "assetIn", - "type": "address" - }, - { - "internalType": "address", - "name": "assetOut", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - } - ], - "name": "calculateSwapOutFromAddress", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "bool", - "name": "deposit", - "type": "bool" - } - ], - "name": "calculateTokenAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getA", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "index", - "type": "uint8" - } - ], - "name": "getToken", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "index", - "type": "uint8" - } - ], - "name": "getTokenBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "name": "getTokenIndex", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVirtualPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract IERC20[]", - "name": "pooledTokens", - "type": "address[]" - }, - { - "internalType": "uint8[]", - "name": "decimals", - "type": "uint8[]" - }, - { - "internalType": "string", - "name": "lpTokenName", - "type": "string" - }, - { - "internalType": "string", - "name": "lpTokenSymbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "fee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "adminFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "lpTokenTargetAddress", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "minAmounts", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "removeLiquidity", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "maxBurnAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "removeLiquidityImbalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenAmount", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "tokenIndex", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "minAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "removeLiquidityOneToken", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "tokenIndexFrom", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "tokenIndexTo", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "dx", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minDy", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "swap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "address", - "name": "assetIn", - "type": "address" - }, - { - "internalType": "address", - "name": "assetOut", - "type": "address" - }, - { - "internalType": "uint256", - "name": "minAmountOut", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "swapExact", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - }, - { - "internalType": "address", - "name": "assetIn", - "type": "address" - }, - { - "internalType": "address", - "name": "assetOut", - "type": "address" - }, - { - "internalType": "uint256", - "name": "maxAmountIn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "swapExactOut", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/Initializable.json b/artifacts/Initializable.json index 4b29c723..7df2ae92 100644 --- a/artifacts/Initializable.json +++ b/artifacts/Initializable.json @@ -1,20 +1,33 @@ { "_format": "hh-sol-artifact-1", "contractName": "Initializable", - "sourceName": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "sourceName": "src/common/lifecycle/Initializable.sol", "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" + "internalType": "address", + "name": "initializer", + "type": "address" } ], "name": "Initialized", "type": "event" + }, + { + "inputs": [], + "name": "isInitialized", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" } ], "bytecode": "0x", diff --git a/artifacts/LPToken.json b/artifacts/LPToken.json deleted file mode 100644 index d9000fdb..00000000 --- a/artifacts/LPToken.json +++ /dev/null @@ -1,406 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "LPToken", - "sourceName": "@connext/nxtp-contracts/contracts/core/connext/helpers/LPToken.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "initialize", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b506127d4806100206000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806370a08231116100a257806395d89b411161007157806395d89b41146102ba578063a457c2d7146102d8578063a9059cbb14610308578063dd62ed3e14610338578063f2fde38b146103685761010b565b806370a0823114610246578063715018a61461027657806379cc6790146102805780638da5cb5b1461029c5761010b565b8063313ce567116100de578063313ce567146101ac57806339509351146101ca57806340c10f19146101fa5780634cd88b76146102165761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e57806323b872dd1461017c575b600080fd5b610118610384565b60405161012591906116cd565b60405180910390f35b61014860048036038101906101439190611797565b610416565b60405161015591906117f2565b60405180910390f35b610166610439565b604051610173919061181c565b60405180910390f35b61019660048036038101906101919190611837565b610443565b6040516101a391906117f2565b60405180910390f35b6101b4610472565b6040516101c191906118a6565b60405180910390f35b6101e460048036038101906101df9190611797565b61047b565b6040516101f191906117f2565b60405180910390f35b610214600480360381019061020f9190611797565b6104b2565b005b610230600480360381019061022b91906119f6565b61057f565b60405161023d91906117f2565b60405180910390f35b610260600480360381019061025b9190611a6e565b61062e565b60405161026d919061181c565b60405180910390f35b61027e610677565b005b61029a60048036038101906102959190611797565b6106ff565b005b6102a46107cc565b6040516102b19190611aaa565b60405180910390f35b6102c26107f6565b6040516102cf91906116cd565b60405180910390f35b6102f260048036038101906102ed9190611797565b610888565b6040516102ff91906117f2565b60405180910390f35b610322600480360381019061031d9190611797565b6108ff565b60405161032f91906117f2565b60405180910390f35b610352600480360381019061034d9190611ac5565b610922565b60405161035f919061181c565b60405180910390f35b610382600480360381019061037d9190611a6e565b6109a9565b005b60606036805461039390611b34565b80601f01602080910402602001604051908101604052809291908181526020018280546103bf90611b34565b801561040c5780601f106103e15761010080835404028352916020019161040c565b820191906000526020600020905b8154815290600101906020018083116103ef57829003601f168201915b5050505050905090565b600080610421610aa0565b905061042e818585610aa8565b600191505092915050565b6000603554905090565b60008061044e610aa0565b905061045b858285610c71565b610466858585610cfd565b60019150509392505050565b60006012905090565b600080610486610aa0565b90506104a78185856104988589610922565b6104a29190611b94565b610aa8565b600191505092915050565b6104ba610aa0565b73ffffffffffffffffffffffffffffffffffffffff166104d86107cc565b73ffffffffffffffffffffffffffffffffffffffff161461052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052590611c14565b60405180910390fd5b60008103610571576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056890611c80565b60405180910390fd5b61057b8282610f7f565b5050565b60008061058c60016110df565b905080156105b0576001600060016101000a81548160ff0219169083151502179055505b6105b86111cf565b6105c28484611220565b6105ca611293565b6001915080156106275760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498600160405161061e9190611ce5565b60405180910390a15b5092915050565b6000603360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61067f610aa0565b73ffffffffffffffffffffffffffffffffffffffff1661069d6107cc565b73ffffffffffffffffffffffffffffffffffffffff16146106f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ea90611c14565b60405180910390fd5b6106fd60006112f4565b565b610707610aa0565b73ffffffffffffffffffffffffffffffffffffffff166107256107cc565b73ffffffffffffffffffffffffffffffffffffffff161461077b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077290611c14565b60405180910390fd5b600081036107be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b590611d4c565b60405180910390fd5b6107c882826113ba565b5050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606037805461080590611b34565b80601f016020809104026020016040519081016040528092919081815260200182805461083190611b34565b801561087e5780601f106108535761010080835404028352916020019161087e565b820191906000526020600020905b81548152906001019060200180831161086157829003601f168201915b5050505050905090565b600080610893610aa0565b905060006108a18286610922565b9050838110156108e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108dd90611dde565b60405180910390fd5b6108f38286868403610aa8565b60019250505092915050565b60008061090a610aa0565b9050610917818585610cfd565b600191505092915050565b6000603460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6109b1610aa0565b73ffffffffffffffffffffffffffffffffffffffff166109cf6107cc565b73ffffffffffffffffffffffffffffffffffffffff1614610a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1c90611c14565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8b90611e70565b60405180910390fd5b610a9d816112f4565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0e90611f02565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7d90611f94565b60405180910390fd5b80603460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c64919061181c565b60405180910390a3505050565b6000610c7d8484610922565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610cf75781811015610ce9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce090612000565b60405180910390fd5b610cf68484848403610aa8565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6390612092565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd290612124565b60405180910390fd5b610de6838383611592565b6000603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e64906121b6565b60405180910390fd5b818103603360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f029190611b94565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f66919061181c565b60405180910390a3610f79848484611610565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe590612222565b60405180910390fd5b610ffa60008383611592565b806035600082825461100c9190611b94565b9250508190555080603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110629190611b94565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110c7919061181c565b60405180910390a36110db60008383611610565b5050565b60008060019054906101000a900460ff16156111565760018260ff1614801561110e575061110c30611615565b155b61114d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611144906122b4565b60405180910390fd5b600090506111ca565b8160ff1660008054906101000a900460ff1660ff16106111ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a2906122b4565b60405180910390fd5b816000806101000a81548160ff021916908360ff160217905550600190505b919050565b600060019054906101000a900460ff1661121e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121590612346565b60405180910390fd5b565b600060019054906101000a900460ff1661126f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126690612346565b60405180910390fd5b816036908161127e9190612508565b50806037908161128e9190612508565b505050565b600060019054906101000a900460ff166112e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d990612346565b60405180910390fd5b6112f26112ed610aa0565b6112f4565b565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611429576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114209061264c565b60405180910390fd5b61143582600083611592565b6000603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156114bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b3906126de565b60405180910390fd5b818103603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816035600082825461151491906126fe565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611579919061181c565b60405180910390a361158d83600084611610565b505050565b61159d838383611638565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361160b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116029061277e565b60405180910390fd5b505050565b505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561167757808201518184015260208101905061165c565b60008484015250505050565b6000601f19601f8301169050919050565b600061169f8261163d565b6116a98185611648565b93506116b9818560208601611659565b6116c281611683565b840191505092915050565b600060208201905081810360008301526116e78184611694565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061172e82611703565b9050919050565b61173e81611723565b811461174957600080fd5b50565b60008135905061175b81611735565b92915050565b6000819050919050565b61177481611761565b811461177f57600080fd5b50565b6000813590506117918161176b565b92915050565b600080604083850312156117ae576117ad6116f9565b5b60006117bc8582860161174c565b92505060206117cd85828601611782565b9150509250929050565b60008115159050919050565b6117ec816117d7565b82525050565b600060208201905061180760008301846117e3565b92915050565b61181681611761565b82525050565b6000602082019050611831600083018461180d565b92915050565b6000806000606084860312156118505761184f6116f9565b5b600061185e8682870161174c565b935050602061186f8682870161174c565b925050604061188086828701611782565b9150509250925092565b600060ff82169050919050565b6118a08161188a565b82525050565b60006020820190506118bb6000830184611897565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61190382611683565b810181811067ffffffffffffffff82111715611922576119216118cb565b5b80604052505050565b60006119356116ef565b905061194182826118fa565b919050565b600067ffffffffffffffff821115611961576119606118cb565b5b61196a82611683565b9050602081019050919050565b82818337600083830152505050565b600061199961199484611946565b61192b565b9050828152602081018484840111156119b5576119b46118c6565b5b6119c0848285611977565b509392505050565b600082601f8301126119dd576119dc6118c1565b5b81356119ed848260208601611986565b91505092915050565b60008060408385031215611a0d57611a0c6116f9565b5b600083013567ffffffffffffffff811115611a2b57611a2a6116fe565b5b611a37858286016119c8565b925050602083013567ffffffffffffffff811115611a5857611a576116fe565b5b611a64858286016119c8565b9150509250929050565b600060208284031215611a8457611a836116f9565b5b6000611a928482850161174c565b91505092915050565b611aa481611723565b82525050565b6000602082019050611abf6000830184611a9b565b92915050565b60008060408385031215611adc57611adb6116f9565b5b6000611aea8582860161174c565b9250506020611afb8582860161174c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611b4c57607f821691505b602082108103611b5f57611b5e611b05565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611b9f82611761565b9150611baa83611761565b9250828201905080821115611bc257611bc1611b65565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611bfe602083611648565b9150611c0982611bc8565b602082019050919050565b60006020820190508181036000830152611c2d81611bf1565b9050919050565b7f4c50546f6b656e3a2063616e6e6f74206d696e74203000000000000000000000600082015250565b6000611c6a601683611648565b9150611c7582611c34565b602082019050919050565b60006020820190508181036000830152611c9981611c5d565b9050919050565b6000819050919050565b6000819050919050565b6000611ccf611cca611cc584611ca0565b611caa565b61188a565b9050919050565b611cdf81611cb4565b82525050565b6000602082019050611cfa6000830184611cd6565b92915050565b7f4c50546f6b656e3a2063616e6e6f74206275726e203000000000000000000000600082015250565b6000611d36601683611648565b9150611d4182611d00565b602082019050919050565b60006020820190508181036000830152611d6581611d29565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611dc8602583611648565b9150611dd382611d6c565b604082019050919050565b60006020820190508181036000830152611df781611dbb565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611e5a602683611648565b9150611e6582611dfe565b604082019050919050565b60006020820190508181036000830152611e8981611e4d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611eec602483611648565b9150611ef782611e90565b604082019050919050565b60006020820190508181036000830152611f1b81611edf565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611f7e602283611648565b9150611f8982611f22565b604082019050919050565b60006020820190508181036000830152611fad81611f71565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611fea601d83611648565b9150611ff582611fb4565b602082019050919050565b6000602082019050818103600083015261201981611fdd565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061207c602583611648565b915061208782612020565b604082019050919050565b600060208201905081810360008301526120ab8161206f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061210e602383611648565b9150612119826120b2565b604082019050919050565b6000602082019050818103600083015261213d81612101565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006121a0602683611648565b91506121ab82612144565b604082019050919050565b600060208201905081810360008301526121cf81612193565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061220c601f83611648565b9150612217826121d6565b602082019050919050565b6000602082019050818103600083015261223b816121ff565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b600061229e602e83611648565b91506122a982612242565b604082019050919050565b600060208201905081810360008301526122cd81612291565b9050919050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b6000612330602b83611648565b915061233b826122d4565b604082019050919050565b6000602082019050818103600083015261235f81612323565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026123c87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261238b565b6123d2868361238b565b95508019841693508086168417925050509392505050565b60006124056124006123fb84611761565b611caa565b611761565b9050919050565b6000819050919050565b61241f836123ea565b61243361242b8261240c565b848454612398565b825550505050565b600090565b61244861243b565b612453818484612416565b505050565b5b818110156124775761246c600082612440565b600181019050612459565b5050565b601f8211156124bc5761248d81612366565b6124968461237b565b810160208510156124a5578190505b6124b96124b18561237b565b830182612458565b50505b505050565b600082821c905092915050565b60006124df600019846008026124c1565b1980831691505092915050565b60006124f883836124ce565b9150826002028217905092915050565b6125118261163d565b67ffffffffffffffff81111561252a576125296118cb565b5b6125348254611b34565b61253f82828561247b565b600060209050601f8311600181146125725760008415612560578287015190505b61256a85826124ec565b8655506125d2565b601f19841661258086612366565b60005b828110156125a857848901518255600182019150602085019450602081019050612583565b868310156125c557848901516125c1601f8916826124ce565b8355505b6001600288020188555050505b505050505050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612636602183611648565b9150612641826125da565b604082019050919050565b6000602082019050818103600083015261266581612629565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006126c8602283611648565b91506126d38261266c565b604082019050919050565b600060208201905081810360008301526126f7816126bb565b9050919050565b600061270982611761565b915061271483611761565b925082820390508181111561272c5761272b611b65565b5b92915050565b7f4c50546f6b656e3a2063616e6e6f742073656e6420746f20697473656c660000600082015250565b6000612768601e83611648565b915061277382612732565b602082019050919050565b600060208201905081810360008301526127978161275b565b905091905056fea26469706673582212205283f0c2c21f76fe91a041cd217127f4146298d69e685b5b0469d8154e80f20464736f6c63430008110033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806370a08231116100a257806395d89b411161007157806395d89b41146102ba578063a457c2d7146102d8578063a9059cbb14610308578063dd62ed3e14610338578063f2fde38b146103685761010b565b806370a0823114610246578063715018a61461027657806379cc6790146102805780638da5cb5b1461029c5761010b565b8063313ce567116100de578063313ce567146101ac57806339509351146101ca57806340c10f19146101fa5780634cd88b76146102165761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e57806323b872dd1461017c575b600080fd5b610118610384565b60405161012591906116cd565b60405180910390f35b61014860048036038101906101439190611797565b610416565b60405161015591906117f2565b60405180910390f35b610166610439565b604051610173919061181c565b60405180910390f35b61019660048036038101906101919190611837565b610443565b6040516101a391906117f2565b60405180910390f35b6101b4610472565b6040516101c191906118a6565b60405180910390f35b6101e460048036038101906101df9190611797565b61047b565b6040516101f191906117f2565b60405180910390f35b610214600480360381019061020f9190611797565b6104b2565b005b610230600480360381019061022b91906119f6565b61057f565b60405161023d91906117f2565b60405180910390f35b610260600480360381019061025b9190611a6e565b61062e565b60405161026d919061181c565b60405180910390f35b61027e610677565b005b61029a60048036038101906102959190611797565b6106ff565b005b6102a46107cc565b6040516102b19190611aaa565b60405180910390f35b6102c26107f6565b6040516102cf91906116cd565b60405180910390f35b6102f260048036038101906102ed9190611797565b610888565b6040516102ff91906117f2565b60405180910390f35b610322600480360381019061031d9190611797565b6108ff565b60405161032f91906117f2565b60405180910390f35b610352600480360381019061034d9190611ac5565b610922565b60405161035f919061181c565b60405180910390f35b610382600480360381019061037d9190611a6e565b6109a9565b005b60606036805461039390611b34565b80601f01602080910402602001604051908101604052809291908181526020018280546103bf90611b34565b801561040c5780601f106103e15761010080835404028352916020019161040c565b820191906000526020600020905b8154815290600101906020018083116103ef57829003601f168201915b5050505050905090565b600080610421610aa0565b905061042e818585610aa8565b600191505092915050565b6000603554905090565b60008061044e610aa0565b905061045b858285610c71565b610466858585610cfd565b60019150509392505050565b60006012905090565b600080610486610aa0565b90506104a78185856104988589610922565b6104a29190611b94565b610aa8565b600191505092915050565b6104ba610aa0565b73ffffffffffffffffffffffffffffffffffffffff166104d86107cc565b73ffffffffffffffffffffffffffffffffffffffff161461052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052590611c14565b60405180910390fd5b60008103610571576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056890611c80565b60405180910390fd5b61057b8282610f7f565b5050565b60008061058c60016110df565b905080156105b0576001600060016101000a81548160ff0219169083151502179055505b6105b86111cf565b6105c28484611220565b6105ca611293565b6001915080156106275760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498600160405161061e9190611ce5565b60405180910390a15b5092915050565b6000603360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61067f610aa0565b73ffffffffffffffffffffffffffffffffffffffff1661069d6107cc565b73ffffffffffffffffffffffffffffffffffffffff16146106f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ea90611c14565b60405180910390fd5b6106fd60006112f4565b565b610707610aa0565b73ffffffffffffffffffffffffffffffffffffffff166107256107cc565b73ffffffffffffffffffffffffffffffffffffffff161461077b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077290611c14565b60405180910390fd5b600081036107be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b590611d4c565b60405180910390fd5b6107c882826113ba565b5050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606037805461080590611b34565b80601f016020809104026020016040519081016040528092919081815260200182805461083190611b34565b801561087e5780601f106108535761010080835404028352916020019161087e565b820191906000526020600020905b81548152906001019060200180831161086157829003601f168201915b5050505050905090565b600080610893610aa0565b905060006108a18286610922565b9050838110156108e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108dd90611dde565b60405180910390fd5b6108f38286868403610aa8565b60019250505092915050565b60008061090a610aa0565b9050610917818585610cfd565b600191505092915050565b6000603460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6109b1610aa0565b73ffffffffffffffffffffffffffffffffffffffff166109cf6107cc565b73ffffffffffffffffffffffffffffffffffffffff1614610a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1c90611c14565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8b90611e70565b60405180910390fd5b610a9d816112f4565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0e90611f02565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7d90611f94565b60405180910390fd5b80603460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c64919061181c565b60405180910390a3505050565b6000610c7d8484610922565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610cf75781811015610ce9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce090612000565b60405180910390fd5b610cf68484848403610aa8565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6390612092565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd290612124565b60405180910390fd5b610de6838383611592565b6000603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e64906121b6565b60405180910390fd5b818103603360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f029190611b94565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f66919061181c565b60405180910390a3610f79848484611610565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe590612222565b60405180910390fd5b610ffa60008383611592565b806035600082825461100c9190611b94565b9250508190555080603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110629190611b94565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110c7919061181c565b60405180910390a36110db60008383611610565b5050565b60008060019054906101000a900460ff16156111565760018260ff1614801561110e575061110c30611615565b155b61114d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611144906122b4565b60405180910390fd5b600090506111ca565b8160ff1660008054906101000a900460ff1660ff16106111ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a2906122b4565b60405180910390fd5b816000806101000a81548160ff021916908360ff160217905550600190505b919050565b600060019054906101000a900460ff1661121e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121590612346565b60405180910390fd5b565b600060019054906101000a900460ff1661126f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126690612346565b60405180910390fd5b816036908161127e9190612508565b50806037908161128e9190612508565b505050565b600060019054906101000a900460ff166112e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d990612346565b60405180910390fd5b6112f26112ed610aa0565b6112f4565b565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611429576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114209061264c565b60405180910390fd5b61143582600083611592565b6000603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156114bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b3906126de565b60405180910390fd5b818103603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816035600082825461151491906126fe565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611579919061181c565b60405180910390a361158d83600084611610565b505050565b61159d838383611638565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361160b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116029061277e565b60405180910390fd5b505050565b505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561167757808201518184015260208101905061165c565b60008484015250505050565b6000601f19601f8301169050919050565b600061169f8261163d565b6116a98185611648565b93506116b9818560208601611659565b6116c281611683565b840191505092915050565b600060208201905081810360008301526116e78184611694565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061172e82611703565b9050919050565b61173e81611723565b811461174957600080fd5b50565b60008135905061175b81611735565b92915050565b6000819050919050565b61177481611761565b811461177f57600080fd5b50565b6000813590506117918161176b565b92915050565b600080604083850312156117ae576117ad6116f9565b5b60006117bc8582860161174c565b92505060206117cd85828601611782565b9150509250929050565b60008115159050919050565b6117ec816117d7565b82525050565b600060208201905061180760008301846117e3565b92915050565b61181681611761565b82525050565b6000602082019050611831600083018461180d565b92915050565b6000806000606084860312156118505761184f6116f9565b5b600061185e8682870161174c565b935050602061186f8682870161174c565b925050604061188086828701611782565b9150509250925092565b600060ff82169050919050565b6118a08161188a565b82525050565b60006020820190506118bb6000830184611897565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61190382611683565b810181811067ffffffffffffffff82111715611922576119216118cb565b5b80604052505050565b60006119356116ef565b905061194182826118fa565b919050565b600067ffffffffffffffff821115611961576119606118cb565b5b61196a82611683565b9050602081019050919050565b82818337600083830152505050565b600061199961199484611946565b61192b565b9050828152602081018484840111156119b5576119b46118c6565b5b6119c0848285611977565b509392505050565b600082601f8301126119dd576119dc6118c1565b5b81356119ed848260208601611986565b91505092915050565b60008060408385031215611a0d57611a0c6116f9565b5b600083013567ffffffffffffffff811115611a2b57611a2a6116fe565b5b611a37858286016119c8565b925050602083013567ffffffffffffffff811115611a5857611a576116fe565b5b611a64858286016119c8565b9150509250929050565b600060208284031215611a8457611a836116f9565b5b6000611a928482850161174c565b91505092915050565b611aa481611723565b82525050565b6000602082019050611abf6000830184611a9b565b92915050565b60008060408385031215611adc57611adb6116f9565b5b6000611aea8582860161174c565b9250506020611afb8582860161174c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611b4c57607f821691505b602082108103611b5f57611b5e611b05565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611b9f82611761565b9150611baa83611761565b9250828201905080821115611bc257611bc1611b65565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611bfe602083611648565b9150611c0982611bc8565b602082019050919050565b60006020820190508181036000830152611c2d81611bf1565b9050919050565b7f4c50546f6b656e3a2063616e6e6f74206d696e74203000000000000000000000600082015250565b6000611c6a601683611648565b9150611c7582611c34565b602082019050919050565b60006020820190508181036000830152611c9981611c5d565b9050919050565b6000819050919050565b6000819050919050565b6000611ccf611cca611cc584611ca0565b611caa565b61188a565b9050919050565b611cdf81611cb4565b82525050565b6000602082019050611cfa6000830184611cd6565b92915050565b7f4c50546f6b656e3a2063616e6e6f74206275726e203000000000000000000000600082015250565b6000611d36601683611648565b9150611d4182611d00565b602082019050919050565b60006020820190508181036000830152611d6581611d29565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611dc8602583611648565b9150611dd382611d6c565b604082019050919050565b60006020820190508181036000830152611df781611dbb565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611e5a602683611648565b9150611e6582611dfe565b604082019050919050565b60006020820190508181036000830152611e8981611e4d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611eec602483611648565b9150611ef782611e90565b604082019050919050565b60006020820190508181036000830152611f1b81611edf565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611f7e602283611648565b9150611f8982611f22565b604082019050919050565b60006020820190508181036000830152611fad81611f71565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611fea601d83611648565b9150611ff582611fb4565b602082019050919050565b6000602082019050818103600083015261201981611fdd565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061207c602583611648565b915061208782612020565b604082019050919050565b600060208201905081810360008301526120ab8161206f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061210e602383611648565b9150612119826120b2565b604082019050919050565b6000602082019050818103600083015261213d81612101565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006121a0602683611648565b91506121ab82612144565b604082019050919050565b600060208201905081810360008301526121cf81612193565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061220c601f83611648565b9150612217826121d6565b602082019050919050565b6000602082019050818103600083015261223b816121ff565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b600061229e602e83611648565b91506122a982612242565b604082019050919050565b600060208201905081810360008301526122cd81612291565b9050919050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b6000612330602b83611648565b915061233b826122d4565b604082019050919050565b6000602082019050818103600083015261235f81612323565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026123c87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261238b565b6123d2868361238b565b95508019841693508086168417925050509392505050565b60006124056124006123fb84611761565b611caa565b611761565b9050919050565b6000819050919050565b61241f836123ea565b61243361242b8261240c565b848454612398565b825550505050565b600090565b61244861243b565b612453818484612416565b505050565b5b818110156124775761246c600082612440565b600181019050612459565b5050565b601f8211156124bc5761248d81612366565b6124968461237b565b810160208510156124a5578190505b6124b96124b18561237b565b830182612458565b50505b505050565b600082821c905092915050565b60006124df600019846008026124c1565b1980831691505092915050565b60006124f883836124ce565b9150826002028217905092915050565b6125118261163d565b67ffffffffffffffff81111561252a576125296118cb565b5b6125348254611b34565b61253f82828561247b565b600060209050601f8311600181146125725760008415612560578287015190505b61256a85826124ec565b8655506125d2565b601f19841661258086612366565b60005b828110156125a857848901518255600182019150602085019450602081019050612583565b868310156125c557848901516125c1601f8916826124ce565b8355505b6001600288020188555050505b505050505050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612636602183611648565b9150612641826125da565b604082019050919050565b6000602082019050818103600083015261266581612629565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006126c8602283611648565b91506126d38261266c565b604082019050919050565b600060208201905081810360008301526126f7816126bb565b9050919050565b600061270982611761565b915061271483611761565b925082820390508181111561272c5761272b611b65565b5b92915050565b7f4c50546f6b656e3a2063616e6e6f742073656e6420746f20697473656c660000600082015250565b6000612768601e83611648565b915061277382612732565b602082019050919050565b600060208201905081810360008301526127978161275b565b905091905056fea26469706673582212205283f0c2c21f76fe91a041cd217127f4146298d69e685b5b0469d8154e80f20464736f6c63430008110033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/LibConnextStorage.json b/artifacts/LibConnextStorage.json deleted file mode 100644 index b810fada..00000000 --- a/artifacts/LibConnextStorage.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "LibConnextStorage", - "sourceName": "@connext/nxtp-contracts/contracts/core/connext/libraries/LibConnextStorage.sol", - "abi": [], - "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220919fde63d82ac22efe8c46c34a0ae896c4ee89fbc3dd395d0f9203fade5a4e5864736f6c63430008110033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220919fde63d82ac22efe8c46c34a0ae896c4ee89fbc3dd395d0f9203fade5a4e5864736f6c63430008110033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/LibDiamond.json b/artifacts/LibDiamond.json index 39274f42..d17d5c88 100644 --- a/artifacts/LibDiamond.json +++ b/artifacts/LibDiamond.json @@ -1,7 +1,7 @@ { "_format": "hh-sol-artifact-1", "contractName": "LibDiamond", - "sourceName": "@connext/nxtp-contracts/contracts/core/connext/libraries/LibDiamond.sol", + "sourceName": "src/bridges/libs/LibDiamond.sol", "abi": [ { "anonymous": false, @@ -45,96 +45,6 @@ "name": "DiamondCut", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "facetAddress", - "type": "address" - }, - { - "internalType": "enum IDiamondCut.FacetCutAction", - "name": "action", - "type": "uint8" - }, - { - "internalType": "bytes4[]", - "name": "functionSelectors", - "type": "bytes4[]" - } - ], - "indexed": false, - "internalType": "struct IDiamondCut.FacetCut[]", - "name": "_diamondCut", - "type": "tuple[]" - }, - { - "indexed": false, - "internalType": "address", - "name": "_init", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "_calldata", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "name": "DiamondCutProposed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "facetAddress", - "type": "address" - }, - { - "internalType": "enum IDiamondCut.FacetCutAction", - "name": "action", - "type": "uint8" - }, - { - "internalType": "bytes4[]", - "name": "functionSelectors", - "type": "bytes4[]" - } - ], - "indexed": false, - "internalType": "struct IDiamondCut.FacetCut[]", - "name": "_diamondCut", - "type": "tuple[]" - }, - { - "indexed": false, - "internalType": "address", - "name": "_init", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "_calldata", - "type": "bytes" - } - ], - "name": "DiamondCutRescinded", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -155,8 +65,8 @@ "type": "event" } ], - "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206922ca8e9dffbe8e5db3b3dd699ffdc80e58d3e948116f271e02ded63b25adbf64736f6c63430008110033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206922ca8e9dffbe8e5db3b3dd699ffdc80e58d3e948116f271e02ded63b25adbf64736f6c63430008110033", + "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e443216bcd038ab1823e4b419d4c6f195e30184d868d9d809f07908d8502743064736f6c63430008110033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e443216bcd038ab1823e4b419d4c6f195e30184d868d9d809f07908d8502743064736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/MathUtils.json b/artifacts/MathUtils.json deleted file mode 100644 index 0c15ceea..00000000 --- a/artifacts/MathUtils.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "MathUtils", - "sourceName": "@connext/nxtp-contracts/contracts/core/connext/libraries/MathUtils.sol", - "abi": [], - "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202baea718fb846505dfa07aa9f99d63fe2e6a4bc1b5c0f8eeaa72dbf229f8d01964736f6c63430008110033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202baea718fb846505dfa07aa9f99d63fe2e6a4bc1b5c0f8eeaa72dbf229f8d01964736f6c63430008110033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/OwnableUpgradeable.json b/artifacts/OwnableUpgradeable.json deleted file mode 100644 index 52518703..00000000 --- a/artifacts/OwnableUpgradeable.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "OwnableUpgradeable", - "sourceName": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/SGReceiver.json b/artifacts/SGReceiver.json new file mode 100644 index 00000000..5ae402b6 --- /dev/null +++ b/artifacts/SGReceiver.json @@ -0,0 +1,84 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "SGReceiver", + "sourceName": "src/bridges/helpers/SGReceiver.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_sgRouter", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "ReentrancyError", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "StargateReceivedOnDestination", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amountLD", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_payload", + "type": "bytes" + } + ], + "name": "sgReceive", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50604051610ce2380380610ce28339818101604052810190610032919061008d565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506100ff565b600081519050610087816100e8565b92915050565b60006020828403121561009f57600080fd5b60006100ad84828501610078565b91505092915050565b60006100c1826100c8565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6100f1816100b6565b81146100fc57600080fd5b50565b610bd48061010e6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ab8236f314610030575b600080fd5b61004a60048036038101906100459190610612565b61004c565b005b60006100566101bf565b9050600181600001541415610097576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461012f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012690610861565b60405180910390fd5b60008280602001905181019061014591906105c0565b905061017281858773ffffffffffffffffffffffffffffffffffffffff166101ec9092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c85856040516101a39291906107f6565b60405180910390a1506000816000018190555050505050505050565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b61026d8363a9059cbb60e01b848460405160240161020b9291906107f6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610272565b505050565b60006102d4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166103399092919063ffffffff16565b905060008151111561033457808060200190518101906102f491906105e9565b610333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032a906108a1565b60405180910390fd5b5b505050565b60606103488484600085610351565b90509392505050565b606082471015610396576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038d90610841565b60405180910390fd5b61039f85610465565b6103de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d590610881565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161040791906107df565b60006040518083038185875af1925050503d8060008114610444576040519150601f19603f3d011682016040523d82523d6000602084013e610449565b606091505b5091509150610459828286610488565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610498578290506104e8565b6000835111156104ab5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104df919061081f565b60405180910390fd5b9392505050565b60006105026104fd846108e6565b6108c1565b90508281526020810184848401111561051a57600080fd5b6105258482856109b1565b509392505050565b60008135905061053c81610b54565b92915050565b60008151905061055181610b6b565b92915050565b60008151905061056681610b82565b92915050565b600082601f83011261057d57600080fd5b813561058d8482602086016104ef565b91505092915050565b6000813590506105a581610b99565b92915050565b6000813590506105ba81610bb0565b92915050565b6000602082840312156105d257600080fd5b60006105e084828501610542565b91505092915050565b6000602082840312156105fb57600080fd5b600061060984828501610557565b91505092915050565b60008060008060008060c0878903121561062b57600080fd5b600061063989828a01610596565b965050602087013567ffffffffffffffff81111561065657600080fd5b61066289828a0161056c565b955050604061067389828a016105ab565b945050606061068489828a0161052d565b935050608061069589828a016105ab565b92505060a087013567ffffffffffffffff8111156106b257600080fd5b6106be89828a0161056c565b9150509295509295509295565b6106d481610949565b82525050565b60006106e582610917565b6106ef818561092d565b93506106ff8185602086016109c0565b80840191505092915050565b600061071682610922565b6107208185610938565b93506107308185602086016109c0565b61073981610a53565b840191505092915050565b6000610751602683610938565b915061075c82610a64565b604082019050919050565b6000610774601f83610938565b915061077f82610ab3565b602082019050919050565b6000610797601d83610938565b91506107a282610adc565b602082019050919050565b60006107ba602a83610938565b91506107c582610b05565b604082019050919050565b6107d9816109a7565b82525050565b60006107eb82846106da565b915081905092915050565b600060408201905061080b60008301856106cb565b61081860208301846107d0565b9392505050565b60006020820190508181036000830152610839818461070b565b905092915050565b6000602082019050818103600083015261085a81610744565b9050919050565b6000602082019050818103600083015261087a81610767565b9050919050565b6000602082019050818103600083015261089a8161078a565b9050919050565b600060208201905081810360008301526108ba816107ad565b9050919050565b60006108cb6108dc565b90506108d782826109f3565b919050565b6000604051905090565b600067ffffffffffffffff82111561090157610900610a24565b5b61090a82610a53565b9050602081019050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061095482610987565b9050919050565b600061096682610987565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156109de5780820151818401526020810190506109c3565b838111156109ed576000848401525b50505050565b6109fc82610a53565b810181811067ffffffffffffffff82111715610a1b57610a1a610a24565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b610b5d81610949565b8114610b6857600080fd5b50565b610b748161095b565b8114610b7f57600080fd5b50565b610b8b8161096d565b8114610b9657600080fd5b50565b610ba281610979565b8114610bad57600080fd5b50565b610bb9816109a7565b8114610bc457600080fd5b5056fea164736f6c6343000804000a", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ab8236f314610030575b600080fd5b61004a60048036038101906100459190610612565b61004c565b005b60006100566101bf565b9050600181600001541415610097576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461012f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012690610861565b60405180910390fd5b60008280602001905181019061014591906105c0565b905061017281858773ffffffffffffffffffffffffffffffffffffffff166101ec9092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c85856040516101a39291906107f6565b60405180910390a1506000816000018190555050505050505050565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b61026d8363a9059cbb60e01b848460405160240161020b9291906107f6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610272565b505050565b60006102d4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166103399092919063ffffffff16565b905060008151111561033457808060200190518101906102f491906105e9565b610333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032a906108a1565b60405180910390fd5b5b505050565b60606103488484600085610351565b90509392505050565b606082471015610396576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038d90610841565b60405180910390fd5b61039f85610465565b6103de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d590610881565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161040791906107df565b60006040518083038185875af1925050503d8060008114610444576040519150601f19603f3d011682016040523d82523d6000602084013e610449565b606091505b5091509150610459828286610488565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610498578290506104e8565b6000835111156104ab5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104df919061081f565b60405180910390fd5b9392505050565b60006105026104fd846108e6565b6108c1565b90508281526020810184848401111561051a57600080fd5b6105258482856109b1565b509392505050565b60008135905061053c81610b54565b92915050565b60008151905061055181610b6b565b92915050565b60008151905061056681610b82565b92915050565b600082601f83011261057d57600080fd5b813561058d8482602086016104ef565b91505092915050565b6000813590506105a581610b99565b92915050565b6000813590506105ba81610bb0565b92915050565b6000602082840312156105d257600080fd5b60006105e084828501610542565b91505092915050565b6000602082840312156105fb57600080fd5b600061060984828501610557565b91505092915050565b60008060008060008060c0878903121561062b57600080fd5b600061063989828a01610596565b965050602087013567ffffffffffffffff81111561065657600080fd5b61066289828a0161056c565b955050604061067389828a016105ab565b945050606061068489828a0161052d565b935050608061069589828a016105ab565b92505060a087013567ffffffffffffffff8111156106b257600080fd5b6106be89828a0161056c565b9150509295509295509295565b6106d481610949565b82525050565b60006106e582610917565b6106ef818561092d565b93506106ff8185602086016109c0565b80840191505092915050565b600061071682610922565b6107208185610938565b93506107308185602086016109c0565b61073981610a53565b840191505092915050565b6000610751602683610938565b915061075c82610a64565b604082019050919050565b6000610774601f83610938565b915061077f82610ab3565b602082019050919050565b6000610797601d83610938565b91506107a282610adc565b602082019050919050565b60006107ba602a83610938565b91506107c582610b05565b604082019050919050565b6107d9816109a7565b82525050565b60006107eb82846106da565b915081905092915050565b600060408201905061080b60008301856106cb565b61081860208301846107d0565b9392505050565b60006020820190508181036000830152610839818461070b565b905092915050565b6000602082019050818103600083015261085a81610744565b9050919050565b6000602082019050818103600083015261087a81610767565b9050919050565b6000602082019050818103600083015261089a8161078a565b9050919050565b600060208201905081810360008301526108ba816107ad565b9050919050565b60006108cb6108dc565b90506108d782826109f3565b919050565b6000604051905090565b600067ffffffffffffffff82111561090157610900610a24565b5b61090a82610a53565b9050602081019050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061095482610987565b9050919050565b600061096682610987565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156109de5780820151818401526020810190506109c3565b838111156109ed576000848401525b50505050565b6109fc82610a53565b810181811067ffffffffffffffff82111715610a1b57610a1a610a24565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b610b5d81610949565b8114610b6857600080fd5b50565b610b748161095b565b8114610b7f57600080fd5b50565b610b8b8161096d565b8114610b9657600080fd5b50565b610ba281610979565b8114610bad57600080fd5b50565b610bb9816109a7565b8114610bc457600080fd5b5056fea164736f6c6343000804000a", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/StargateFacet.json b/artifacts/StargateFacet.json index e095ed76..1aaf8d67 100644 --- a/artifacts/StargateFacet.json +++ b/artifacts/StargateFacet.json @@ -8,6 +8,25 @@ "name": "ReentrancyError", "type": "error" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint16", + "name": "lzChainId", + "type": "uint16" + } + ], + "name": "LzChainIdSet", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -36,7 +55,7 @@ "type": "uint16" } ], - "name": "StargateETHTokenSwap", + "name": "StargateETHSwap", "type": "event" }, { @@ -120,6 +139,25 @@ "name": "StargateTokenSwap", "type": "event" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_chainId", + "type": "uint256" + } + ], + "name": "getLzChainId", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -136,6 +174,23 @@ "internalType": "uint16", "name": "_chainId", "type": "uint16" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "chainId", + "type": "uint256" + }, + { + "internalType": "uint16", + "name": "layerZeroChainId", + "type": "uint16" + } + ], + "internalType": "struct StargateFacet.ChainIdConfig[]", + "name": "_chainIdConfigs", + "type": "tuple[]" } ], "name": "initStargate", @@ -143,6 +198,24 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_chainId", + "type": "uint256" + }, + { + "internalType": "uint16", + "name": "_lzChainId", + "type": "uint16" + } + ], + "name": "setLzChainId", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -206,7 +279,7 @@ "type": "uint16" } ], - "internalType": "struct StargateFacet.StargateETHTransferData", + "internalType": "struct StargateFacet.StargateETHData", "name": "_data", "type": "tuple" } @@ -219,14 +292,51 @@ { "inputs": [ { - "internalType": "uint16", - "name": "_destChain", - "type": "uint16" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" + "components": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "bridgeToken", + "type": "address" + }, + { + "internalType": "uint16", + "name": "dstChainId", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "srcPoolId", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "dstPoolId", + "type": "uint16" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint16", + "name": "slippage", + "type": "uint16" + }, + { + "internalType": "address", + "name": "destStargateComposed", + "type": "address" + } + ], + "internalType": "struct StargateFacet.StargateData", + "name": "_data", + "type": "tuple" }, { "internalType": "contract IStargateRouter", @@ -285,12 +395,12 @@ "type": "uint16" }, { - "internalType": "uint256", + "internalType": "address", "name": "destStargateComposed", - "type": "uint256" + "type": "address" } ], - "internalType": "struct StargateFacet.StargateTransferData", + "internalType": "struct StargateFacet.StargateData", "name": "_data", "type": "tuple" } @@ -301,8 +411,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5061257a806100206000396000f3fe60806040526004361061004a5760003560e01c80632d64c4d61461004f578063a7e7ba7814610078578063ab8236f314610094578063ce36ebd3146100bd578063eff1bb1f146100d9575b600080fd5b34801561005b57600080fd5b506100766004803603810190610071919061139a565b610116565b005b610092600480360381019061008d919061143b565b6102b9565b005b3480156100a057600080fd5b506100bb60048036038101906100b691906114dd565b610692565b005b6100d760048036038101906100d29190611412565b61078c565b005b3480156100e557600080fd5b5061010060048036038101906100fb919061148e565b610aa7565b60405161010d9190611e49565b60405180910390f35b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156101805750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6101bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b690611c27565b60405180910390fd5b6101c7610ba4565b60006101d1610c3f565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818160010160146101000a81548161ffff021916908361ffff1602179055507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb8484846040516102ab93929190611a69565b60405180910390a150505050565b60006102c3610c6c565b9050600181600001541415610304576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060003411610351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034890611bc7565b60405180910390fd5b6000826000013511610398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038f90611c87565b60405180910390fd5b60006103a2610c99565b905060006103d58460400160208101906103bc9190611465565b8560a00160208101906103cf9190611348565b84610aa7565b905060006127108560c00160208101906103ef9190611465565b6127106103fc9190611f99565b61ffff16866000013561040f9190611f3f565b6104199190611f0e565b905060008560e0013560405160200161043291906119b7565b604051602081830303815290604052905060008660a00160208101906104589190611348565b60405160200161046891906119d2565b60405160208183030381529060405290506104bc333089600001358a60200160208101906104969190611348565b73ffffffffffffffffffffffffffffffffffffffff16610ccc909392919063ffffffff16565b6104fd8588600001358960200160208101906104d89190611348565b73ffffffffffffffffffffffffffffffffffffffff16610d559092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc8589604001602081019061052d9190611465565b8a60600160208101906105409190611465565b8b60800160208101906105539190611465565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b81526004016105d499989796959493929190611da7565b6000604051808303818588803b1580156105ed57600080fd5b505af1158015610601573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a86687602001602081019061063a9190611348565b338960a001602081019061064e9190611348565b8a600001358b60400160208101906106669190611465565b604051610677959493929190611a16565b60405180910390a15050505050600081600001819055505050565b61069a610c99565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fe90611c07565b60405180910390fd5b60008180602001905181019061071d9190611371565b905061074a81848673ffffffffffffffffffffffffffffffffffffffff16610eb39092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c848460405161077b929190611b1c565b60405180910390a150505050505050565b6000610796610c6c565b90506001816000015414156107d7576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060003411610824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081b90611ca7565b60405180910390fd5b600082600001351161086b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086290611c87565b60405180910390fd5b816000013534116108b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a890611be7565b60405180910390fd5b60006108bb610f39565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561092d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092490611b87565b60405180910390fd5b60008360400160208101906109429190611348565b6040516020016109529190611985565b6040516020818303038152906040529050600061271085606001602081019061097b9190611465565b6127106109889190611f99565b61ffff16866000013561099b9190611f3f565b6109a59190611f0e565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a348760200160208101906109d79190611465565b33868a60000135876040518763ffffffff1660e01b81526004016109ff959493929190611ce7565b6000604051808303818588803b158015610a1857600080fd5b505af1158015610a2c573d6000803e3d6000fd5b50505050507f080b5c39604783610b00b0195fe910d6da4148788b0ce0726bd8c6821227394733866040016020810190610a669190611348565b8760000135886020016020810190610a7e9190611465565b604051610a8e9493929190611ad7565b60405180910390a1505050600081600001819055505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236986600187604051602001610ada9190611985565b604051602081830303815290604052604051806060016040528062030d408152602001600081526020016000604051602001610b169190611985565b6040516020818303038152906040528152506040518563ffffffff1660e01b8152600401610b479493929190611d41565b604080518083038186803b158015610b5e57600080fd5b505afa158015610b72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9691906115bf565b509050809150509392505050565b610bac610f6c565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3490611b67565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000610ca3610c3f565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d4f846323b872dd60e01b858585604051602401610ced93929190611aa0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f99565b50505050565b6000811480610dee575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610d9c9291906119ed565b60206040518083038186803b158015610db457600080fd5b505afa158015610dc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dec9190611596565b145b610e2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2490611cc7565b60405180910390fd5b610eae8363095ea7b360e01b8484604051602401610e4c929190611b1c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f99565b505050565b610f348363a9059cbb60e01b8484604051602401610ed2929190611b1c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f99565b505050565b6000610f43610c3f565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610ffb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166110609092919063ffffffff16565b905060008151111561105b578080602001905181019061101b91906113e9565b61105a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105190611c67565b60405180910390fd5b5b505050565b606061106f8484600085611078565b90509392505050565b6060824710156110bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b490611ba7565b60405180910390fd5b6110c68561118c565b611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc90611c47565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161112e91906119a0565b60006040518083038185875af1925050503d806000811461116b576040519150601f19603f3d011682016040523d82523d6000602084013e611170565b606091505b50915091506111808282866111af565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606083156111bf5782905061120f565b6000835111156111d25782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112069190611b45565b60405180910390fd5b9392505050565b600061122961122484611e89565b611e64565b90508281526020810184848401111561124157600080fd5b61124c848285612078565b509392505050565b600081359050611263816124e3565b92915050565b600081519050611278816124fa565b92915050565b60008151905061128d81612511565b92915050565b600082601f8301126112a457600080fd5b81356112b4848260208601611216565b91505092915050565b6000813590506112cc81612528565b92915050565b6000608082840312156112e457600080fd5b81905092915050565b6000610100828403121561130057600080fd5b81905092915050565b6000813590506113188161253f565b92915050565b60008135905061132d81612556565b92915050565b60008151905061134281612556565b92915050565b60006020828403121561135a57600080fd5b600061136884828501611254565b91505092915050565b60006020828403121561138357600080fd5b600061139184828501611269565b91505092915050565b6000806000606084860312156113af57600080fd5b60006113bd86828701611254565b93505060206113ce86828701611254565b92505060406113df86828701611309565b9150509250925092565b6000602082840312156113fb57600080fd5b60006114098482850161127e565b91505092915050565b60006080828403121561142457600080fd5b6000611432848285016112d2565b91505092915050565b6000610100828403121561144e57600080fd5b600061145c848285016112ed565b91505092915050565b60006020828403121561147757600080fd5b600061148584828501611309565b91505092915050565b6000806000606084860312156114a357600080fd5b60006114b186828701611309565b93505060206114c286828701611254565b92505060406114d3868287016112bd565b9150509250925092565b60008060008060008060c087890312156114f657600080fd5b600061150489828a01611309565b965050602087013567ffffffffffffffff81111561152157600080fd5b61152d89828a01611293565b955050604061153e89828a0161131e565b945050606061154f89828a01611254565b935050608061156089828a0161131e565b92505060a087013567ffffffffffffffff81111561157d57600080fd5b61158989828a01611293565b9150509295509295509295565b6000602082840312156115a857600080fd5b60006115b684828501611333565b91505092915050565b600080604083850312156115d257600080fd5b60006115e085828601611333565b92505060206115f185828601611333565b9150509250929050565b61160481611fdf565b82525050565b61161381611fcd565b82525050565b61162a61162582611fcd565b6120eb565b82525050565b600061163b82611eba565b6116458185611ed0565b9350611655818560208601612087565b61165e816121a6565b840191505092915050565b600061167482611eba565b61167e8185611ee1565b935061168e818560208601612087565b611697816121a6565b840191505092915050565b60006116ad82611eba565b6116b78185611ef2565b93506116c7818560208601612087565b80840191505092915050565b6116dc81612054565b82525050565b60006116ed82611ec5565b6116f78185611efd565b9350611707818560208601612087565b611710816121a6565b840191505092915050565b6000611728602283611efd565b9150611733826121c4565b604082019050919050565b600061174b602583611efd565b915061175682612213565b604082019050919050565b600061176e600283611ee1565b915061177982612262565b602082019050919050565b6000611791602683611efd565b915061179c8261228b565b604082019050919050565b60006117b4602c83611efd565b91506117bf826122da565b604082019050919050565b60006117d7602883611efd565b91506117e282612329565b604082019050919050565b60006117fa601f83611efd565b915061180582612378565b602082019050919050565b600061181d601a83611efd565b9150611828826123a1565b602082019050919050565b6000611840601d83611efd565b915061184b826123ca565b602082019050919050565b6000611863602a83611efd565b915061186e826123f3565b604082019050919050565b6000611886601b83611efd565b915061189182612442565b602082019050919050565b60006118a9601d83611efd565b91506118b48261246b565b602082019050919050565b60006118cc603683611efd565b91506118d782612494565b604082019050919050565b60006060830160008301516118fa6000860182611950565b50602083015161190d6020860182611950565b50604083015184820360408601526119258282611630565b9150508091505092915050565b61193b8161200f565b82525050565b61194a81612066565b82525050565b6119598161203d565b82525050565b6119688161203d565b82525050565b61197f61197a8261203d565b61210f565b82525050565b60006119918284611619565b60148201915081905092915050565b60006119ac82846116a2565b915081905092915050565b60006119c3828461196e565b60208201915081905092915050565b60006020820190506119e7600083018461160a565b92915050565b6000604082019050611a02600083018561160a565b611a0f602083018461160a565b9392505050565b600060a082019050611a2b600083018861160a565b611a38602083018761160a565b611a45604083018661160a565b611a52606083018561195f565b611a5f6080830184611932565b9695505050505050565b6000606082019050611a7e600083018661160a565b611a8b602083018561160a565b611a986040830184611932565b949350505050565b6000606082019050611ab5600083018661160a565b611ac2602083018561160a565b611acf604083018461195f565b949350505050565b6000608082019050611aec600083018761160a565b611af9602083018661160a565b611b06604083018561195f565b611b136060830184611932565b95945050505050565b6000604082019050611b31600083018561160a565b611b3e602083018461195f565b9392505050565b60006020820190508181036000830152611b5f81846116e2565b905092915050565b60006020820190508181036000830152611b808161171b565b9050919050565b60006020820190508181036000830152611ba08161173e565b9050919050565b60006020820190508181036000830152611bc081611784565b9050919050565b60006020820190508181036000830152611be0816117a7565b9050919050565b60006020820190508181036000830152611c00816117ca565b9050919050565b60006020820190508181036000830152611c20816117ed565b9050919050565b60006020820190508181036000830152611c4081611810565b9050919050565b60006020820190508181036000830152611c6081611833565b9050919050565b60006020820190508181036000830152611c8081611856565b9050919050565b60006020820190508181036000830152611ca081611879565b9050919050565b60006020820190508181036000830152611cc08161189c565b9050919050565b60006020820190508181036000830152611ce0816118bf565b9050919050565b600060a082019050611cfc6000830188611932565b611d0960208301876115fb565b8181036040830152611d1b8186611669565b9050611d2a606083018561195f565b611d37608083018461195f565b9695505050505050565b600060a082019050611d566000830187611932565b611d6360208301866116d3565b8181036040830152611d758185611669565b90508181036060830152611d8881611761565b90508181036080830152611d9c81846118e2565b905095945050505050565b600061012082019050611dbd600083018c611932565b611dca602083018b611941565b611dd7604083018a611941565b611de460608301896115fb565b611df1608083018861195f565b611dfe60a083018761195f565b81810360c0830152611e1081866118e2565b905081810360e0830152611e248185611669565b9050818103610100830152611e398184611669565b90509a9950505050505050505050565b6000602082019050611e5e600083018461195f565b92915050565b6000611e6e611e7f565b9050611e7a82826120ba565b919050565b6000604051905090565b600067ffffffffffffffff821115611ea457611ea3612177565b5b611ead826121a6565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000611f198261203d565b9150611f248361203d565b925082611f3457611f33612148565b5b828204905092915050565b6000611f4a8261203d565b9150611f558361203d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611f8e57611f8d612119565b5b828202905092915050565b6000611fa48261200f565b9150611faf8361200f565b925082821015611fc257611fc1612119565b5b828203905092915050565b6000611fd88261201d565b9050919050565b6000611fea8261201d565b9050919050565b60008115159050919050565b600061200882611fcd565b9050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061205f82612047565b9050919050565b60006120718261200f565b9050919050565b82818337600083830152505050565b60005b838110156120a557808201518184015260208101905061208a565b838111156120b4576000848401525b50505050565b6120c3826121a6565b810181811067ffffffffffffffff821117156120e2576120e1612177565b5b80604052505050565b60006120f6826120fd565b9050919050565b6000612108826121b7565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b7f3078000000000000000000000000000000000000000000000000000000000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f53746172676174653a3a20696e76616c69642061646472657373000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b6124ec81611fcd565b81146124f757600080fd5b50565b61250381611fdf565b811461250e57600080fd5b50565b61251a81611ff1565b811461252557600080fd5b50565b61253181611ffd565b811461253c57600080fd5b50565b6125488161200f565b811461255357600080fd5b50565b61255f8161203d565b811461256a57600080fd5b5056fea164736f6c6343000804000a", - "deployedBytecode": "0x60806040526004361061004a5760003560e01c80632d64c4d61461004f578063a7e7ba7814610078578063ab8236f314610094578063ce36ebd3146100bd578063eff1bb1f146100d9575b600080fd5b34801561005b57600080fd5b506100766004803603810190610071919061139a565b610116565b005b610092600480360381019061008d919061143b565b6102b9565b005b3480156100a057600080fd5b506100bb60048036038101906100b691906114dd565b610692565b005b6100d760048036038101906100d29190611412565b61078c565b005b3480156100e557600080fd5b5061010060048036038101906100fb919061148e565b610aa7565b60405161010d9190611e49565b60405180910390f35b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156101805750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6101bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b690611c27565b60405180910390fd5b6101c7610ba4565b60006101d1610c3f565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818160010160146101000a81548161ffff021916908361ffff1602179055507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb8484846040516102ab93929190611a69565b60405180910390a150505050565b60006102c3610c6c565b9050600181600001541415610304576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060003411610351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034890611bc7565b60405180910390fd5b6000826000013511610398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038f90611c87565b60405180910390fd5b60006103a2610c99565b905060006103d58460400160208101906103bc9190611465565b8560a00160208101906103cf9190611348565b84610aa7565b905060006127108560c00160208101906103ef9190611465565b6127106103fc9190611f99565b61ffff16866000013561040f9190611f3f565b6104199190611f0e565b905060008560e0013560405160200161043291906119b7565b604051602081830303815290604052905060008660a00160208101906104589190611348565b60405160200161046891906119d2565b60405160208183030381529060405290506104bc333089600001358a60200160208101906104969190611348565b73ffffffffffffffffffffffffffffffffffffffff16610ccc909392919063ffffffff16565b6104fd8588600001358960200160208101906104d89190611348565b73ffffffffffffffffffffffffffffffffffffffff16610d559092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc8589604001602081019061052d9190611465565b8a60600160208101906105409190611465565b8b60800160208101906105539190611465565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b81526004016105d499989796959493929190611da7565b6000604051808303818588803b1580156105ed57600080fd5b505af1158015610601573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a86687602001602081019061063a9190611348565b338960a001602081019061064e9190611348565b8a600001358b60400160208101906106669190611465565b604051610677959493929190611a16565b60405180910390a15050505050600081600001819055505050565b61069a610c99565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fe90611c07565b60405180910390fd5b60008180602001905181019061071d9190611371565b905061074a81848673ffffffffffffffffffffffffffffffffffffffff16610eb39092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c848460405161077b929190611b1c565b60405180910390a150505050505050565b6000610796610c6c565b90506001816000015414156107d7576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060003411610824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081b90611ca7565b60405180910390fd5b600082600001351161086b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086290611c87565b60405180910390fd5b816000013534116108b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a890611be7565b60405180910390fd5b60006108bb610f39565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561092d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092490611b87565b60405180910390fd5b60008360400160208101906109429190611348565b6040516020016109529190611985565b6040516020818303038152906040529050600061271085606001602081019061097b9190611465565b6127106109889190611f99565b61ffff16866000013561099b9190611f3f565b6109a59190611f0e565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a348760200160208101906109d79190611465565b33868a60000135876040518763ffffffff1660e01b81526004016109ff959493929190611ce7565b6000604051808303818588803b158015610a1857600080fd5b505af1158015610a2c573d6000803e3d6000fd5b50505050507f080b5c39604783610b00b0195fe910d6da4148788b0ce0726bd8c6821227394733866040016020810190610a669190611348565b8760000135886020016020810190610a7e9190611465565b604051610a8e9493929190611ad7565b60405180910390a1505050600081600001819055505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236986600187604051602001610ada9190611985565b604051602081830303815290604052604051806060016040528062030d408152602001600081526020016000604051602001610b169190611985565b6040516020818303038152906040528152506040518563ffffffff1660e01b8152600401610b479493929190611d41565b604080518083038186803b158015610b5e57600080fd5b505afa158015610b72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9691906115bf565b509050809150509392505050565b610bac610f6c565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3490611b67565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000610ca3610c3f565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d4f846323b872dd60e01b858585604051602401610ced93929190611aa0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f99565b50505050565b6000811480610dee575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610d9c9291906119ed565b60206040518083038186803b158015610db457600080fd5b505afa158015610dc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dec9190611596565b145b610e2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2490611cc7565b60405180910390fd5b610eae8363095ea7b360e01b8484604051602401610e4c929190611b1c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f99565b505050565b610f348363a9059cbb60e01b8484604051602401610ed2929190611b1c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f99565b505050565b6000610f43610c3f565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610ffb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166110609092919063ffffffff16565b905060008151111561105b578080602001905181019061101b91906113e9565b61105a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105190611c67565b60405180910390fd5b5b505050565b606061106f8484600085611078565b90509392505050565b6060824710156110bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b490611ba7565b60405180910390fd5b6110c68561118c565b611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc90611c47565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161112e91906119a0565b60006040518083038185875af1925050503d806000811461116b576040519150601f19603f3d011682016040523d82523d6000602084013e611170565b606091505b50915091506111808282866111af565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606083156111bf5782905061120f565b6000835111156111d25782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112069190611b45565b60405180910390fd5b9392505050565b600061122961122484611e89565b611e64565b90508281526020810184848401111561124157600080fd5b61124c848285612078565b509392505050565b600081359050611263816124e3565b92915050565b600081519050611278816124fa565b92915050565b60008151905061128d81612511565b92915050565b600082601f8301126112a457600080fd5b81356112b4848260208601611216565b91505092915050565b6000813590506112cc81612528565b92915050565b6000608082840312156112e457600080fd5b81905092915050565b6000610100828403121561130057600080fd5b81905092915050565b6000813590506113188161253f565b92915050565b60008135905061132d81612556565b92915050565b60008151905061134281612556565b92915050565b60006020828403121561135a57600080fd5b600061136884828501611254565b91505092915050565b60006020828403121561138357600080fd5b600061139184828501611269565b91505092915050565b6000806000606084860312156113af57600080fd5b60006113bd86828701611254565b93505060206113ce86828701611254565b92505060406113df86828701611309565b9150509250925092565b6000602082840312156113fb57600080fd5b60006114098482850161127e565b91505092915050565b60006080828403121561142457600080fd5b6000611432848285016112d2565b91505092915050565b6000610100828403121561144e57600080fd5b600061145c848285016112ed565b91505092915050565b60006020828403121561147757600080fd5b600061148584828501611309565b91505092915050565b6000806000606084860312156114a357600080fd5b60006114b186828701611309565b93505060206114c286828701611254565b92505060406114d3868287016112bd565b9150509250925092565b60008060008060008060c087890312156114f657600080fd5b600061150489828a01611309565b965050602087013567ffffffffffffffff81111561152157600080fd5b61152d89828a01611293565b955050604061153e89828a0161131e565b945050606061154f89828a01611254565b935050608061156089828a0161131e565b92505060a087013567ffffffffffffffff81111561157d57600080fd5b61158989828a01611293565b9150509295509295509295565b6000602082840312156115a857600080fd5b60006115b684828501611333565b91505092915050565b600080604083850312156115d257600080fd5b60006115e085828601611333565b92505060206115f185828601611333565b9150509250929050565b61160481611fdf565b82525050565b61161381611fcd565b82525050565b61162a61162582611fcd565b6120eb565b82525050565b600061163b82611eba565b6116458185611ed0565b9350611655818560208601612087565b61165e816121a6565b840191505092915050565b600061167482611eba565b61167e8185611ee1565b935061168e818560208601612087565b611697816121a6565b840191505092915050565b60006116ad82611eba565b6116b78185611ef2565b93506116c7818560208601612087565b80840191505092915050565b6116dc81612054565b82525050565b60006116ed82611ec5565b6116f78185611efd565b9350611707818560208601612087565b611710816121a6565b840191505092915050565b6000611728602283611efd565b9150611733826121c4565b604082019050919050565b600061174b602583611efd565b915061175682612213565b604082019050919050565b600061176e600283611ee1565b915061177982612262565b602082019050919050565b6000611791602683611efd565b915061179c8261228b565b604082019050919050565b60006117b4602c83611efd565b91506117bf826122da565b604082019050919050565b60006117d7602883611efd565b91506117e282612329565b604082019050919050565b60006117fa601f83611efd565b915061180582612378565b602082019050919050565b600061181d601a83611efd565b9150611828826123a1565b602082019050919050565b6000611840601d83611efd565b915061184b826123ca565b602082019050919050565b6000611863602a83611efd565b915061186e826123f3565b604082019050919050565b6000611886601b83611efd565b915061189182612442565b602082019050919050565b60006118a9601d83611efd565b91506118b48261246b565b602082019050919050565b60006118cc603683611efd565b91506118d782612494565b604082019050919050565b60006060830160008301516118fa6000860182611950565b50602083015161190d6020860182611950565b50604083015184820360408601526119258282611630565b9150508091505092915050565b61193b8161200f565b82525050565b61194a81612066565b82525050565b6119598161203d565b82525050565b6119688161203d565b82525050565b61197f61197a8261203d565b61210f565b82525050565b60006119918284611619565b60148201915081905092915050565b60006119ac82846116a2565b915081905092915050565b60006119c3828461196e565b60208201915081905092915050565b60006020820190506119e7600083018461160a565b92915050565b6000604082019050611a02600083018561160a565b611a0f602083018461160a565b9392505050565b600060a082019050611a2b600083018861160a565b611a38602083018761160a565b611a45604083018661160a565b611a52606083018561195f565b611a5f6080830184611932565b9695505050505050565b6000606082019050611a7e600083018661160a565b611a8b602083018561160a565b611a986040830184611932565b949350505050565b6000606082019050611ab5600083018661160a565b611ac2602083018561160a565b611acf604083018461195f565b949350505050565b6000608082019050611aec600083018761160a565b611af9602083018661160a565b611b06604083018561195f565b611b136060830184611932565b95945050505050565b6000604082019050611b31600083018561160a565b611b3e602083018461195f565b9392505050565b60006020820190508181036000830152611b5f81846116e2565b905092915050565b60006020820190508181036000830152611b808161171b565b9050919050565b60006020820190508181036000830152611ba08161173e565b9050919050565b60006020820190508181036000830152611bc081611784565b9050919050565b60006020820190508181036000830152611be0816117a7565b9050919050565b60006020820190508181036000830152611c00816117ca565b9050919050565b60006020820190508181036000830152611c20816117ed565b9050919050565b60006020820190508181036000830152611c4081611810565b9050919050565b60006020820190508181036000830152611c6081611833565b9050919050565b60006020820190508181036000830152611c8081611856565b9050919050565b60006020820190508181036000830152611ca081611879565b9050919050565b60006020820190508181036000830152611cc08161189c565b9050919050565b60006020820190508181036000830152611ce0816118bf565b9050919050565b600060a082019050611cfc6000830188611932565b611d0960208301876115fb565b8181036040830152611d1b8186611669565b9050611d2a606083018561195f565b611d37608083018461195f565b9695505050505050565b600060a082019050611d566000830187611932565b611d6360208301866116d3565b8181036040830152611d758185611669565b90508181036060830152611d8881611761565b90508181036080830152611d9c81846118e2565b905095945050505050565b600061012082019050611dbd600083018c611932565b611dca602083018b611941565b611dd7604083018a611941565b611de460608301896115fb565b611df1608083018861195f565b611dfe60a083018761195f565b81810360c0830152611e1081866118e2565b905081810360e0830152611e248185611669565b9050818103610100830152611e398184611669565b90509a9950505050505050505050565b6000602082019050611e5e600083018461195f565b92915050565b6000611e6e611e7f565b9050611e7a82826120ba565b919050565b6000604051905090565b600067ffffffffffffffff821115611ea457611ea3612177565b5b611ead826121a6565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000611f198261203d565b9150611f248361203d565b925082611f3457611f33612148565b5b828204905092915050565b6000611f4a8261203d565b9150611f558361203d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611f8e57611f8d612119565b5b828202905092915050565b6000611fa48261200f565b9150611faf8361200f565b925082821015611fc257611fc1612119565b5b828203905092915050565b6000611fd88261201d565b9050919050565b6000611fea8261201d565b9050919050565b60008115159050919050565b600061200882611fcd565b9050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061205f82612047565b9050919050565b60006120718261200f565b9050919050565b82818337600083830152505050565b60005b838110156120a557808201518184015260208101905061208a565b838111156120b4576000848401525b50505050565b6120c3826121a6565b810181811067ffffffffffffffff821117156120e2576120e1612177565b5b80604052505050565b60006120f6826120fd565b9050919050565b6000612108826121b7565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b7f3078000000000000000000000000000000000000000000000000000000000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f53746172676174653a3a20696e76616c69642061646472657373000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b6124ec81611fcd565b81146124f757600080fd5b50565b61250381611fdf565b811461250e57600080fd5b50565b61251a81611ff1565b811461252557600080fd5b50565b61253181611ffd565b811461253c57600080fd5b50565b6125488161200f565b811461255357600080fd5b50565b61255f8161203d565b811461256a57600080fd5b5056fea164736f6c6343000804000a", + "bytecode": "0x60a060405261271060809081525034801561001957600080fd5b50608051612c8261004a600039600081816103210152818161035901528181610b680152610ba00152612c826000f3fe6080604052600436106100705760003560e01c8063be9899101161004e578063be989910146100e3578063ce36ebd314610120578063d61bf1fa1461013c578063e08e50711461016557610070565b8063295d4d41146100755780638083a0db1461009e578063ab8236f3146100ba575b600080fd5b34801561008157600080fd5b5061009c60048036038101906100979190611ace565b6101a2565b005b6100b860048036038101906100b39190611909565b610224565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906119c3565b61062e565b005b3480156100ef57600080fd5b5061010a60048036038101906101059190611933565b610728565b6040516101179190612425565b60405180910390f35b61013a60048036038101906101359190611971565b610887565b005b34801561014857600080fd5b50610163600480360381019061015e9190611860565b610cf1565b005b34801561017157600080fd5b5061018c60048036038101906101879190611a7c565b610f78565b60405161019991906122a6565b60405180910390f35b6101aa610fff565b60006101b461109a565b90508181600201600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc8383604051610217929190612440565b60405180910390a1505050565b600061022e6110c7565b905060018160000154141561026f576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160000181905550600034116102bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b390612146565b60405180910390fd5b6000826000013511610303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fa90612226565b60405180910390fd5b600061030d6110f4565b9050600061031b8483610728565b905060007f00000000000000000000000000000000000000000000000000000000000000008560c0016020810190610353919061199a565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610382919061259e565b86600001356103919190612544565b61039b9190612513565b905060008560e00160208101906103b2919061180e565b6040516020016103c29190611eff565b604051602081830303815290604052905060008660a00160208101906103e8919061180e565b6040516020016103f89190611f31565b604051602081830303815290604052905061044c333089600001358a6020016020810190610426919061180e565b73ffffffffffffffffffffffffffffffffffffffff16611127909392919063ffffffff16565b61048d858860000135896020016020810190610468919061180e565b73ffffffffffffffffffffffffffffffffffffffff166111b09092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc856104c98a60400160208101906104c0919061199a565b61ffff16610f78565b8a60600160208101906104dc919061199a565b8b60800160208101906104ef919061199a565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161057099989796959493929190612383565b6000604051808303818588803b15801561058957600080fd5b505af115801561059d573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a8668760200160208101906105d6919061180e565b338960a00160208101906105ea919061180e565b8a600001358b6040016020810190610602919061199a565b604051610613959493929190611f75565b60405180910390a15050505050600081600001819055505050565b6106366110f4565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069a906121a6565b60405180910390fd5b6000818060200190518101906106b99190611837565b90506106e681848673ffffffffffffffffffffffffffffffffffffffff1661130e9092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c848460405161071792919061207b565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236961076686604001602081019061075d919061199a565b61ffff16610f78565b60018760e001602081019061077b919061180e565b60405160200161078b9190611eff565b6040516020818303038152906040528860a00160208101906107ad919061180e565b6040516020016107bd9190611f31565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016107f99190611eff565b6040516020818303038152906040528152506040518663ffffffff1660e01b815260040161082b95949392919061231b565b604080518083038186803b15801561084257600080fd5b505afa158015610856573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087a9190611b0a565b5090508091505092915050565b60006108916110c7565b90506001816000015414156108d2576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060006108e6611394565b61ffff16905060018114806108fc575061a4b181145b806109075750600a81145b610946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093d906120c6565b60405180910390fd5b600183602001602081019061095b919061199a565b61ffff161480610982575061a4b183602001602081019061097c919061199a565b61ffff16145b806109a35750600a83602001602081019061099d919061199a565b61ffff16145b6109e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d990612286565b60405180910390fd5b60003411610a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1c90612246565b60405180910390fd5b6000836000013511610a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6390612226565b60405180910390fd5b82600001353411610ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa990612166565b60405180910390fd5b6000610abc6113b5565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2590612106565b60405180910390fd5b6000846040016020810190610b43919061180e565b604051602001610b539190611eff565b604051602081830303815290604052905060007f0000000000000000000000000000000000000000000000000000000000000000866060016020810190610b9a919061199a565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610bc9919061259e565b8760000135610bd89190612544565b610be29190612513565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a34610c20896020016020810190610c17919061199a565b61ffff16610f78565b33868b60000135876040518763ffffffff1660e01b8152600401610c489594939291906122c1565b6000604051808303818588803b158015610c6157600080fd5b505af1158015610c75573d6000803e3d6000fd5b50505050507f96d8881a4aa5dbc2504224c656dc33918e070ada05b7379f89ef88e706bec7ce33876040016020810190610caf919061180e565b8860000135896020016020810190610cc7919061199a565b604051610cd79493929190612036565b60405180910390a150505050600081600001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015610d5b5750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b610d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d91906121c6565b60405180910390fd5b610da2610fff565b6000610dac61109a565b9050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160146101000a81548161ffff021916908361ffff16021790555060005b83839050811015610f3457838382818110610e9a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050604002016020016020810190610eb2919061199a565b826002016000868685818110610ef1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610f2d906126f0565b9050610e56565b507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb868686604051610f6893929190611fc8565b60405180910390a1505050505050565b600080610f8361109a565b9050600081600201600085815260200190815260200160002060009054906101000a900461ffff16905060008161ffff161415610ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fec90612186565b60405180910390fd5b8092505050919050565b6110076113e8565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611098576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108f906120e6565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b60006110fe61109a565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6111aa846323b872dd60e01b85858560405160240161114893929190611fff565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611415565b50505050565b6000811480611249575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016111f7929190611f4c565b60206040518083038186803b15801561120f57600080fd5b505afa158015611223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112479190611aa5565b145b611288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127f90612266565b60405180910390fd5b6113098363095ea7b360e01b84846040516024016112a792919061207b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611415565b505050565b61138f8363a9059cbb60e01b848460405160240161132d92919061207b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611415565b505050565b600061139e61109a565b60010160149054906101000a900461ffff16905090565b60006113bf61109a565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000611477826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114dc9092919063ffffffff16565b90506000815111156114d7578080602001905181019061149791906118e0565b6114d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cd90612206565b60405180910390fd5b5b505050565b60606114eb84846000856114f4565b90509392505050565b606082471015611539576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153090612126565b60405180910390fd5b61154285611608565b611581576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611578906121e6565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115aa9190611f1a565b60006040518083038185875af1925050503d80600081146115e7576040519150601f19603f3d011682016040523d82523d6000602084013e6115ec565b606091505b50915091506115fc82828661162b565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060831561163b5782905061168b565b60008351111561164e5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168291906120a4565b60405180910390fd5b9392505050565b60006116a56116a08461248e565b612469565b9050828152602081018484840111156116bd57600080fd5b6116c884828561267d565b509392505050565b6000813590506116df81612beb565b92915050565b6000815190506116f481612c02565b92915050565b60008083601f84011261170c57600080fd5b8235905067ffffffffffffffff81111561172557600080fd5b60208301915083604082028301111561173d57600080fd5b9250929050565b60008151905061175381612c19565b92915050565b600082601f83011261176a57600080fd5b813561177a848260208601611692565b91505092915050565b60008135905061179281612c30565b92915050565b600061010082840312156117ab57600080fd5b81905092915050565b6000608082840312156117c657600080fd5b81905092915050565b6000813590506117de81612c47565b92915050565b6000813590506117f381612c5e565b92915050565b60008151905061180881612c5e565b92915050565b60006020828403121561182057600080fd5b600061182e848285016116d0565b91505092915050565b60006020828403121561184957600080fd5b6000611857848285016116e5565b91505092915050565b60008060008060006080868803121561187857600080fd5b6000611886888289016116d0565b9550506020611897888289016116d0565b94505060406118a8888289016117cf565b935050606086013567ffffffffffffffff8111156118c557600080fd5b6118d1888289016116fa565b92509250509295509295909350565b6000602082840312156118f257600080fd5b600061190084828501611744565b91505092915050565b6000610100828403121561191c57600080fd5b600061192a84828501611798565b91505092915050565b600080610120838503121561194757600080fd5b600061195585828601611798565b92505061010061196785828601611783565b9150509250929050565b60006080828403121561198357600080fd5b6000611991848285016117b4565b91505092915050565b6000602082840312156119ac57600080fd5b60006119ba848285016117cf565b91505092915050565b60008060008060008060c087890312156119dc57600080fd5b60006119ea89828a016117cf565b965050602087013567ffffffffffffffff811115611a0757600080fd5b611a1389828a01611759565b9550506040611a2489828a016117e4565b9450506060611a3589828a016116d0565b9350506080611a4689828a016117e4565b92505060a087013567ffffffffffffffff811115611a6357600080fd5b611a6f89828a01611759565b9150509295509295509295565b600060208284031215611a8e57600080fd5b6000611a9c848285016117e4565b91505092915050565b600060208284031215611ab757600080fd5b6000611ac5848285016117f9565b91505092915050565b60008060408385031215611ae157600080fd5b6000611aef858286016117e4565b9250506020611b00858286016117cf565b9150509250929050565b60008060408385031215611b1d57600080fd5b6000611b2b858286016117f9565b9250506020611b3c858286016117f9565b9150509250929050565b611b4f816125e4565b82525050565b611b5e816125d2565b82525050565b611b75611b70826125d2565b612739565b82525050565b6000611b86826124bf565b611b9081856124d5565b9350611ba081856020860161268c565b611ba9816127ea565b840191505092915050565b6000611bbf826124bf565b611bc981856124e6565b9350611bd981856020860161268c565b611be2816127ea565b840191505092915050565b6000611bf8826124bf565b611c0281856124f7565b9350611c1281856020860161268c565b80840191505092915050565b611c2781612659565b82525050565b6000611c38826124ca565b611c428185612502565b9350611c5281856020860161268c565b611c5b816127ea565b840191505092915050565b6000611c73603583612502565b9150611c7e82612808565b604082019050919050565b6000611c96602283612502565b9150611ca182612857565b604082019050919050565b6000611cb9602583612502565b9150611cc4826128a6565b604082019050919050565b6000611cdc602683612502565b9150611ce7826128f5565b604082019050919050565b6000611cff602c83612502565b9150611d0a82612944565b604082019050919050565b6000611d22602883612502565b9150611d2d82612993565b604082019050919050565b6000611d45603183612502565b9150611d50826129e2565b604082019050919050565b6000611d68601f83612502565b9150611d7382612a31565b602082019050919050565b6000611d8b601a83612502565b9150611d9682612a5a565b602082019050919050565b6000611dae601d83612502565b9150611db982612a83565b602082019050919050565b6000611dd1602a83612502565b9150611ddc82612aac565b604082019050919050565b6000611df4601b83612502565b9150611dff82612afb565b602082019050919050565b6000611e17601d83612502565b9150611e2282612b24565b602082019050919050565b6000611e3a603683612502565b9150611e4582612b4d565b604082019050919050565b6000611e5d603383612502565b9150611e6882612b9c565b604082019050919050565b6000606083016000830151611e8b6000860182611ee1565b506020830151611e9e6020860182611ee1565b5060408301518482036040860152611eb68282611b7b565b9150508091505092915050565b611ecc81612614565b82525050565b611edb8161266b565b82525050565b611eea81612642565b82525050565b611ef981612642565b82525050565b6000611f0b8284611b64565b60148201915081905092915050565b6000611f268284611bed565b915081905092915050565b6000602082019050611f466000830184611b55565b92915050565b6000604082019050611f616000830185611b55565b611f6e6020830184611b55565b9392505050565b600060a082019050611f8a6000830188611b55565b611f976020830187611b55565b611fa46040830186611b55565b611fb16060830185611ef0565b611fbe6080830184611ec3565b9695505050505050565b6000606082019050611fdd6000830186611b55565b611fea6020830185611b55565b611ff76040830184611ec3565b949350505050565b60006060820190506120146000830186611b55565b6120216020830185611b55565b61202e6040830184611ef0565b949350505050565b600060808201905061204b6000830187611b55565b6120586020830186611b55565b6120656040830185611ef0565b6120726060830184611ec3565b95945050505050565b60006040820190506120906000830185611b55565b61209d6020830184611ef0565b9392505050565b600060208201905081810360008301526120be8184611c2d565b905092915050565b600060208201905081810360008301526120df81611c66565b9050919050565b600060208201905081810360008301526120ff81611c89565b9050919050565b6000602082019050818103600083015261211f81611cac565b9050919050565b6000602082019050818103600083015261213f81611ccf565b9050919050565b6000602082019050818103600083015261215f81611cf2565b9050919050565b6000602082019050818103600083015261217f81611d15565b9050919050565b6000602082019050818103600083015261219f81611d38565b9050919050565b600060208201905081810360008301526121bf81611d5b565b9050919050565b600060208201905081810360008301526121df81611d7e565b9050919050565b600060208201905081810360008301526121ff81611da1565b9050919050565b6000602082019050818103600083015261221f81611dc4565b9050919050565b6000602082019050818103600083015261223f81611de7565b9050919050565b6000602082019050818103600083015261225f81611e0a565b9050919050565b6000602082019050818103600083015261227f81611e2d565b9050919050565b6000602082019050818103600083015261229f81611e50565b9050919050565b60006020820190506122bb6000830184611ec3565b92915050565b600060a0820190506122d66000830188611ec3565b6122e36020830187611b46565b81810360408301526122f58186611bb4565b90506123046060830185611ef0565b6123116080830184611ef0565b9695505050505050565b600060a0820190506123306000830188611ec3565b61233d6020830187611c1e565b818103604083015261234f8186611bb4565b905081810360608301526123638185611bb4565b905081810360808301526123778184611e73565b90509695505050505050565b600061012082019050612399600083018c611ec3565b6123a6602083018b611ed2565b6123b3604083018a611ed2565b6123c06060830189611b46565b6123cd6080830188611ef0565b6123da60a0830187611ef0565b81810360c08301526123ec8186611e73565b905081810360e08301526124008185611bb4565b90508181036101008301526124158184611bb4565b90509a9950505050505050505050565b600060208201905061243a6000830184611ef0565b92915050565b60006040820190506124556000830185611ef0565b6124626020830184611ec3565b9392505050565b6000612473612484565b905061247f82826126bf565b919050565b6000604051905090565b600067ffffffffffffffff8211156124a9576124a86127bb565b5b6124b2826127ea565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061251e82612642565b915061252983612642565b9250826125395761253861278c565b5b828204905092915050565b600061254f82612642565b915061255a83612642565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156125935761259261275d565b5b828202905092915050565b60006125a982612642565b91506125b483612642565b9250828210156125c7576125c661275d565b5b828203905092915050565b60006125dd82612622565b9050919050565b60006125ef82612622565b9050919050565b60008115159050919050565b600061260d826125d2565b9050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126648261264c565b9050919050565b600061267682612614565b9050919050565b82818337600083830152505050565b60005b838110156126aa57808201518184015260208101905061268f565b838111156126b9576000848401525b50505050565b6126c8826127ea565b810181811067ffffffffffffffff821117156126e7576126e66127bb565b5b80604052505050565b60006126fb82612642565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561272e5761272d61275d565b5b600182019050919050565b60006127448261274b565b9050919050565b6000612756826127fb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f53746172676174653a3a20696e76616c69642061646472657373000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b612bf4816125d2565b8114612bff57600080fd5b50565b612c0b816125e4565b8114612c1657600080fd5b50565b612c22816125f6565b8114612c2d57600080fd5b50565b612c3981612602565b8114612c4457600080fd5b50565b612c5081612614565b8114612c5b57600080fd5b50565b612c6781612642565b8114612c7257600080fd5b5056fea164736f6c6343000804000a", + "deployedBytecode": "0x6080604052600436106100705760003560e01c8063be9899101161004e578063be989910146100e3578063ce36ebd314610120578063d61bf1fa1461013c578063e08e50711461016557610070565b8063295d4d41146100755780638083a0db1461009e578063ab8236f3146100ba575b600080fd5b34801561008157600080fd5b5061009c60048036038101906100979190611ace565b6101a2565b005b6100b860048036038101906100b39190611909565b610224565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906119c3565b61062e565b005b3480156100ef57600080fd5b5061010a60048036038101906101059190611933565b610728565b6040516101179190612425565b60405180910390f35b61013a60048036038101906101359190611971565b610887565b005b34801561014857600080fd5b50610163600480360381019061015e9190611860565b610cf1565b005b34801561017157600080fd5b5061018c60048036038101906101879190611a7c565b610f78565b60405161019991906122a6565b60405180910390f35b6101aa610fff565b60006101b461109a565b90508181600201600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc8383604051610217929190612440565b60405180910390a1505050565b600061022e6110c7565b905060018160000154141561026f576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160000181905550600034116102bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b390612146565b60405180910390fd5b6000826000013511610303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fa90612226565b60405180910390fd5b600061030d6110f4565b9050600061031b8483610728565b905060007f00000000000000000000000000000000000000000000000000000000000000008560c0016020810190610353919061199a565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610382919061259e565b86600001356103919190612544565b61039b9190612513565b905060008560e00160208101906103b2919061180e565b6040516020016103c29190611eff565b604051602081830303815290604052905060008660a00160208101906103e8919061180e565b6040516020016103f89190611f31565b604051602081830303815290604052905061044c333089600001358a6020016020810190610426919061180e565b73ffffffffffffffffffffffffffffffffffffffff16611127909392919063ffffffff16565b61048d858860000135896020016020810190610468919061180e565b73ffffffffffffffffffffffffffffffffffffffff166111b09092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc856104c98a60400160208101906104c0919061199a565b61ffff16610f78565b8a60600160208101906104dc919061199a565b8b60800160208101906104ef919061199a565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161057099989796959493929190612383565b6000604051808303818588803b15801561058957600080fd5b505af115801561059d573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a8668760200160208101906105d6919061180e565b338960a00160208101906105ea919061180e565b8a600001358b6040016020810190610602919061199a565b604051610613959493929190611f75565b60405180910390a15050505050600081600001819055505050565b6106366110f4565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069a906121a6565b60405180910390fd5b6000818060200190518101906106b99190611837565b90506106e681848673ffffffffffffffffffffffffffffffffffffffff1661130e9092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c848460405161071792919061207b565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236961076686604001602081019061075d919061199a565b61ffff16610f78565b60018760e001602081019061077b919061180e565b60405160200161078b9190611eff565b6040516020818303038152906040528860a00160208101906107ad919061180e565b6040516020016107bd9190611f31565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016107f99190611eff565b6040516020818303038152906040528152506040518663ffffffff1660e01b815260040161082b95949392919061231b565b604080518083038186803b15801561084257600080fd5b505afa158015610856573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087a9190611b0a565b5090508091505092915050565b60006108916110c7565b90506001816000015414156108d2576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060006108e6611394565b61ffff16905060018114806108fc575061a4b181145b806109075750600a81145b610946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093d906120c6565b60405180910390fd5b600183602001602081019061095b919061199a565b61ffff161480610982575061a4b183602001602081019061097c919061199a565b61ffff16145b806109a35750600a83602001602081019061099d919061199a565b61ffff16145b6109e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d990612286565b60405180910390fd5b60003411610a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1c90612246565b60405180910390fd5b6000836000013511610a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6390612226565b60405180910390fd5b82600001353411610ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa990612166565b60405180910390fd5b6000610abc6113b5565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2590612106565b60405180910390fd5b6000846040016020810190610b43919061180e565b604051602001610b539190611eff565b604051602081830303815290604052905060007f0000000000000000000000000000000000000000000000000000000000000000866060016020810190610b9a919061199a565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610bc9919061259e565b8760000135610bd89190612544565b610be29190612513565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a34610c20896020016020810190610c17919061199a565b61ffff16610f78565b33868b60000135876040518763ffffffff1660e01b8152600401610c489594939291906122c1565b6000604051808303818588803b158015610c6157600080fd5b505af1158015610c75573d6000803e3d6000fd5b50505050507f96d8881a4aa5dbc2504224c656dc33918e070ada05b7379f89ef88e706bec7ce33876040016020810190610caf919061180e565b8860000135896020016020810190610cc7919061199a565b604051610cd79493929190612036565b60405180910390a150505050600081600001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015610d5b5750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b610d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d91906121c6565b60405180910390fd5b610da2610fff565b6000610dac61109a565b9050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160146101000a81548161ffff021916908361ffff16021790555060005b83839050811015610f3457838382818110610e9a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050604002016020016020810190610eb2919061199a565b826002016000868685818110610ef1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610f2d906126f0565b9050610e56565b507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb868686604051610f6893929190611fc8565b60405180910390a1505050505050565b600080610f8361109a565b9050600081600201600085815260200190815260200160002060009054906101000a900461ffff16905060008161ffff161415610ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fec90612186565b60405180910390fd5b8092505050919050565b6110076113e8565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611098576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108f906120e6565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b60006110fe61109a565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6111aa846323b872dd60e01b85858560405160240161114893929190611fff565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611415565b50505050565b6000811480611249575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016111f7929190611f4c565b60206040518083038186803b15801561120f57600080fd5b505afa158015611223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112479190611aa5565b145b611288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127f90612266565b60405180910390fd5b6113098363095ea7b360e01b84846040516024016112a792919061207b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611415565b505050565b61138f8363a9059cbb60e01b848460405160240161132d92919061207b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611415565b505050565b600061139e61109a565b60010160149054906101000a900461ffff16905090565b60006113bf61109a565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000611477826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114dc9092919063ffffffff16565b90506000815111156114d7578080602001905181019061149791906118e0565b6114d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cd90612206565b60405180910390fd5b5b505050565b60606114eb84846000856114f4565b90509392505050565b606082471015611539576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153090612126565b60405180910390fd5b61154285611608565b611581576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611578906121e6565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115aa9190611f1a565b60006040518083038185875af1925050503d80600081146115e7576040519150601f19603f3d011682016040523d82523d6000602084013e6115ec565b606091505b50915091506115fc82828661162b565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060831561163b5782905061168b565b60008351111561164e5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168291906120a4565b60405180910390fd5b9392505050565b60006116a56116a08461248e565b612469565b9050828152602081018484840111156116bd57600080fd5b6116c884828561267d565b509392505050565b6000813590506116df81612beb565b92915050565b6000815190506116f481612c02565b92915050565b60008083601f84011261170c57600080fd5b8235905067ffffffffffffffff81111561172557600080fd5b60208301915083604082028301111561173d57600080fd5b9250929050565b60008151905061175381612c19565b92915050565b600082601f83011261176a57600080fd5b813561177a848260208601611692565b91505092915050565b60008135905061179281612c30565b92915050565b600061010082840312156117ab57600080fd5b81905092915050565b6000608082840312156117c657600080fd5b81905092915050565b6000813590506117de81612c47565b92915050565b6000813590506117f381612c5e565b92915050565b60008151905061180881612c5e565b92915050565b60006020828403121561182057600080fd5b600061182e848285016116d0565b91505092915050565b60006020828403121561184957600080fd5b6000611857848285016116e5565b91505092915050565b60008060008060006080868803121561187857600080fd5b6000611886888289016116d0565b9550506020611897888289016116d0565b94505060406118a8888289016117cf565b935050606086013567ffffffffffffffff8111156118c557600080fd5b6118d1888289016116fa565b92509250509295509295909350565b6000602082840312156118f257600080fd5b600061190084828501611744565b91505092915050565b6000610100828403121561191c57600080fd5b600061192a84828501611798565b91505092915050565b600080610120838503121561194757600080fd5b600061195585828601611798565b92505061010061196785828601611783565b9150509250929050565b60006080828403121561198357600080fd5b6000611991848285016117b4565b91505092915050565b6000602082840312156119ac57600080fd5b60006119ba848285016117cf565b91505092915050565b60008060008060008060c087890312156119dc57600080fd5b60006119ea89828a016117cf565b965050602087013567ffffffffffffffff811115611a0757600080fd5b611a1389828a01611759565b9550506040611a2489828a016117e4565b9450506060611a3589828a016116d0565b9350506080611a4689828a016117e4565b92505060a087013567ffffffffffffffff811115611a6357600080fd5b611a6f89828a01611759565b9150509295509295509295565b600060208284031215611a8e57600080fd5b6000611a9c848285016117e4565b91505092915050565b600060208284031215611ab757600080fd5b6000611ac5848285016117f9565b91505092915050565b60008060408385031215611ae157600080fd5b6000611aef858286016117e4565b9250506020611b00858286016117cf565b9150509250929050565b60008060408385031215611b1d57600080fd5b6000611b2b858286016117f9565b9250506020611b3c858286016117f9565b9150509250929050565b611b4f816125e4565b82525050565b611b5e816125d2565b82525050565b611b75611b70826125d2565b612739565b82525050565b6000611b86826124bf565b611b9081856124d5565b9350611ba081856020860161268c565b611ba9816127ea565b840191505092915050565b6000611bbf826124bf565b611bc981856124e6565b9350611bd981856020860161268c565b611be2816127ea565b840191505092915050565b6000611bf8826124bf565b611c0281856124f7565b9350611c1281856020860161268c565b80840191505092915050565b611c2781612659565b82525050565b6000611c38826124ca565b611c428185612502565b9350611c5281856020860161268c565b611c5b816127ea565b840191505092915050565b6000611c73603583612502565b9150611c7e82612808565b604082019050919050565b6000611c96602283612502565b9150611ca182612857565b604082019050919050565b6000611cb9602583612502565b9150611cc4826128a6565b604082019050919050565b6000611cdc602683612502565b9150611ce7826128f5565b604082019050919050565b6000611cff602c83612502565b9150611d0a82612944565b604082019050919050565b6000611d22602883612502565b9150611d2d82612993565b604082019050919050565b6000611d45603183612502565b9150611d50826129e2565b604082019050919050565b6000611d68601f83612502565b9150611d7382612a31565b602082019050919050565b6000611d8b601a83612502565b9150611d9682612a5a565b602082019050919050565b6000611dae601d83612502565b9150611db982612a83565b602082019050919050565b6000611dd1602a83612502565b9150611ddc82612aac565b604082019050919050565b6000611df4601b83612502565b9150611dff82612afb565b602082019050919050565b6000611e17601d83612502565b9150611e2282612b24565b602082019050919050565b6000611e3a603683612502565b9150611e4582612b4d565b604082019050919050565b6000611e5d603383612502565b9150611e6882612b9c565b604082019050919050565b6000606083016000830151611e8b6000860182611ee1565b506020830151611e9e6020860182611ee1565b5060408301518482036040860152611eb68282611b7b565b9150508091505092915050565b611ecc81612614565b82525050565b611edb8161266b565b82525050565b611eea81612642565b82525050565b611ef981612642565b82525050565b6000611f0b8284611b64565b60148201915081905092915050565b6000611f268284611bed565b915081905092915050565b6000602082019050611f466000830184611b55565b92915050565b6000604082019050611f616000830185611b55565b611f6e6020830184611b55565b9392505050565b600060a082019050611f8a6000830188611b55565b611f976020830187611b55565b611fa46040830186611b55565b611fb16060830185611ef0565b611fbe6080830184611ec3565b9695505050505050565b6000606082019050611fdd6000830186611b55565b611fea6020830185611b55565b611ff76040830184611ec3565b949350505050565b60006060820190506120146000830186611b55565b6120216020830185611b55565b61202e6040830184611ef0565b949350505050565b600060808201905061204b6000830187611b55565b6120586020830186611b55565b6120656040830185611ef0565b6120726060830184611ec3565b95945050505050565b60006040820190506120906000830185611b55565b61209d6020830184611ef0565b9392505050565b600060208201905081810360008301526120be8184611c2d565b905092915050565b600060208201905081810360008301526120df81611c66565b9050919050565b600060208201905081810360008301526120ff81611c89565b9050919050565b6000602082019050818103600083015261211f81611cac565b9050919050565b6000602082019050818103600083015261213f81611ccf565b9050919050565b6000602082019050818103600083015261215f81611cf2565b9050919050565b6000602082019050818103600083015261217f81611d15565b9050919050565b6000602082019050818103600083015261219f81611d38565b9050919050565b600060208201905081810360008301526121bf81611d5b565b9050919050565b600060208201905081810360008301526121df81611d7e565b9050919050565b600060208201905081810360008301526121ff81611da1565b9050919050565b6000602082019050818103600083015261221f81611dc4565b9050919050565b6000602082019050818103600083015261223f81611de7565b9050919050565b6000602082019050818103600083015261225f81611e0a565b9050919050565b6000602082019050818103600083015261227f81611e2d565b9050919050565b6000602082019050818103600083015261229f81611e50565b9050919050565b60006020820190506122bb6000830184611ec3565b92915050565b600060a0820190506122d66000830188611ec3565b6122e36020830187611b46565b81810360408301526122f58186611bb4565b90506123046060830185611ef0565b6123116080830184611ef0565b9695505050505050565b600060a0820190506123306000830188611ec3565b61233d6020830187611c1e565b818103604083015261234f8186611bb4565b905081810360608301526123638185611bb4565b905081810360808301526123778184611e73565b90509695505050505050565b600061012082019050612399600083018c611ec3565b6123a6602083018b611ed2565b6123b3604083018a611ed2565b6123c06060830189611b46565b6123cd6080830188611ef0565b6123da60a0830187611ef0565b81810360c08301526123ec8186611e73565b905081810360e08301526124008185611bb4565b90508181036101008301526124158184611bb4565b90509a9950505050505050505050565b600060208201905061243a6000830184611ef0565b92915050565b60006040820190506124556000830185611ef0565b6124626020830184611ec3565b9392505050565b6000612473612484565b905061247f82826126bf565b919050565b6000604051905090565b600067ffffffffffffffff8211156124a9576124a86127bb565b5b6124b2826127ea565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061251e82612642565b915061252983612642565b9250826125395761253861278c565b5b828204905092915050565b600061254f82612642565b915061255a83612642565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156125935761259261275d565b5b828202905092915050565b60006125a982612642565b91506125b483612642565b9250828210156125c7576125c661275d565b5b828203905092915050565b60006125dd82612622565b9050919050565b60006125ef82612622565b9050919050565b60008115159050919050565b600061260d826125d2565b9050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126648261264c565b9050919050565b600061267682612614565b9050919050565b82818337600083830152505050565b60005b838110156126aa57808201518184015260208101905061268f565b838111156126b9576000848401525b50505050565b6126c8826127ea565b810181811067ffffffffffffffff821117156126e7576126e66127bb565b5b80604052505050565b60006126fb82612642565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561272e5761272d61275d565b5b600182019050919050565b60006127448261274b565b9050919050565b6000612756826127fb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f53746172676174653a3a20696e76616c69642061646472657373000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b612bf4816125d2565b8114612bff57600080fd5b50565b612c0b816125e4565b8114612c1657600080fd5b50565b612c22816125f6565b8114612c2d57600080fd5b50565b612c3981612602565b8114612c4457600080fd5b50565b612c5081612614565b8114612c5b57600080fd5b50565b612c6781612642565b8114612c7257600080fd5b5056fea164736f6c6343000804000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/SwapUtils.json b/artifacts/SwapUtils.json deleted file mode 100644 index d4bbd434..00000000 --- a/artifacts/SwapUtils.json +++ /dev/null @@ -1,252 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "SwapUtils", - "sourceName": "@connext/nxtp-contracts/contracts/core/connext/libraries/SwapUtils.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "provider", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "tokenAmounts", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "fees", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "invariant", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lpTokenSupply", - "type": "uint256" - } - ], - "name": "AddLiquidity", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newAdminFee", - "type": "uint256" - } - ], - "name": "NewAdminFee", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newSwapFee", - "type": "uint256" - } - ], - "name": "NewSwapFee", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "provider", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "tokenAmounts", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lpTokenSupply", - "type": "uint256" - } - ], - "name": "RemoveLiquidity", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "provider", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "tokenAmounts", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "fees", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "invariant", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lpTokenSupply", - "type": "uint256" - } - ], - "name": "RemoveLiquidityImbalance", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "provider", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lpTokenAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lpTokenSupply", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "boughtId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "tokensBought", - "type": "uint256" - } - ], - "name": "RemoveLiquidityOne", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "buyer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "tokensSold", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "tokensBought", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "soldId", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "boughtId", - "type": "uint128" - } - ], - "name": "TokenSwap", - "type": "event" - } - ], - "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fe3255418198d05cb59f80673e371c7cbe2ccb41266274a70918938b377ab77a64736f6c63430008110033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fe3255418198d05cb59f80673e371c7cbe2ccb41266274a70918938b377ab77a64736f6c63430008110033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/TypeCasts.json b/artifacts/TypeCasts.json deleted file mode 100644 index dcc73ff4..00000000 --- a/artifacts/TypeCasts.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "TypeCasts", - "sourceName": "@connext/nxtp-contracts/contracts/shared/libraries/TypeCasts.sol", - "abi": [], - "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122058a369aa09bc8cdf683b919ad364db00abecf53ac2c01e3e3bece5558bd749c764736f6c63430008110033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122058a369aa09bc8cdf683b919ad364db00abecf53ac2c01e3e3bece5558bd749c764736f6c63430008110033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/TypedMemView.json b/artifacts/TypedMemView.json deleted file mode 100644 index 14690e04..00000000 --- a/artifacts/TypedMemView.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "TypedMemView", - "sourceName": "@connext/nxtp-contracts/contracts/shared/libraries/TypedMemView.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "actual", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expected", - "type": "uint256" - } - ], - "name": "TypedMemView__assertType_typeAssertionFailed", - "type": "error" - }, - { - "inputs": [], - "name": "TypedMemView__assertValid_validityAssertionFailed", - "type": "error" - }, - { - "inputs": [], - "name": "TypedMemView__index_indexMoreThan32Bytes", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "loc", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "len", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "slice", - "type": "uint256" - } - ], - "name": "TypedMemView__index_overrun", - "type": "error" - }, - { - "inputs": [], - "name": "TypedMemView__unsafeCopyTo_identityOOG", - "type": "error" - }, - { - "inputs": [], - "name": "TypedMemView__unsafeCopyTo_invalidPointer", - "type": "error" - }, - { - "inputs": [], - "name": "TypedMemView__unsafeCopyTo_nullPointer", - "type": "error" - }, - { - "inputs": [], - "name": "NULL", - "outputs": [ - { - "internalType": "bytes29", - "name": "", - "type": "bytes29" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60fe610052600b82828239805160001a607314610045577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063f26be3fc146038575b600080fd5b603e6052565b6040516049919060af565b60405180910390f35b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000081565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000082169050919050565b60a9816076565b82525050565b600060208201905060c2600083018460a2565b9291505056fea2646970667358221220b4c6d51394dd56dea414ace3c64f6f6657812e662d881bbae525d54dbb571f8364736f6c63430008110033", - "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063f26be3fc146038575b600080fd5b603e6052565b6040516049919060af565b60405180910390f35b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000081565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000082169050919050565b60a9816076565b82525050565b600060208201905060c2600083018460a2565b9291505056fea2646970667358221220b4c6d51394dd56dea414ace3c64f6f6657812e662d881bbae525d54dbb571f8364736f6c63430008110033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/config/stargate.ts b/config/stargate.ts index a788b058..9b25736f 100644 --- a/config/stargate.ts +++ b/config/stargate.ts @@ -102,6 +102,13 @@ const config: StargateConfig = { chainId: 84531, lzChainId: 10158, }, + // Local Deployment Script Testing + // ["hardhat"]: { + // stargateRouter: "0x7612aE2a34E5A363E137De748801FB4c86499152", + // stargateETHRouter: "0xb1b2eeF380f21747944f46d28f683cD1FBB4d03c", + // chainId: 3333, + // lzChainId: 13333, + // }, }; export default config; diff --git a/deploy/205_deploy_stargate_facet.ts b/deploy/205_deploy_stargate_facet.ts index 226d8690..79228345 100644 --- a/deploy/205_deploy_stargate_facet.ts +++ b/deploy/205_deploy_stargate_facet.ts @@ -2,6 +2,7 @@ import { DeployFunction } from "hardhat-deploy/types"; import { HardhatRuntimeEnvironment } from "hardhat/types"; import { addOrReplaceFacets } from "../utils/diamond"; import config from "../config/stargate"; +import { ChainIdConfigStruct } from "typings/StargateFacet"; const func: DeployFunction = async function(hre: HardhatRuntimeEnvironment) { const { @@ -13,7 +14,24 @@ const func: DeployFunction = async function(hre: HardhatRuntimeEnvironment) { const { from } = await getNamedAccounts(); if (!config[network.name]) { - return log("No stargate config for this network available: " + network.name); + return log( + "No stargate config for this network available: " + network.name, + ); + } + + const chainIdConfigs: ChainIdConfigStruct[] = []; + for (const networkName in config) { + if (config.hasOwnProperty(networkName)) { + const networkConfig = config[networkName]; + const { chainId, lzChainId } = networkConfig; + + const chainIds: ChainIdConfigStruct = { + chainId, + layerZeroChainId: lzChainId, + }; + + chainIdConfigs.push(chainIds); + } } await deploy("StargateFacet", { @@ -25,12 +43,16 @@ const func: DeployFunction = async function(hre: HardhatRuntimeEnvironment) { const diamond = await ethers.getContract("Diamond"); const stargateFacet = await ethers.getContract("StargateFacet"); - const ABI = ["function sgInitialize(address, uint16)"]; + const ABI = [ + "function initStargate(address, address, uint16, ChainIdConfig[])", + ]; const iface = new hre.ethers.utils.Interface(ABI); - const initData = iface.encodeFunctionData("sgInitialize", [ + const initData = iface.encodeFunctionData("initStargate", [ config[network.name].stargateRouter, + config[network.name].stargateETHRouter, config[network.name].chainId, + chainIdConfigs, ]); await addOrReplaceFacets( diff --git a/hardhat.config.ts b/hardhat.config.ts index 97565847..bd38178f 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -6,7 +6,7 @@ import "hardhat-deploy"; import "hardhat-deploy-ethers"; import "hardhat-gas-reporter"; import "solidity-coverage"; -// import "hardhat-tracer"; +import "hardhat-tracer"; import { HardhatUserConfig } from "hardhat/config"; import { utils } from "ethers"; import { @@ -16,11 +16,7 @@ import { NETWORK_CONFIGS, } from "./extensions"; -const { - HARDHAT_MNEMONIC, - MAINNET_ALCHEMY_API_KEY, - ETHERSCAN_API_KEY, -} = process.env; +const { HARDHAT_MNEMONIC, ETHERSCAN_API_KEY } = process.env; const config: HardhatUserConfig = { namedAccounts: { @@ -28,11 +24,6 @@ const config: HardhatUserConfig = { }, networks: { hardhat: { - forking: { - enabled: false, - url: `https://eth-mainnet.alchemyapi.io/v2/${MAINNET_ALCHEMY_API_KEY}`, - blockNumber: 13798171, - }, accounts: { mnemonic: HARDHAT_MNEMONIC || diff --git a/package-lock.json b/package-lock.json index 2251e20d..122de2c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,8 @@ "version": "2.0.0", "license": "MIT", "devDependencies": { - "@connext/nxtp-contracts": "0.2.1-rc.16", "@ethereumjs/tx": "3.5.2", + "@nomicfoundation/hardhat-network-helpers": "^1.0.8", "@nomiclabs/hardhat-etherscan": "2.1.7", "@nomiclabs/hardhat-web3": "2.0.0", "@openzeppelin/contracts": "4.6.0", @@ -166,27 +166,64 @@ "node": ">=6.9.0" } }, - "node_modules/@connext/nxtp-contracts": { - "version": "0.2.1-rc.16", - "resolved": "https://registry.npmjs.org/@connext/nxtp-contracts/-/nxtp-contracts-0.2.1-rc.16.tgz", - "integrity": "sha512-TTI2oGca3C/vRlO8/N1b+LvOuZNmLL0vmteHrEay1YuqHvwIij4hFP8yc9ub83WNSzbIlIVYygdkDKn6H9Rtww==", + "node_modules/@decentral.ee/web3-helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@decentral.ee/web3-helpers/-/web3-helpers-0.5.3.tgz", + "integrity": "sha512-6ZS2zpAUdWXhyZ8U7A4HzianIk3v5n051+QEezNdF3uOI7hJ7ty/MjNhxL3QqfiR+4cxKEz20UiAyZkU6/e2jA==", + "dev": true, + "dependencies": { + "web3-utils": "^1.3.4" + }, + "peerDependencies": { + "@openzeppelin/test-helpers": "^0.5.10" + } + }, + "node_modules/@ensdomains/address-encoder": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/@ensdomains/address-encoder/-/address-encoder-0.1.9.tgz", + "integrity": "sha512-E2d2gP4uxJQnDu2Kfg1tHNspefzbLT8Tyjrm5sEuim32UkU2sm5xL4VXtgc2X33fmPEw9+jUMpGs4veMbf+PYg==", + "dev": true, + "dependencies": { + "bech32": "^1.1.3", + "blakejs": "^1.1.0", + "bn.js": "^4.11.8", + "bs58": "^4.0.1", + "crypto-addr-codec": "^0.1.7", + "nano-base32": "^1.0.1", + "ripemd160": "^2.0.2" + } + }, + "node_modules/@ensdomains/ens": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", + "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", + "deprecated": "Please use @ensdomains/ens-contracts", "dev": true, "dependencies": { - "@connext/nxtp-utils": "0.2.1-rc.16", - "@gelatonetwork/relay-context": "2.1.0", - "@openzeppelin/hardhat-upgrades": "1.17.0", - "@typescript-eslint/eslint-plugin": "5.47.0", - "adv": "0.1.5", - "ajv": "8.11.2", - "dotenv": "16.0.3", - "eslint": "8.30.0", - "hardhat-deploy": "0.11.22", - "hardhat-diamond-abi": "3.0.1", - "hardhat-gas-reporter": "1.0.9", - "typechain": "8.1.1" + "bluebird": "^3.5.2", + "eth-ens-namehash": "^2.0.8", + "solc": "^0.4.20", + "testrpc": "0.0.1", + "web3-utils": "^1.0.0-beta.31" + } + }, + "node_modules/@ensdomains/ensjs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@ensdomains/ensjs/-/ensjs-2.1.0.tgz", + "integrity": "sha512-GRbGPT8Z/OJMDuxs75U/jUNEC0tbL0aj7/L/QQznGYKm/tiasp+ndLOaoULy9kKJFC0TBByqfFliEHDgoLhyog==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.4.4", + "@ensdomains/address-encoder": "^0.1.7", + "@ensdomains/ens": "0.4.5", + "@ensdomains/resolver": "0.2.4", + "content-hash": "^2.5.2", + "eth-ens-namehash": "^2.0.8", + "ethers": "^5.0.13", + "js-sha3": "^0.8.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/abi": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/abi": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", @@ -213,7 +250,7 @@ "@ethersproject/strings": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/abstract-provider": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/abstract-provider": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", @@ -238,7 +275,7 @@ "@ethersproject/web": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/abstract-signer": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/abstract-signer": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", @@ -261,7 +298,7 @@ "@ethersproject/properties": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/address": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/address": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", @@ -284,7 +321,7 @@ "@ethersproject/rlp": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/base64": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/base64": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", @@ -303,7 +340,7 @@ "@ethersproject/bytes": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/basex": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/basex": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", @@ -323,7 +360,7 @@ "@ethersproject/properties": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/bignumber": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/bignumber": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", @@ -344,7 +381,7 @@ "bn.js": "^5.2.1" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/bytes": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/bytes": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", @@ -363,7 +400,7 @@ "@ethersproject/logger": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/constants": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/constants": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", @@ -382,7 +419,7 @@ "@ethersproject/bignumber": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/contracts": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/contracts": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", @@ -410,7 +447,7 @@ "@ethersproject/transactions": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/hash": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/hash": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", @@ -437,7 +474,7 @@ "@ethersproject/strings": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/hdnode": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/hdnode": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", @@ -467,7 +504,7 @@ "@ethersproject/wordlists": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/json-wallets": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/json-wallets": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", @@ -498,7 +535,7 @@ "scrypt-js": "3.0.1" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/keccak256": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/keccak256": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", @@ -518,7 +555,7 @@ "js-sha3": "0.8.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/logger": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/logger": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", @@ -534,7 +571,7 @@ } ] }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/networks": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/networks": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", @@ -553,7 +590,7 @@ "@ethersproject/logger": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/pbkdf2": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/pbkdf2": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", @@ -573,7 +610,7 @@ "@ethersproject/sha2": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/properties": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/properties": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", @@ -592,7 +629,7 @@ "@ethersproject/logger": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/providers": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/providers": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", @@ -630,7 +667,7 @@ "ws": "7.4.6" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/random": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/random": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", @@ -650,7 +687,7 @@ "@ethersproject/logger": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/rlp": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/rlp": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", @@ -670,7 +707,7 @@ "@ethersproject/logger": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/sha2": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/sha2": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", @@ -691,7 +728,7 @@ "hash.js": "1.1.7" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/signing-key": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/signing-key": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", @@ -715,7 +752,7 @@ "hash.js": "1.1.7" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/solidity": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/solidity": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", @@ -739,7 +776,7 @@ "@ethersproject/strings": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/strings": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/strings": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", @@ -760,7 +797,7 @@ "@ethersproject/logger": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/transactions": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/transactions": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", @@ -787,7 +824,7 @@ "@ethersproject/signing-key": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/units": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/units": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", @@ -808,7 +845,7 @@ "@ethersproject/logger": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/wallet": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/wallet": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", @@ -841,7 +878,7 @@ "@ethersproject/wordlists": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/web": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/web": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", @@ -864,7 +901,7 @@ "@ethersproject/strings": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@ethersproject/wordlists": { + "node_modules/@ensdomains/ensjs/node_modules/@ethersproject/wordlists": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", @@ -887,267 +924,13 @@ "@ethersproject/strings": "^5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.47.0.tgz", - "integrity": "sha512-AHZtlXAMGkDmyLuLZsRpH3p4G/1iARIwc/T0vIem2YB+xW6pZaXYXzCBnZSF/5fdM97R9QqZWZ+h3iW10XgevQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.47.0", - "@typescript-eslint/type-utils": "5.47.0", - "@typescript-eslint/utils": "5.47.0", - "debug": "^4.3.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/@typescript-eslint/parser": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.1.tgz", - "integrity": "sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==", - "dev": true, - "peer": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.59.1", - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/typescript-estree": "5.59.1", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz", - "integrity": "sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==", - "dev": true, - "peer": true, - "dependencies": { - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/visitor-keys": "5.59.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/@typescript-eslint/types": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.1.tgz", - "integrity": "sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==", - "dev": true, - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz", - "integrity": "sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==", - "dev": true, - "peer": true, - "dependencies": { - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/visitor-keys": "5.59.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz", - "integrity": "sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==", - "dev": true, - "peer": true, - "dependencies": { - "@typescript-eslint/types": "5.59.1", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dev": true, - "dependencies": { - "follow-redirects": "^1.14.0" - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/bn.js": { + "node_modules/@ensdomains/ensjs/node_modules/bn.js": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", "dev": true }, - "node_modules/@connext/nxtp-contracts/node_modules/dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/eslint": { - "version": "8.30.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.30.0.tgz", - "integrity": "sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==", - "dev": true, - "dependencies": { - "@eslint/eslintrc": "^1.4.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/eslint/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/ethers": { + "node_modules/@ensdomains/ensjs/node_modules/ethers": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", @@ -1195,288 +978,122 @@ "@ethersproject/wordlists": "5.7.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "node_modules/@ensdomains/resolver": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", + "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==", + "deprecated": "Please use @ensdomains/ens-contracts", + "dev": true }, - "node_modules/@connext/nxtp-contracts/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/@ethereumjs/block": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.6.3.tgz", + "integrity": "sha512-CegDeryc2DVKnDkg5COQrE0bJfw/p0v3GBk2W5/Dj5dOVfEmb50Ux0GLnSPypooLnfqjwFaorGuT9FokWB3GRg==", "dev": true, "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" + "@ethereumjs/common": "^2.6.5", + "@ethereumjs/tx": "^3.5.2", + "ethereumjs-util": "^7.1.5", + "merkle-patricia-tree": "^4.2.4" } }, - "node_modules/@connext/nxtp-contracts/node_modules/hardhat-deploy": { - "version": "0.11.22", - "resolved": "https://registry.npmjs.org/hardhat-deploy/-/hardhat-deploy-0.11.22.tgz", - "integrity": "sha512-ZhHVNB7Jo2l8Is+KIAk9F8Q3d7pptyiX+nsNbIFXztCz81kaP+6kxNODRBqRCy7SOD3It4+iKCL6tWsPAA/jVQ==", + "node_modules/@ethereumjs/blockchain": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.5.3.tgz", + "integrity": "sha512-bi0wuNJ1gw4ByNCV56H0Z4Q7D+SxUbwyG12Wxzbvqc89PXLRNR20LBcSUZRKpN0+YCPo6m0XZL/JLio3B52LTw==", "dev": true, "dependencies": { - "@types/qs": "^6.9.7", - "axios": "^0.21.1", - "chalk": "^4.1.2", - "chokidar": "^3.5.2", - "debug": "^4.3.2", - "enquirer": "^2.3.6", - "ethers": "^5.5.3", - "form-data": "^4.0.0", - "fs-extra": "^10.0.0", - "match-all": "^1.2.6", - "murmur-128": "^0.2.1", - "qs": "^6.9.4", - "zksync-web3": "^0.8.1" + "@ethereumjs/block": "^3.6.2", + "@ethereumjs/common": "^2.6.4", + "@ethereumjs/ethash": "^1.1.0", + "debug": "^4.3.3", + "ethereumjs-util": "^7.1.5", + "level-mem": "^5.0.1", + "lru-cache": "^5.1.1", + "semaphore-async-await": "^1.5.1" } }, - "node_modules/@connext/nxtp-contracts/node_modules/hardhat-gas-reporter": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.9.tgz", - "integrity": "sha512-INN26G3EW43adGKBNzYWOlI3+rlLnasXTwW79YNnUhXPDa+yHESgt639dJEs37gCjhkbNKcRRJnomXEuMFBXJg==", + "node_modules/@ethereumjs/blockchain/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "dependencies": { - "array-uniq": "1.0.3", - "eth-gas-reporter": "^0.2.25", - "sha1": "^1.1.1" - }, - "peerDependencies": { - "hardhat": "^2.0.2" + "yallist": "^3.0.2" } }, - "node_modules/@connext/nxtp-contracts/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "node_modules/@ethereumjs/blockchain/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, - "node_modules/@connext/nxtp-contracts/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/@ethereumjs/common": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", + "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", "dev": true, "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" + "crc-32": "^1.2.0", + "ethereumjs-util": "^7.1.5" } }, - "node_modules/@connext/nxtp-contracts/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/@ethereumjs/ethash": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.1.0.tgz", + "integrity": "sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA==", "dev": true, "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@ethereumjs/block": "^3.5.0", + "@types/levelup": "^4.3.0", + "buffer-xor": "^2.0.1", + "ethereumjs-util": "^7.1.1", + "miller-rabin": "^4.0.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/@ethereumjs/ethash/node_modules/buffer-xor": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", + "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", "dev": true, "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "safe-buffer": "^5.1.1" } }, - "node_modules/@connext/nxtp-contracts/node_modules/typechain": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.1.1.tgz", - "integrity": "sha512-uF/sUvnXTOVF2FHKhQYnxHk4su4JjZR8vr4mA2mBaRwHTbwh0jIlqARz9XJr1tA0l7afJGvEa1dTSi4zt039LQ==", + "node_modules/@ethereumjs/tx": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz", + "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==", "dev": true, "dependencies": { - "@types/prettier": "^2.1.1", - "debug": "^4.3.1", - "fs-extra": "^7.0.0", - "glob": "7.1.7", - "js-sha3": "^0.8.0", - "lodash": "^4.17.15", - "mkdirp": "^1.0.4", - "prettier": "^2.3.1", - "ts-command-line-args": "^2.2.0", - "ts-essentials": "^7.0.1" - }, - "bin": { - "typechain": "dist/cli/cli.js" - }, - "peerDependencies": { - "typescript": ">=4.3.0" + "@ethereumjs/common": "^2.6.4", + "ethereumjs-util": "^7.1.5" } }, - "node_modules/@connext/nxtp-contracts/node_modules/typechain/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "node_modules/@ethereumjs/vm": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.9.3.tgz", + "integrity": "sha512-Ha04TeF8goEglr8eL7hkkYyjhzdZS0PsoRURzYlTF6I0VVId5KjKb0N7MrA8GMgheN+UeTncfTgYx52D/WhEmg==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/typechain/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@connext/nxtp-contracts/node_modules/typechain/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" + "@ethereumjs/block": "^3.6.3", + "@ethereumjs/blockchain": "^5.5.3", + "@ethereumjs/common": "^2.6.5", + "@ethereumjs/tx": "^3.5.2", + "async-eventemitter": "^0.2.4", + "core-js-pure": "^3.0.1", + "debug": "^4.3.3", + "ethereumjs-util": "^7.1.5", + "functional-red-black-tree": "^1.0.1", + "mcl-wasm": "^0.7.1", + "merkle-patricia-tree": "^4.2.4", + "rustbn.js": "~0.2.0" } }, - "node_modules/@connext/nxtp-contracts/node_modules/zksync-web3": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/zksync-web3/-/zksync-web3-0.8.1.tgz", - "integrity": "sha512-1A4aHPQ3MyuGjpv5X/8pVEN+MdZqMjfVmiweQSRjOlklXYu65wT9BGEOtCmMs5d3gIvLp4ssfTeuR5OCKOD2kw==", - "dev": true, - "peerDependencies": { - "ethers": "~5.7.0" - } - }, - "node_modules/@connext/nxtp-utils": { - "version": "0.2.1-rc.16", - "resolved": "https://registry.npmjs.org/@connext/nxtp-utils/-/nxtp-utils-0.2.1-rc.16.tgz", - "integrity": "sha512-xiAvZAbI8g5cBpkGEci8RYwHPAojsWioK45adZd1jsG2CFQJk0WAIV6XtHxDf+6q5CbqmZWARgn6lhxN9CfI9A==", - "dev": true, - "dependencies": { - "@maticnetwork/maticjs": "3.5.0", - "@maticnetwork/maticjs-web3": "1.0.4", - "@sinclair/typebox": "0.25.16", - "@typescript-eslint/eslint-plugin": "5.47.0", - "ajv": "8.11.2", - "ajv-formats": "2.1.1", - "axios": "1.2.1", - "chai": "4.3.7", - "chai-as-promised": "7.1.1", - "chai-subset": "1.6.0", - "eslint": "8.30.0", - "ethers": "5.7.2", - "graphql-request": "5.1.0", - "hyperid": "3.0.1", - "merkletreejs": "0.3.9", - "p-queue": "6.6.2", - "pino": "8.8.0", - "proxyquire": "2.1.3", - "secp256k1": "4.0.3", - "sinon-chai": "3.7.0", - "ts-natsutil": "1.1.1" - } - }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "node_modules/@ethersproject/abi": { + "version": "5.6.4", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.4.tgz", + "integrity": "sha512-TTeZUlCeIHG6527/2goZA6gW5F8Emoc7MrZDC7hhP84aRGvW3TEdTnZR08Ls88YXM1m2SuK42Osw/jSi3uO8gg==", "dev": true, "funding": [ { @@ -1489,21 +1106,21 @@ } ], "dependencies": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "@ethersproject/address": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/hash": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.1" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "node_modules/@ethersproject/abstract-provider": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", + "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", "dev": true, "funding": [ { @@ -1516,19 +1133,19 @@ } ], "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0" + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/networks": "^5.6.3", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/transactions": "^5.6.2", + "@ethersproject/web": "^5.6.1" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/abstract-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "node_modules/@ethersproject/abstract-signer": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", + "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", "dev": true, "funding": [ { @@ -1541,16 +1158,275 @@ } ], "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "@ethersproject/abstract-provider": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0" + } + }, + "node_modules/@ethersproject/address": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", + "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/rlp": "^5.6.1" + } + }, + "node_modules/@ethersproject/base64": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", + "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.6.1" + } + }, + "node_modules/@ethersproject/basex": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.1.tgz", + "integrity": "sha512-a52MkVz4vuBXR06nvflPMotld1FJWSj2QT0985v7P/emPZO00PucFAkbcmq2vpVU7Ts7umKiSI6SppiLykVWsA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/properties": "^5.6.0" + } + }, + "node_modules/@ethersproject/bignumber": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", + "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "bn.js": "^5.2.1" + } + }, + "node_modules/@ethersproject/bignumber/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/@ethersproject/bytes": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", + "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.6.0" + } + }, + "node_modules/@ethersproject/constants": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", + "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.6.2" + } + }, + "node_modules/@ethersproject/contracts": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.6.2.tgz", + "integrity": "sha512-hguUA57BIKi6WY0kHvZp6PwPlWF87MCeB4B7Z7AbUpTxfFXFdn/3b0GmjZPagIHS+3yhcBJDnuEfU4Xz+Ks/8g==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "^5.6.3", + "@ethersproject/abstract-provider": "^5.6.1", + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/address": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/transactions": "^5.6.2" + } + }, + "node_modules/@ethersproject/hardware-wallets": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hardware-wallets/-/hardware-wallets-5.7.0.tgz", + "integrity": "sha512-DjMMXIisRc8xFvEoLoYz1w7JDOYmaz/a0X9sp7Zu668RR8U1zCAyj5ow25HLRW+TCzEC5XiFetTXqS5kXonFCQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ledgerhq/hw-app-eth": "5.27.2", + "@ledgerhq/hw-transport": "5.26.0", + "@ledgerhq/hw-transport-u2f": "5.26.0", + "ethers": "^5.7.0" + }, + "optionalDependencies": { + "@ledgerhq/hw-transport-node-hid": "5.26.0" + } + }, + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/abstract-provider": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" + } + }, + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/abstract-signer": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/address": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", "dev": true, "funding": [ @@ -1563,6 +1439,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -1571,7 +1448,7 @@ "@ethersproject/rlp": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/base64": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/base64": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", @@ -1586,11 +1463,12 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/bytes": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/basex": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/basex": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", @@ -1605,12 +1483,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/properties": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/bignumber": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/bignumber": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", @@ -1625,13 +1504,14 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0", "bn.js": "^5.2.1" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/bytes": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/bytes": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", @@ -1646,11 +1526,12 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/logger": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/constants": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/constants": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", @@ -1665,11 +1546,12 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/bignumber": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/contracts": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/contracts": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", @@ -1684,6 +1566,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/abi": "^5.7.0", "@ethersproject/abstract-provider": "^5.7.0", @@ -1697,7 +1580,7 @@ "@ethersproject/transactions": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/hash": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/hash": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", @@ -1712,6 +1595,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/abstract-signer": "^5.7.0", "@ethersproject/address": "^5.7.0", @@ -1724,7 +1608,7 @@ "@ethersproject/strings": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/hdnode": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/hdnode": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", @@ -1739,6 +1623,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/abstract-signer": "^5.7.0", "@ethersproject/basex": "^5.7.0", @@ -1754,7 +1639,7 @@ "@ethersproject/wordlists": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/json-wallets": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/json-wallets": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", @@ -1769,6 +1654,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/abstract-signer": "^5.7.0", "@ethersproject/address": "^5.7.0", @@ -1785,7 +1671,7 @@ "scrypt-js": "3.0.1" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/keccak256": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/keccak256": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", @@ -1800,12 +1686,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/bytes": "^5.7.0", "js-sha3": "0.8.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/logger": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/logger": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", @@ -1819,9 +1706,10 @@ "type": "individual", "url": "https://www.buymeacoffee.com/ricmoo" } - ] + ], + "peer": true }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/networks": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/networks": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", @@ -1836,11 +1724,12 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/logger": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/pbkdf2": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/pbkdf2": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", @@ -1855,12 +1744,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/sha2": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/properties": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/properties": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", @@ -1875,11 +1765,12 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/logger": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/providers": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/providers": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", @@ -1894,6 +1785,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/abstract-provider": "^5.7.0", "@ethersproject/abstract-signer": "^5.7.0", @@ -1917,7 +1809,7 @@ "ws": "7.4.6" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/random": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/random": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", @@ -1932,12 +1824,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/rlp": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/rlp": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", @@ -1952,12 +1845,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/sha2": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/sha2": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", @@ -1972,13 +1866,14 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0", "hash.js": "1.1.7" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/signing-key": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/signing-key": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", @@ -1993,6 +1888,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0", @@ -2002,7 +1898,7 @@ "hash.js": "1.1.7" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/solidity": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/solidity": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", @@ -2017,6 +1913,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -2026,7 +1923,7 @@ "@ethersproject/strings": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/strings": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/strings": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", @@ -2041,13 +1938,14 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/constants": "^5.7.0", "@ethersproject/logger": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/transactions": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/transactions": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", @@ -2062,6 +1960,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/address": "^5.7.0", "@ethersproject/bignumber": "^5.7.0", @@ -2074,7 +1973,7 @@ "@ethersproject/signing-key": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/units": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/units": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", @@ -2089,13 +1988,14 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/constants": "^5.7.0", "@ethersproject/logger": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/wallet": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/wallet": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", @@ -2110,6 +2010,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/abstract-provider": "^5.7.0", "@ethersproject/abstract-signer": "^5.7.0", @@ -2128,7 +2029,7 @@ "@ethersproject/wordlists": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/web": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/web": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", @@ -2143,6 +2044,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/base64": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -2151,7 +2053,7 @@ "@ethersproject/strings": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@ethersproject/wordlists": { + "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/wordlists": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", @@ -2166,6 +2068,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/hash": "^5.7.0", @@ -2174,249 +2077,14 @@ "@ethersproject/strings": "^5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.47.0.tgz", - "integrity": "sha512-AHZtlXAMGkDmyLuLZsRpH3p4G/1iARIwc/T0vIem2YB+xW6pZaXYXzCBnZSF/5fdM97R9QqZWZ+h3iW10XgevQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.47.0", - "@typescript-eslint/type-utils": "5.47.0", - "@typescript-eslint/utils": "5.47.0", - "debug": "^4.3.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@connext/nxtp-utils/node_modules/@typescript-eslint/parser": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.1.tgz", - "integrity": "sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==", - "dev": true, - "peer": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.59.1", - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/typescript-estree": "5.59.1", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@connext/nxtp-utils/node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz", - "integrity": "sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==", - "dev": true, - "peer": true, - "dependencies": { - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/visitor-keys": "5.59.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@connext/nxtp-utils/node_modules/@typescript-eslint/types": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.1.tgz", - "integrity": "sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==", - "dev": true, - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@connext/nxtp-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz", - "integrity": "sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==", - "dev": true, - "peer": true, - "dependencies": { - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/visitor-keys": "5.59.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@connext/nxtp-utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz", - "integrity": "sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==", - "dev": true, - "peer": true, - "dependencies": { - "@typescript-eslint/types": "5.59.1", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@connext/nxtp-utils/node_modules/bn.js": { + "node_modules/@ethersproject/hardware-wallets/node_modules/bn.js": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "node_modules/@connext/nxtp-utils/node_modules/eslint": { - "version": "8.30.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.30.0.tgz", - "integrity": "sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==", - "dev": true, - "dependencies": { - "@eslint/eslintrc": "^1.4.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@connext/nxtp-utils/node_modules/eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@connext/nxtp-utils/node_modules/eslint/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@connext/nxtp-utils/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } + "peer": true }, - "node_modules/@connext/nxtp-utils/node_modules/ethers": { + "node_modules/@ethersproject/hardware-wallets/node_modules/ethers": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", @@ -2431,6 +2099,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "peer": true, "dependencies": { "@ethersproject/abi": "5.7.0", "@ethersproject/abstract-provider": "5.7.0", @@ -2464,312 +2133,36 @@ "@ethersproject/wordlists": "5.7.0" } }, - "node_modules/@connext/nxtp-utils/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/@ethersproject/hash": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", + "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/address": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.1" } }, - "node_modules/@connext/nxtp-utils/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@connext/nxtp-utils/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/@connext/nxtp-utils/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@connext/nxtp-utils/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@connext/nxtp-utils/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@connext/nxtp-utils/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@decentral.ee/web3-helpers": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@decentral.ee/web3-helpers/-/web3-helpers-0.5.3.tgz", - "integrity": "sha512-6ZS2zpAUdWXhyZ8U7A4HzianIk3v5n051+QEezNdF3uOI7hJ7ty/MjNhxL3QqfiR+4cxKEz20UiAyZkU6/e2jA==", - "dev": true, - "dependencies": { - "web3-utils": "^1.3.4" - }, - "peerDependencies": { - "@openzeppelin/test-helpers": "^0.5.10" - } - }, - "node_modules/@ensdomains/address-encoder": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/@ensdomains/address-encoder/-/address-encoder-0.1.9.tgz", - "integrity": "sha512-E2d2gP4uxJQnDu2Kfg1tHNspefzbLT8Tyjrm5sEuim32UkU2sm5xL4VXtgc2X33fmPEw9+jUMpGs4veMbf+PYg==", - "dev": true, - "dependencies": { - "bech32": "^1.1.3", - "blakejs": "^1.1.0", - "bn.js": "^4.11.8", - "bs58": "^4.0.1", - "crypto-addr-codec": "^0.1.7", - "nano-base32": "^1.0.1", - "ripemd160": "^2.0.2" - } - }, - "node_modules/@ensdomains/ens": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", - "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", - "deprecated": "Please use @ensdomains/ens-contracts", - "dev": true, - "dependencies": { - "bluebird": "^3.5.2", - "eth-ens-namehash": "^2.0.8", - "solc": "^0.4.20", - "testrpc": "0.0.1", - "web3-utils": "^1.0.0-beta.31" - } - }, - "node_modules/@ensdomains/ensjs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@ensdomains/ensjs/-/ensjs-2.1.0.tgz", - "integrity": "sha512-GRbGPT8Z/OJMDuxs75U/jUNEC0tbL0aj7/L/QQznGYKm/tiasp+ndLOaoULy9kKJFC0TBByqfFliEHDgoLhyog==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.4.4", - "@ensdomains/address-encoder": "^0.1.7", - "@ensdomains/ens": "0.4.5", - "@ensdomains/resolver": "0.2.4", - "content-hash": "^2.5.2", - "eth-ens-namehash": "^2.0.8", - "ethers": "^5.0.13", - "js-sha3": "^0.8.0" - } - }, - "node_modules/@ensdomains/resolver": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", - "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==", - "deprecated": "Please use @ensdomains/ens-contracts", - "dev": true - }, - "node_modules/@eslint/eslintrc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", - "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/@ethereumjs/block": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.6.3.tgz", - "integrity": "sha512-CegDeryc2DVKnDkg5COQrE0bJfw/p0v3GBk2W5/Dj5dOVfEmb50Ux0GLnSPypooLnfqjwFaorGuT9FokWB3GRg==", - "dev": true, - "dependencies": { - "@ethereumjs/common": "^2.6.5", - "@ethereumjs/tx": "^3.5.2", - "ethereumjs-util": "^7.1.5", - "merkle-patricia-tree": "^4.2.4" - } - }, - "node_modules/@ethereumjs/blockchain": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.5.3.tgz", - "integrity": "sha512-bi0wuNJ1gw4ByNCV56H0Z4Q7D+SxUbwyG12Wxzbvqc89PXLRNR20LBcSUZRKpN0+YCPo6m0XZL/JLio3B52LTw==", - "dev": true, - "dependencies": { - "@ethereumjs/block": "^3.6.2", - "@ethereumjs/common": "^2.6.4", - "@ethereumjs/ethash": "^1.1.0", - "debug": "^4.3.3", - "ethereumjs-util": "^7.1.5", - "level-mem": "^5.0.1", - "lru-cache": "^5.1.1", - "semaphore-async-await": "^1.5.1" - } - }, - "node_modules/@ethereumjs/blockchain/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@ethereumjs/blockchain/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/@ethereumjs/common": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", - "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", - "dev": true, - "dependencies": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.5" - } - }, - "node_modules/@ethereumjs/ethash": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.1.0.tgz", - "integrity": "sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA==", - "dev": true, - "dependencies": { - "@ethereumjs/block": "^3.5.0", - "@types/levelup": "^4.3.0", - "buffer-xor": "^2.0.1", - "ethereumjs-util": "^7.1.1", - "miller-rabin": "^4.0.0" - } - }, - "node_modules/@ethereumjs/ethash/node_modules/buffer-xor": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", - "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.1" - } - }, - "node_modules/@ethereumjs/tx": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz", - "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==", - "dev": true, - "dependencies": { - "@ethereumjs/common": "^2.6.4", - "ethereumjs-util": "^7.1.5" - } - }, - "node_modules/@ethereumjs/vm": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.9.3.tgz", - "integrity": "sha512-Ha04TeF8goEglr8eL7hkkYyjhzdZS0PsoRURzYlTF6I0VVId5KjKb0N7MrA8GMgheN+UeTncfTgYx52D/WhEmg==", - "dev": true, - "dependencies": { - "@ethereumjs/block": "^3.6.3", - "@ethereumjs/blockchain": "^5.5.3", - "@ethereumjs/common": "^2.6.5", - "@ethereumjs/tx": "^3.5.2", - "async-eventemitter": "^0.2.4", - "core-js-pure": "^3.0.1", - "debug": "^4.3.3", - "ethereumjs-util": "^7.1.5", - "functional-red-black-tree": "^1.0.1", - "mcl-wasm": "^0.7.1", - "merkle-patricia-tree": "^4.2.4", - "rustbn.js": "~0.2.0" - } - }, - "node_modules/@ethersproject/abi": { - "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.4.tgz", - "integrity": "sha512-TTeZUlCeIHG6527/2goZA6gW5F8Emoc7MrZDC7hhP84aRGvW3TEdTnZR08Ls88YXM1m2SuK42Osw/jSi3uO8gg==", + "node_modules/@ethersproject/hdnode": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.6.2.tgz", + "integrity": "sha512-tERxW8Ccf9CxW2db3WsN01Qao3wFeRsfYY9TCuhmG0xNpl2IO8wgXU3HtWIZ49gUWPggRy4Yg5axU0ACaEKf1Q==", "dev": true, "funding": [ { @@ -2782,21 +2175,24 @@ } ], "dependencies": { - "@ethersproject/address": "^5.6.1", + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/basex": "^5.6.1", "@ethersproject/bignumber": "^5.6.2", "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/hash": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", "@ethersproject/logger": "^5.6.0", + "@ethersproject/pbkdf2": "^5.6.1", "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" + "@ethersproject/sha2": "^5.6.1", + "@ethersproject/signing-key": "^5.6.2", + "@ethersproject/strings": "^5.6.1", + "@ethersproject/transactions": "^5.6.2", + "@ethersproject/wordlists": "^5.6.1" } }, - "node_modules/@ethersproject/abstract-provider": { + "node_modules/@ethersproject/json-wallets": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz", - "integrity": "sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.6.1.tgz", + "integrity": "sha512-KfyJ6Zwz3kGeX25nLihPwZYlDqamO6pfGKNnVMWWfEVVp42lTfCZVXXy5Ie8IZTN0HKwAngpIPi7gk4IJzgmqQ==", "dev": true, "funding": [ { @@ -2809,19 +2205,25 @@ } ], "dependencies": { - "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/address": "^5.6.1", "@ethersproject/bytes": "^5.6.1", + "@ethersproject/hdnode": "^5.6.2", + "@ethersproject/keccak256": "^5.6.1", "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.3", + "@ethersproject/pbkdf2": "^5.6.1", "@ethersproject/properties": "^5.6.0", + "@ethersproject/random": "^5.6.1", + "@ethersproject/strings": "^5.6.1", "@ethersproject/transactions": "^5.6.2", - "@ethersproject/web": "^5.6.1" + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" } }, - "node_modules/@ethersproject/abstract-signer": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz", - "integrity": "sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==", + "node_modules/@ethersproject/keccak256": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", + "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", "dev": true, "funding": [ { @@ -2834,17 +2236,14 @@ } ], "dependencies": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0" + "js-sha3": "0.8.0" } }, - "node_modules/@ethersproject/address": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", - "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", + "node_modules/@ethersproject/logger": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", + "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", "dev": true, "funding": [ { @@ -2855,19 +2254,12 @@ "type": "individual", "url": "https://www.buymeacoffee.com/ricmoo" } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/rlp": "^5.6.1" - } + ] }, - "node_modules/@ethersproject/base64": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz", - "integrity": "sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==", + "node_modules/@ethersproject/networks": { + "version": "5.6.4", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", + "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", "dev": true, "funding": [ { @@ -2880,13 +2272,13 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.6.1" + "@ethersproject/logger": "^5.6.0" } }, - "node_modules/@ethersproject/basex": { + "node_modules/@ethersproject/pbkdf2": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.1.tgz", - "integrity": "sha512-a52MkVz4vuBXR06nvflPMotld1FJWSj2QT0985v7P/emPZO00PucFAkbcmq2vpVU7Ts7umKiSI6SppiLykVWsA==", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.6.1.tgz", + "integrity": "sha512-k4gRQ+D93zDRPNUfmduNKq065uadC2YjMP/CqwwX5qG6R05f47boq6pLZtV/RnC4NZAYOPH1Cyo54q0c9sshRQ==", "dev": true, "funding": [ { @@ -2900,13 +2292,13 @@ ], "dependencies": { "@ethersproject/bytes": "^5.6.1", - "@ethersproject/properties": "^5.6.0" + "@ethersproject/sha2": "^5.6.1" } }, - "node_modules/@ethersproject/bignumber": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz", - "integrity": "sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==", + "node_modules/@ethersproject/properties": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", + "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", "dev": true, "funding": [ { @@ -2919,21 +2311,13 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "bn.js": "^5.2.1" + "@ethersproject/logger": "^5.6.0" } }, - "node_modules/@ethersproject/bignumber/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "node_modules/@ethersproject/bytes": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", + "node_modules/@ethersproject/providers": { + "version": "5.6.8", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.8.tgz", + "integrity": "sha512-Wf+CseT/iOJjrGtAOf3ck9zS7AgPmr2fZ3N97r4+YXN3mBePTG2/bJ8DApl9mVwYL+RpYbNxMEkEp4mPGdwG/w==", "dev": true, "funding": [ { @@ -2946,13 +2330,32 @@ } ], "dependencies": { - "@ethersproject/logger": "^5.6.0" + "@ethersproject/abstract-provider": "^5.6.1", + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/address": "^5.6.1", + "@ethersproject/base64": "^5.6.1", + "@ethersproject/basex": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/hash": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/networks": "^5.6.3", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/random": "^5.6.1", + "@ethersproject/rlp": "^5.6.1", + "@ethersproject/sha2": "^5.6.1", + "@ethersproject/strings": "^5.6.1", + "@ethersproject/transactions": "^5.6.2", + "@ethersproject/web": "^5.6.1", + "bech32": "1.1.4", + "ws": "7.4.6" } }, - "node_modules/@ethersproject/constants": { + "node_modules/@ethersproject/random": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz", - "integrity": "sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.1.tgz", + "integrity": "sha512-/wtPNHwbmng+5yi3fkipA8YBT59DdkGRoC2vWk09Dci/q5DlgnMkhIycjHlavrvrjJBkFjO/ueLyT+aUDfc4lA==", "dev": true, "funding": [ { @@ -2965,13 +2368,14 @@ } ], "dependencies": { - "@ethersproject/bignumber": "^5.6.2" + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0" } }, - "node_modules/@ethersproject/contracts": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.6.2.tgz", - "integrity": "sha512-hguUA57BIKi6WY0kHvZp6PwPlWF87MCeB4B7Z7AbUpTxfFXFdn/3b0GmjZPagIHS+3yhcBJDnuEfU4Xz+Ks/8g==", + "node_modules/@ethersproject/rlp": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", + "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", "dev": true, "funding": [ { @@ -2984,22 +2388,14 @@ } ], "dependencies": { - "@ethersproject/abi": "^5.6.3", - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.2" + "@ethersproject/logger": "^5.6.0" } }, - "node_modules/@ethersproject/hardware-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hardware-wallets/-/hardware-wallets-5.7.0.tgz", - "integrity": "sha512-DjMMXIisRc8xFvEoLoYz1w7JDOYmaz/a0X9sp7Zu668RR8U1zCAyj5ow25HLRW+TCzEC5XiFetTXqS5kXonFCQ==", + "node_modules/@ethersproject/sha2": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.1.tgz", + "integrity": "sha512-5K2GyqcW7G4Yo3uenHegbXRPDgARpWUiXc6RiF7b6i/HXUoWlb7uCARh7BAHg7/qT/Q5ydofNwiZcim9qpjB6g==", "dev": true, "funding": [ { @@ -3011,21 +2407,16 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "peer": true, "dependencies": { - "@ledgerhq/hw-app-eth": "5.27.2", - "@ledgerhq/hw-transport": "5.26.0", - "@ledgerhq/hw-transport-u2f": "5.26.0", - "ethers": "^5.7.0" - }, - "optionalDependencies": { - "@ledgerhq/hw-transport-node-hid": "5.26.0" + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "hash.js": "1.1.7" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "node_modules/@ethersproject/signing-key": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", + "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", "dev": true, "funding": [ { @@ -3037,23 +2428,25 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "peer": true, "dependencies": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "node_modules/@ethersproject/signing-key/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/@ethersproject/solidity": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.6.1.tgz", + "integrity": "sha512-KWqVLkUUoLBfL1iwdzUVlkNqAUIFMpbbeH0rgCfKmJp0vFtY4AsaN91gHKo9ZZLkC4UOm3cI3BmMV4N53BOq4g==", "dev": true, "funding": [ { @@ -3065,21 +2458,19 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "peer": true, "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0" + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/sha2": "^5.6.1", + "@ethersproject/strings": "^5.6.1" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/abstract-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "node_modules/@ethersproject/strings": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", + "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", "dev": true, "funding": [ { @@ -3091,19 +2482,16 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "peer": true, "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0" + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/logger": "^5.6.0" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "node_modules/@ethersproject/transactions": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", + "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", "dev": true, "funding": [ { @@ -3115,19 +2503,22 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "peer": true, "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/rlp": "^5.7.0" + "@ethersproject/address": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/rlp": "^5.6.1", + "@ethersproject/signing-key": "^5.6.2" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/base64": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "node_modules/@ethersproject/units": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.6.1.tgz", + "integrity": "sha512-rEfSEvMQ7obcx3KWD5EWWx77gqv54K6BKiZzKxkQJqtpriVsICrktIQmKl8ReNToPeIYPnFHpXvKpi068YFZXw==", "dev": true, "funding": [ { @@ -3139,15 +2530,16 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "peer": true, "dependencies": { - "@ethersproject/bytes": "^5.7.0" + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/constants": "^5.6.1", + "@ethersproject/logger": "^5.6.0" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/basex": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", + "node_modules/@ethersproject/wallet": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.6.2.tgz", + "integrity": "sha512-lrgh0FDQPuOnHcF80Q3gHYsSUODp6aJLAdDmDV0xKCN/T7D99ta1jGVhulg3PY8wiXEngD0DfM0I2XKXlrqJfg==", "dev": true, "funding": [ { @@ -3159,16 +2551,28 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "peer": true, "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" + "@ethersproject/abstract-provider": "^5.6.1", + "@ethersproject/abstract-signer": "^5.6.2", + "@ethersproject/address": "^5.6.1", + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/hash": "^5.6.1", + "@ethersproject/hdnode": "^5.6.2", + "@ethersproject/json-wallets": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/random": "^5.6.1", + "@ethersproject/signing-key": "^5.6.2", + "@ethersproject/transactions": "^5.6.2", + "@ethersproject/wordlists": "^5.6.1" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "node_modules/@ethersproject/web": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", + "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", "dev": true, "funding": [ { @@ -3180,17 +2584,18 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "peer": true, "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" + "@ethersproject/base64": "^5.6.1", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.1" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "node_modules/@ethersproject/wordlists": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.6.1.tgz", + "integrity": "sha512-wiPRgBpNbNwCQFoCr8bcWO8o5I810cqO6mkdtKfLKFlLxeCWcnzDi4Alu8iyNzlhYuS9npCwivMbRWF19dyblw==", "dev": true, "funding": [ { @@ -3202,4986 +2607,4474 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "peer": true, "dependencies": { - "@ethersproject/logger": "^5.7.0" + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/hash": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.1" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true, "dependencies": { - "@ethersproject/bignumber": "^5.7.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/contracts": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", + "node_modules/@ledgerhq/cryptoassets": { + "version": "5.53.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/cryptoassets/-/cryptoassets-5.53.0.tgz", + "integrity": "sha512-M3ibc3LRuHid5UtL7FI3IC6nMEppvly98QHFoSa7lJU0HDzQxY6zHec/SPM4uuJUC8sXoGVAiRJDkgny54damw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "peer": true, "dependencies": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0" + "invariant": "2" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "node_modules/@ledgerhq/devices": { + "version": "5.51.1", + "resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-5.51.1.tgz", + "integrity": "sha512-4w+P0VkbjzEXC7kv8T1GJ/9AVaP9I6uasMZ/JcdwZBS3qwvKo5A5z9uGhP5c7TvItzcmPb44b5Mw2kT+WjUuAA==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "peer": true, "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "@ledgerhq/errors": "^5.50.0", + "@ledgerhq/logs": "^5.50.0", + "rxjs": "6", + "semver": "^7.3.5" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", + "node_modules/@ledgerhq/errors": { + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/errors/-/errors-5.50.0.tgz", + "integrity": "sha512-gu6aJ/BHuRlpU7kgVpy2vcYk6atjB4iauP2ymF7Gk0ez0Y/6VSMVSJvubeEQN+IV60+OBK0JgeIZG7OiHaw8ow==", + "dev": true, + "peer": true + }, + "node_modules/@ledgerhq/hw-app-eth": { + "version": "5.27.2", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-app-eth/-/hw-app-eth-5.27.2.tgz", + "integrity": "sha512-llNdrE894cCN8j6yxJEUniciyLVcLmu5N0UmIJLOObztG+5rOF4bX54h4SreTWK+E10Z0CzHSeyE5Lz/tVcqqQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "peer": true, "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" + "@ledgerhq/cryptoassets": "^5.27.2", + "@ledgerhq/errors": "^5.26.0", + "@ledgerhq/hw-transport": "^5.26.0", + "bignumber.js": "^9.0.1", + "rlp": "^2.2.6" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/json-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", + "node_modules/@ledgerhq/hw-transport": { + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-5.26.0.tgz", + "integrity": "sha512-NFeJOJmyEfAX8uuIBTpocWHcz630sqPcXbu864Q+OCBm4EK5UOKV1h/pX7e0xgNIKY8zhJ/O4p4cIZp9tnXLHQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "peer": true, "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" + "@ledgerhq/devices": "^5.26.0", + "@ledgerhq/errors": "^5.26.0", + "events": "^3.2.0" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/keccak256": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "node_modules/@ledgerhq/hw-transport-node-hid": { + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-5.26.0.tgz", + "integrity": "sha512-qhaefZVZatJ6UuK8Wb6WSFNOLWc2mxcv/xgsfKi5HJCIr4bPF/ecIeN+7fRcEaycxj4XykY6Z4A7zDVulfFH4w==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "optional": true, "peer": true, "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "js-sha3": "0.8.0" + "@ledgerhq/devices": "^5.26.0", + "@ledgerhq/errors": "^5.26.0", + "@ledgerhq/hw-transport": "^5.26.0", + "@ledgerhq/hw-transport-node-hid-noevents": "^5.26.0", + "@ledgerhq/logs": "^5.26.0", + "lodash": "^4.17.20", + "node-hid": "1.3.0", + "usb": "^1.6.3" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true - }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "node_modules/@ledgerhq/hw-transport-node-hid-noevents": { + "version": "5.51.1", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid-noevents/-/hw-transport-node-hid-noevents-5.51.1.tgz", + "integrity": "sha512-9wFf1L8ZQplF7XOY2sQGEeOhpmBRzrn+4X43kghZ7FBDoltrcK+s/D7S+7ffg3j2OySyP6vIIIgloXylao5Scg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "optional": true, "peer": true, "dependencies": { - "@ethersproject/logger": "^5.7.0" + "@ledgerhq/devices": "^5.51.1", + "@ledgerhq/errors": "^5.50.0", + "@ledgerhq/hw-transport": "^5.51.1", + "@ledgerhq/logs": "^5.50.0", + "node-hid": "2.1.1" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", + "node_modules/@ledgerhq/hw-transport-node-hid-noevents/node_modules/@ledgerhq/hw-transport": { + "version": "5.51.1", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-5.51.1.tgz", + "integrity": "sha512-6wDYdbWrw9VwHIcoDnqWBaDFyviyjZWv6H9vz9Vyhe4Qd7TIFmbTl/eWs6hZvtZBza9K8y7zD8ChHwRI4s9tSw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "optional": true, "peer": true, "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" + "@ledgerhq/devices": "^5.51.1", + "@ledgerhq/errors": "^5.50.0", + "events": "^3.3.0" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "node_modules/@ledgerhq/hw-transport-node-hid-noevents/node_modules/decompress-response": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", + "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "optional": true, "peer": true, "dependencies": { - "@ethersproject/logger": "^5.7.0" + "mimic-response": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", + "node_modules/@ledgerhq/hw-transport-node-hid-noevents/node_modules/mimic-response": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "optional": true, "peer": true, - "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bech32": "1.1.4", - "ws": "7.4.6" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/random": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", + "node_modules/@ledgerhq/hw-transport-node-hid-noevents/node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "optional": true, + "peer": true + }, + "node_modules/@ledgerhq/hw-transport-node-hid-noevents/node_modules/node-hid": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/node-hid/-/node-hid-2.1.1.tgz", + "integrity": "sha512-Skzhqow7hyLZU93eIPthM9yjot9lszg9xrKxESleEs05V2NcbUptZc5HFqzjOkSmL0sFlZFr3kmvaYebx06wrw==", + "dev": true, + "hasInstallScript": true, + "optional": true, "peer": true, "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "bindings": "^1.5.0", + "node-addon-api": "^3.0.2", + "prebuild-install": "^6.0.0" + }, + "bin": { + "hid-showdevices": "src/show-devices.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "node_modules/@ledgerhq/hw-transport-node-hid-noevents/node_modules/prebuild-install": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.4.tgz", + "integrity": "sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "optional": true, "peer": true, "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "detect-libc": "^1.0.3", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^2.21.0", + "npmlog": "^4.0.1", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^3.0.3", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=6" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", + "node_modules/@ledgerhq/hw-transport-node-hid-noevents/node_modules/simple-get": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", + "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "optional": true, "peer": true, "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "hash.js": "1.1.7" + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "node_modules/@ledgerhq/hw-transport-u2f": { + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-u2f/-/hw-transport-u2f-5.26.0.tgz", + "integrity": "sha512-QTxP1Rsh+WZ184LUOelYVLeaQl3++V3I2jFik+l9JZtakwEHjD0XqOT750xpYNL/vfHsy31Wlz+oicdxGzFk+w==", + "deprecated": "@ledgerhq/hw-transport-u2f is deprecated. Please use @ledgerhq/hw-transport-webusb or @ledgerhq/hw-transport-webhid. https://github.com/LedgerHQ/ledgerjs/blob/master/docs/migrate_webusb.md", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "peer": true, "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" + "@ledgerhq/errors": "^5.26.0", + "@ledgerhq/hw-transport": "^5.26.0", + "@ledgerhq/logs": "^5.26.0", + "u2f-api": "0.2.7" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", + "node_modules/@ledgerhq/logs": { + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/logs/-/logs-5.50.0.tgz", + "integrity": "sha512-swKHYCOZUGyVt4ge0u8a7AwNcA//h4nx5wIi0sruGye1IJ5Cva0GyK9L2/WdX+kWVTKp92ZiEo1df31lrWGPgA==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true, - "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } + "peer": true }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "node_modules/@metamask/eth-sig-util": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", + "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true, "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "ethereumjs-abi": "^0.6.8", + "ethereumjs-util": "^6.2.1", + "ethjs-util": "^0.1.6", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.15.1" + }, + "engines": { + "node": ">=12.0.0" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "node_modules/@metamask/eth-sig-util/node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true, "dependencies": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0" + "@types/node": "*" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", + "node_modules/@metamask/eth-sig-util/node_modules/ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true, "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", + "node_modules/@noble/hashes": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.1.tgz", + "integrity": "sha512-Lkp9+NijmV7eSVZqiUvt3UCuuHeJpUVmRrvh430gyJjJiuJMqkeHf6/A9lQ/smmbWV/0spDeJscscPzyB4waZg==", "dev": true, "funding": [ { "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" + "url": "https://paulmillr.com/funding/" } - ], - "peer": true, - "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/json-wallets": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } + ] }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "node_modules/@noble/secp256k1": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.6.0.tgz", + "integrity": "sha512-DWSsg8zMHOYMYBqIQi96BQuthZrp98LCeMNcUOaffCIVYQ5yxDbNikLF+H7jEnmNNmXbtVic46iCuVWzar+MgA==", "dev": true, "funding": [ { "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" + "url": "https://paulmillr.com/funding/" } - ], - "peer": true, - "dependencies": { - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } + ] }, - "node_modules/@ethersproject/hardware-wallets/node_modules/@ethersproject/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true, "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "peer": true + "engines": { + "node": ">= 8" + } }, - "node_modules/@ethersproject/hardware-wallets/node_modules/ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "peer": true, "dependencies": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@ethersproject/hash": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz", - "integrity": "sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==", + "node_modules/@nomicfoundation/hardhat-network-helpers": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.8.tgz", + "integrity": "sha512-MNqQbzUJZnCMIYvlniC3U+kcavz/PhhQSsY90tbEtUyMj/IQqsLwIRZa4ctjABh3Bz0KCh9OXUZ7Yk/d9hr45Q==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" + "ethereumjs-util": "^7.1.4" + }, + "peerDependencies": { + "hardhat": "^2.9.5" } }, - "node_modules/@ethersproject/hdnode": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.6.2.tgz", - "integrity": "sha512-tERxW8Ccf9CxW2db3WsN01Qao3wFeRsfYY9TCuhmG0xNpl2IO8wgXU3HtWIZ49gUWPggRy4Yg5axU0ACaEKf1Q==", + "node_modules/@nomiclabs/hardhat-etherscan": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-2.1.7.tgz", + "integrity": "sha512-9nt9EXubnkd2aTMnQIqKtp80bQFhun88krfB31FN2wB0T54b8YuK0riG2d+EKq/D3t1Kb00oA7oFSFpHLIbLDQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/basex": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/pbkdf2": "^5.6.1", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/sha2": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2", - "@ethersproject/strings": "^5.6.1", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/wordlists": "^5.6.1" + "@ethersproject/abi": "^5.1.2", + "@ethersproject/address": "^5.0.2", + "cbor": "^5.0.2", + "debug": "^4.1.1", + "fs-extra": "^7.0.1", + "node-fetch": "^2.6.0", + "semver": "^6.3.0" + }, + "peerDependencies": { + "hardhat": "^2.0.4" } }, - "node_modules/@ethersproject/json-wallets": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.6.1.tgz", - "integrity": "sha512-KfyJ6Zwz3kGeX25nLihPwZYlDqamO6pfGKNnVMWWfEVVp42lTfCZVXXy5Ie8IZTN0HKwAngpIPi7gk4IJzgmqQ==", + "node_modules/@nomiclabs/hardhat-etherscan/node_modules/cbor": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz", + "integrity": "sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/hdnode": "^5.6.2", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/pbkdf2": "^5.6.1", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/random": "^5.6.1", - "@ethersproject/strings": "^5.6.1", - "@ethersproject/transactions": "^5.6.2", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" + "bignumber.js": "^9.0.1", + "nofilter": "^1.0.4" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@ethersproject/keccak256": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz", - "integrity": "sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==", + "node_modules/@nomiclabs/hardhat-etherscan/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "js-sha3": "0.8.0" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "node_modules/@ethersproject/logger": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ] - }, - "node_modules/@ethersproject/networks": { - "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.4.tgz", - "integrity": "sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==", + "node_modules/@nomiclabs/hardhat-etherscan/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@ethersproject/pbkdf2": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.6.1.tgz", - "integrity": "sha512-k4gRQ+D93zDRPNUfmduNKq065uadC2YjMP/CqwwX5qG6R05f47boq6pLZtV/RnC4NZAYOPH1Cyo54q0c9sshRQ==", + "node_modules/@nomiclabs/hardhat-etherscan/node_modules/nofilter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", + "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/sha2": "^5.6.1" + "engines": { + "node": ">=8" } }, - "node_modules/@ethersproject/properties": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", + "node_modules/@nomiclabs/hardhat-etherscan/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@ethersproject/providers": { - "version": "5.6.8", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.8.tgz", - "integrity": "sha512-Wf+CseT/iOJjrGtAOf3ck9zS7AgPmr2fZ3N97r4+YXN3mBePTG2/bJ8DApl9mVwYL+RpYbNxMEkEp4mPGdwG/w==", + "node_modules/@nomiclabs/hardhat-etherscan/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/base64": "^5.6.1", - "@ethersproject/basex": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/hash": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.3", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/random": "^5.6.1", - "@ethersproject/rlp": "^5.6.1", - "@ethersproject/sha2": "^5.6.1", - "@ethersproject/strings": "^5.6.1", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/web": "^5.6.1", - "bech32": "1.1.4", - "ws": "7.4.6" + "engines": { + "node": ">= 4.0.0" } }, - "node_modules/@ethersproject/random": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.1.tgz", - "integrity": "sha512-/wtPNHwbmng+5yi3fkipA8YBT59DdkGRoC2vWk09Dci/q5DlgnMkhIycjHlavrvrjJBkFjO/ueLyT+aUDfc4lA==", + "node_modules/@nomiclabs/hardhat-web3": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-web3/-/hardhat-web3-2.0.0.tgz", + "integrity": "sha512-zt4xN+D+fKl3wW2YlTX3k9APR3XZgPkxJYf36AcliJn3oujnKEVRZaHu0PhgLjO+gR+F/kiYayo9fgd2L8970Q==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0" + "@types/bignumber.js": "^5.0.0" + }, + "peerDependencies": { + "hardhat": "^2.0.0", + "web3": "^1.0.0-beta.36" } }, - "node_modules/@ethersproject/rlp": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz", - "integrity": "sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==", + "node_modules/@openzeppelin/contract-loader": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@openzeppelin/contract-loader/-/contract-loader-0.6.3.tgz", + "integrity": "sha512-cOFIjBjwbGgZhDZsitNgJl0Ye1rd5yu/Yx5LMgeq3u0ZYzldm4uObzHDFq4gjDdoypvyORjjJa3BlFA7eAnVIg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0" + "find-up": "^4.1.0", + "fs-extra": "^8.1.0" } }, - "node_modules/@ethersproject/sha2": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.1.tgz", - "integrity": "sha512-5K2GyqcW7G4Yo3uenHegbXRPDgARpWUiXc6RiF7b6i/HXUoWlb7uCARh7BAHg7/qT/Q5ydofNwiZcim9qpjB6g==", + "node_modules/@openzeppelin/contract-loader/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "hash.js": "1.1.7" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@ethersproject/signing-key": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz", - "integrity": "sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==", + "node_modules/@openzeppelin/contract-loader/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "node_modules/@ethersproject/signing-key/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true + "node_modules/@openzeppelin/contract-loader/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } }, - "node_modules/@ethersproject/solidity": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.6.1.tgz", - "integrity": "sha512-KWqVLkUUoLBfL1iwdzUVlkNqAUIFMpbbeH0rgCfKmJp0vFtY4AsaN91gHKo9ZZLkC4UOm3cI3BmMV4N53BOq4g==", + "node_modules/@openzeppelin/contract-loader/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/sha2": "^5.6.1", - "@ethersproject/strings": "^5.6.1" + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@ethersproject/strings": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz", - "integrity": "sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==", + "node_modules/@openzeppelin/contract-loader/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0" + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@ethersproject/transactions": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz", - "integrity": "sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==", + "node_modules/@openzeppelin/contract-loader/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/rlp": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2" + "engines": { + "node": ">=8" } }, - "node_modules/@ethersproject/units": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.6.1.tgz", - "integrity": "sha512-rEfSEvMQ7obcx3KWD5EWWx77gqv54K6BKiZzKxkQJqtpriVsICrktIQmKl8ReNToPeIYPnFHpXvKpi068YFZXw==", + "node_modules/@openzeppelin/contract-loader/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@openzeppelin/contracts": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.6.0.tgz", + "integrity": "sha512-8vi4d50NNya/bQqCmaVzvHNmwHvS0OBKb7HNtuNwEE3scXWrP31fKQoGxNMT+KbzmrNZzatE3QK5p2gFONI/hg==", + "dev": true + }, + "node_modules/@openzeppelin/contracts-upgradeable": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.6.0.tgz", + "integrity": "sha512-5OnVuO4HlkjSCJO165a4i2Pu1zQGzMs//o54LPrwUgxvEO2P3ax1QuaSI0cEHHTveA77guS0PnNugpR2JMsPfA==", + "dev": true + }, + "node_modules/@openzeppelin/test-helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.15.tgz", + "integrity": "sha512-10fS0kyOjc/UObo9iEWPNbC6MCeiQ7z97LDOJBj68g+AAs5pIGEI2h3V6G9TYTIq8VxOdwMQbfjKrx7Y3YZJtA==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/constants": "^5.6.1", - "@ethersproject/logger": "^5.6.0" + "@openzeppelin/contract-loader": "^0.6.2", + "@truffle/contract": "^4.0.35", + "ansi-colors": "^3.2.3", + "chai": "^4.2.0", + "chai-bn": "^0.2.1", + "ethjs-abi": "^0.2.1", + "lodash.flatten": "^4.4.0", + "semver": "^5.6.0", + "web3": "^1.2.5", + "web3-utils": "^1.2.5" } }, - "node_modules/@ethersproject/wallet": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.6.2.tgz", - "integrity": "sha512-lrgh0FDQPuOnHcF80Q3gHYsSUODp6aJLAdDmDV0xKCN/T7D99ta1jGVhulg3PY8wiXEngD0DfM0I2XKXlrqJfg==", + "node_modules/@openzeppelin/test-helpers/node_modules/ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@openzeppelin/test-helpers/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@scure/base": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", + "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==", "dev": true, "funding": [ { "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" + "url": "https://paulmillr.com/funding/" } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.6.1", - "@ethersproject/abstract-signer": "^5.6.2", - "@ethersproject/address": "^5.6.1", - "@ethersproject/bignumber": "^5.6.2", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/hash": "^5.6.1", - "@ethersproject/hdnode": "^5.6.2", - "@ethersproject/json-wallets": "^5.6.1", - "@ethersproject/keccak256": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/random": "^5.6.1", - "@ethersproject/signing-key": "^5.6.2", - "@ethersproject/transactions": "^5.6.2", - "@ethersproject/wordlists": "^5.6.1" - } + ] }, - "node_modules/@ethersproject/web": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz", - "integrity": "sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==", + "node_modules/@scure/bip32": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.0.tgz", + "integrity": "sha512-ftTW3kKX54YXLCxH6BB7oEEoJfoE2pIgw7MINKAs5PsS6nqKPuKk1haTF/EuHmYqG330t5GSrdmtRuHaY1a62Q==", "dev": true, "funding": [ { "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" + "url": "https://paulmillr.com/funding/" } ], "dependencies": { - "@ethersproject/base64": "^5.6.1", - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" + "@noble/hashes": "~1.1.1", + "@noble/secp256k1": "~1.6.0", + "@scure/base": "~1.1.0" } }, - "node_modules/@ethersproject/wordlists": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.6.1.tgz", - "integrity": "sha512-wiPRgBpNbNwCQFoCr8bcWO8o5I810cqO6mkdtKfLKFlLxeCWcnzDi4Alu8iyNzlhYuS9npCwivMbRWF19dyblw==", + "node_modules/@scure/bip39": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.0.tgz", + "integrity": "sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==", "dev": true, "funding": [ { "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" + "url": "https://paulmillr.com/funding/" } ], "dependencies": { - "@ethersproject/bytes": "^5.6.1", - "@ethersproject/hash": "^5.6.1", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.1" + "@noble/hashes": "~1.1.1", + "@scure/base": "~1.1.0" } }, - "node_modules/@gelatonetwork/relay-context": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@gelatonetwork/relay-context/-/relay-context-2.1.0.tgz", - "integrity": "sha512-Pisn66Haq1OEBqrj9t8aPS2B7qX1j/AI0mDZNczeAws8JMn7PhZXLKcWYleAWUitlzFS59w4qS3Y/l7/8oWEiw==", + "node_modules/@sentry/core": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", + "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", "dev": true, "dependencies": { - "@openzeppelin/contracts": "4.8.0" + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" } }, - "node_modules/@gelatonetwork/relay-context/node_modules/@openzeppelin/contracts": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.8.0.tgz", - "integrity": "sha512-AGuwhRRL+NaKx73WKRNzeCxOCOCxpaqF+kp8TJ89QzAipSwZy/NoflkWaL9bywXFRhIzXt8j38sfF7KBKCPWLw==", - "dev": true - }, - "node_modules/@graphql-typed-document-node/core": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", - "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", + "node_modules/@sentry/hub": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", + "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", "dev": true, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + "dependencies": { + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "node_modules/@sentry/minimal": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", + "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "@sentry/hub": "5.30.0", + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" }, "engines": { - "node": ">=10.10.0" + "node": ">=6" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@sentry/node": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", + "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", "dev": true, - "engines": { - "node": ">=12.22" + "dependencies": { + "@sentry/core": "5.30.0", + "@sentry/hub": "5.30.0", + "@sentry/tracing": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "cookie": "^0.4.1", + "https-proxy-agent": "^5.0.0", + "lru_map": "^0.3.3", + "tslib": "^1.9.3" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "engines": { + "node": ">=6" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true + "node_modules/@sentry/node/node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "node_modules/@sentry/tracing": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", + "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" }, "engines": { - "node": ">= 10.14.2" + "node": ">=6" } }, - "node_modules/@ledgerhq/cryptoassets": { - "version": "5.53.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/cryptoassets/-/cryptoassets-5.53.0.tgz", - "integrity": "sha512-M3ibc3LRuHid5UtL7FI3IC6nMEppvly98QHFoSa7lJU0HDzQxY6zHec/SPM4uuJUC8sXoGVAiRJDkgny54damw==", + "node_modules/@sentry/types": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", + "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", "dev": true, - "peer": true, - "dependencies": { - "invariant": "2" + "engines": { + "node": ">=6" } }, - "node_modules/@ledgerhq/devices": { - "version": "5.51.1", - "resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-5.51.1.tgz", - "integrity": "sha512-4w+P0VkbjzEXC7kv8T1GJ/9AVaP9I6uasMZ/JcdwZBS3qwvKo5A5z9uGhP5c7TvItzcmPb44b5Mw2kT+WjUuAA==", + "node_modules/@sentry/utils": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", + "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", "dev": true, - "peer": true, "dependencies": { - "@ledgerhq/errors": "^5.50.0", - "@ledgerhq/logs": "^5.50.0", - "rxjs": "6", - "semver": "^7.3.5" + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" } }, - "node_modules/@ledgerhq/errors": { - "version": "5.50.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/errors/-/errors-5.50.0.tgz", - "integrity": "sha512-gu6aJ/BHuRlpU7kgVpy2vcYk6atjB4iauP2ymF7Gk0ez0Y/6VSMVSJvubeEQN+IV60+OBK0JgeIZG7OiHaw8ow==", + "node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", "dev": true, - "peer": true - }, - "node_modules/@ledgerhq/hw-app-eth": { - "version": "5.27.2", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-app-eth/-/hw-app-eth-5.27.2.tgz", - "integrity": "sha512-llNdrE894cCN8j6yxJEUniciyLVcLmu5N0UmIJLOObztG+5rOF4bX54h4SreTWK+E10Z0CzHSeyE5Lz/tVcqqQ==", - "dev": true, - "peer": true, - "dependencies": { - "@ledgerhq/cryptoassets": "^5.27.2", - "@ledgerhq/errors": "^5.26.0", - "@ledgerhq/hw-transport": "^5.26.0", - "bignumber.js": "^9.0.1", - "rlp": "^2.2.6" - } - }, - "node_modules/@ledgerhq/hw-transport": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-5.26.0.tgz", - "integrity": "sha512-NFeJOJmyEfAX8uuIBTpocWHcz630sqPcXbu864Q+OCBm4EK5UOKV1h/pX7e0xgNIKY8zhJ/O4p4cIZp9tnXLHQ==", - "dev": true, - "peer": true, - "dependencies": { - "@ledgerhq/devices": "^5.26.0", - "@ledgerhq/errors": "^5.26.0", - "events": "^3.2.0" + "engines": { + "node": ">=6" } }, - "node_modules/@ledgerhq/hw-transport-node-hid": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-5.26.0.tgz", - "integrity": "sha512-qhaefZVZatJ6UuK8Wb6WSFNOLWc2mxcv/xgsfKi5HJCIr4bPF/ecIeN+7fRcEaycxj4XykY6Z4A7zDVulfFH4w==", + "node_modules/@solidity-parser/parser": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.2.tgz", + "integrity": "sha512-10cr0s+MtRtqjEw0WFJrm2rwULN30xx7btd/v9cmqME2617/2M5MbHDkFIGIGTa7lwNw4bN9mVGfhlLzrYw8pA==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "@ledgerhq/devices": "^5.26.0", - "@ledgerhq/errors": "^5.26.0", - "@ledgerhq/hw-transport": "^5.26.0", - "@ledgerhq/hw-transport-node-hid-noevents": "^5.26.0", - "@ledgerhq/logs": "^5.26.0", - "lodash": "^4.17.20", - "node-hid": "1.3.0", - "usb": "^1.6.3" + "antlr4ts": "^0.5.0-alpha.4" } }, - "node_modules/@ledgerhq/hw-transport-node-hid-noevents": { - "version": "5.51.1", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid-noevents/-/hw-transport-node-hid-noevents-5.51.1.tgz", - "integrity": "sha512-9wFf1L8ZQplF7XOY2sQGEeOhpmBRzrn+4X43kghZ7FBDoltrcK+s/D7S+7ffg3j2OySyP6vIIIgloXylao5Scg==", + "node_modules/@superfluid-finance/ethereum-contracts": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@superfluid-finance/ethereum-contracts/-/ethereum-contracts-1.2.2.tgz", + "integrity": "sha512-5dJLUC08F3kMFCmepwr/uRwOcaGzR/SpDl/v3fsKXZ5x89NCBlJzHRYD7BJHY6ZJY8t3dL/CXpovW9+b+nIxTw==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "@ledgerhq/devices": "^5.51.1", - "@ledgerhq/errors": "^5.50.0", - "@ledgerhq/hw-transport": "^5.51.1", - "@ledgerhq/logs": "^5.50.0", - "node-hid": "2.1.1" + "@decentral.ee/web3-helpers": "0.5.3", + "@openzeppelin/contracts": "4.5.0", + "@superfluid-finance/js-sdk": "0.5.13", + "@truffle/contract": "4.5.5", + "ethereumjs-tx": "2.1.2", + "ethereumjs-util": "7.1.4", + "hardhat": "^2.9.3", + "stack-trace": "0.0.10" } }, - "node_modules/@ledgerhq/hw-transport-node-hid-noevents/node_modules/@ledgerhq/hw-transport": { - "version": "5.51.1", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-5.51.1.tgz", - "integrity": "sha512-6wDYdbWrw9VwHIcoDnqWBaDFyviyjZWv6H9vz9Vyhe4Qd7TIFmbTl/eWs6hZvtZBza9K8y7zD8ChHwRI4s9tSw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@ledgerhq/devices": "^5.51.1", - "@ledgerhq/errors": "^5.50.0", - "events": "^3.3.0" - } + "node_modules/@superfluid-finance/ethereum-contracts/node_modules/@openzeppelin/contracts": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.5.0.tgz", + "integrity": "sha512-fdkzKPYMjrRiPK6K4y64e6GzULR7R7RwxSigHS8DDp7aWDeoReqsQI+cxHV1UuhAqX69L1lAaWDxenfP+xiqzA==", + "dev": true }, - "node_modules/@ledgerhq/hw-transport-node-hid-noevents/node_modules/decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "node_modules/@superfluid-finance/ethereum-contracts/node_modules/@truffle/contract": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/@truffle/contract/-/contract-4.5.5.tgz", + "integrity": "sha512-CAG8UTP7OpCh+aSkMt+nYe6PA7QzZcnbAjFpXOJ5JSjLBlCNzu/Mh5zNG03JyVl/uIrCZzG6WIKpV7f8SOlRfA==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "mimic-response": "^2.0.0" - }, - "engines": { - "node": ">=8" + "@ensdomains/ensjs": "^2.0.1", + "@truffle/blockchain-utils": "^0.1.2", + "@truffle/contract-schema": "^3.4.7", + "@truffle/debug-utils": "^6.0.17", + "@truffle/error": "^0.1.0", + "@truffle/interface-adapter": "^0.5.13", + "bignumber.js": "^7.2.1", + "debug": "^4.3.1", + "ethers": "^4.0.32", + "web3": "1.5.3", + "web3-core-helpers": "1.5.3", + "web3-core-promievent": "1.5.3", + "web3-eth-abi": "1.5.3", + "web3-utils": "1.5.3" } }, - "node_modules/@ledgerhq/hw-transport-node-hid-noevents/node_modules/mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "node_modules/@superfluid-finance/ethereum-contracts/node_modules/bignumber.js": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", + "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==", "dev": true, - "optional": true, - "peer": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "*" } }, - "node_modules/@ledgerhq/hw-transport-node-hid-noevents/node_modules/node-addon-api": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/@ledgerhq/hw-transport-node-hid-noevents/node_modules/node-hid": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/node-hid/-/node-hid-2.1.1.tgz", - "integrity": "sha512-Skzhqow7hyLZU93eIPthM9yjot9lszg9xrKxESleEs05V2NcbUptZc5HFqzjOkSmL0sFlZFr3kmvaYebx06wrw==", + "node_modules/@superfluid-finance/ethereum-contracts/node_modules/ethereumjs-util": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.4.tgz", + "integrity": "sha512-p6KmuPCX4mZIqsQzXfmSx9Y0l2hqf+VkAiwSisW3UKUFdk8ZkAt+AYaor83z2nSi6CU2zSsXMlD80hAbNEGM0A==", "dev": true, - "hasInstallScript": true, - "optional": true, - "peer": true, "dependencies": { - "bindings": "^1.5.0", - "node-addon-api": "^3.0.2", - "prebuild-install": "^6.0.0" - }, - "bin": { - "hid-showdevices": "src/show-devices.js" + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "rlp": "^2.2.4" }, "engines": { - "node": ">=10" + "node": ">=10.0.0" } }, - "node_modules/@ledgerhq/hw-transport-node-hid-noevents/node_modules/prebuild-install": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.4.tgz", - "integrity": "sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==", + "node_modules/@superfluid-finance/ethereum-contracts/node_modules/ethereumjs-util/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/@superfluid-finance/ethereum-contracts/node_modules/ethers": { + "version": "4.0.49", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", + "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "detect-libc": "^1.0.3", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^2.21.0", - "npmlog": "^4.0.1", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^3.0.3", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=6" + "aes-js": "3.0.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" } }, - "node_modules/@ledgerhq/hw-transport-node-hid-noevents/node_modules/simple-get": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", - "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", + "node_modules/@superfluid-finance/ethereum-contracts/node_modules/hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "decompress-response": "^4.2.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/@ledgerhq/hw-transport-u2f": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-u2f/-/hw-transport-u2f-5.26.0.tgz", - "integrity": "sha512-QTxP1Rsh+WZ184LUOelYVLeaQl3++V3I2jFik+l9JZtakwEHjD0XqOT750xpYNL/vfHsy31Wlz+oicdxGzFk+w==", - "deprecated": "@ledgerhq/hw-transport-u2f is deprecated. Please use @ledgerhq/hw-transport-webusb or @ledgerhq/hw-transport-webhid. https://github.com/LedgerHQ/ledgerjs/blob/master/docs/migrate_webusb.md", + "node_modules/@superfluid-finance/ethereum-contracts/node_modules/js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", + "dev": true + }, + "node_modules/@superfluid-finance/ethereum-contracts/node_modules/scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "dev": true + }, + "node_modules/@superfluid-finance/ethereum-contracts/node_modules/setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", + "dev": true + }, + "node_modules/@superfluid-finance/ethereum-contracts/node_modules/uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true + }, + "node_modules/@superfluid-finance/ethereum-contracts/node_modules/web3": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.5.3.tgz", + "integrity": "sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w==", "dev": true, - "peer": true, + "hasInstallScript": true, "dependencies": { - "@ledgerhq/errors": "^5.26.0", - "@ledgerhq/hw-transport": "^5.26.0", - "@ledgerhq/logs": "^5.26.0", - "u2f-api": "0.2.7" + "web3-bzz": "1.5.3", + "web3-core": "1.5.3", + "web3-eth": "1.5.3", + "web3-eth-personal": "1.5.3", + "web3-net": "1.5.3", + "web3-shh": "1.5.3", + "web3-utils": "1.5.3" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/@ledgerhq/logs": { - "version": "5.50.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/logs/-/logs-5.50.0.tgz", - "integrity": "sha512-swKHYCOZUGyVt4ge0u8a7AwNcA//h4nx5wIi0sruGye1IJ5Cva0GyK9L2/WdX+kWVTKp92ZiEo1df31lrWGPgA==", - "dev": true, - "peer": true - }, - "node_modules/@maticnetwork/maticjs": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@maticnetwork/maticjs/-/maticjs-3.5.0.tgz", - "integrity": "sha512-f7wZucF38Ii/nIBV9qqQzlEE33/IWCVaToSXIhGC3DaZZME9VlUf4cgt/n43hQouwYpmkpgEoTDDs3QzTr5UcQ==", + "node_modules/@superfluid-finance/ethereum-contracts/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, "dependencies": { - "@ethereumjs/block": "^3.6.2", - "ethereumjs-util": "^7.1.4", - "merkle-patricia-tree": "^4.2.4", - "node-fetch": "^2.6.1" + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" }, "engines": { "node": ">=8.0.0" } }, - "node_modules/@maticnetwork/maticjs-web3": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@maticnetwork/maticjs-web3/-/maticjs-web3-1.0.4.tgz", - "integrity": "sha512-cMnp42jjGNfVZRL80yUYfD9abcyUC2VpKvjFQtU44A3A0M9sbCtOOMMkE4k8FWoccxIPi891rtc+nowdNahKxg==", + "node_modules/@superfluid-finance/js-sdk": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/@superfluid-finance/js-sdk/-/js-sdk-0.5.13.tgz", + "integrity": "sha512-bkRYFD7aZIVnlxTwJUlViYBq7mXilNvDdBcJhBQ3vFlTPZPrNg+zL319u5C+vQGlkDwtvAD6J6nR0CnuQ0TR6w==", "dev": true, "dependencies": { - "web3": "^1.8.0" + "@ethersproject/abi": "^5.6.0", + "@ethersproject/hash": "^5.6.0", + "@truffle/contract": "4.5.5", + "auto-bind": "^4.0.0", + "node-fetch": "^2.6.7" }, "peerDependencies": { - "@maticnetwork/maticjs": "^3.2.0" + "@ethersproject/contracts": "^5.0.0", + "@truffle/contract": "^4.0.0" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/@ethereumjs/common": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.5.0.tgz", - "integrity": "sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg==", + "node_modules/@superfluid-finance/js-sdk/node_modules/@truffle/contract": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/@truffle/contract/-/contract-4.5.5.tgz", + "integrity": "sha512-CAG8UTP7OpCh+aSkMt+nYe6PA7QzZcnbAjFpXOJ5JSjLBlCNzu/Mh5zNG03JyVl/uIrCZzG6WIKpV7f8SOlRfA==", "dev": true, "dependencies": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.1" + "@ensdomains/ensjs": "^2.0.1", + "@truffle/blockchain-utils": "^0.1.2", + "@truffle/contract-schema": "^3.4.7", + "@truffle/debug-utils": "^6.0.17", + "@truffle/error": "^0.1.0", + "@truffle/interface-adapter": "^0.5.13", + "bignumber.js": "^7.2.1", + "debug": "^4.3.1", + "ethers": "^4.0.32", + "web3": "1.5.3", + "web3-core-helpers": "1.5.3", + "web3-core-promievent": "1.5.3", + "web3-eth-abi": "1.5.3", + "web3-utils": "1.5.3" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/@ethereumjs/tx": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.3.2.tgz", - "integrity": "sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog==", + "node_modules/@superfluid-finance/js-sdk/node_modules/bignumber.js": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", + "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==", "dev": true, - "dependencies": { - "@ethereumjs/common": "^2.5.0", - "ethereumjs-util": "^7.1.2" + "engines": { + "node": "*" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "node_modules/@superfluid-finance/js-sdk/node_modules/ethers": { + "version": "4.0.49", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", + "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" + "dependencies": { + "aes-js": "3.0.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "node_modules/@superfluid-finance/js-sdk/node_modules/hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", "dev": true, "dependencies": { - "defer-to-connect": "^2.0.1" - }, - "engines": { - "node": ">=14.16" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "node_modules/@superfluid-finance/js-sdk/node_modules/js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", "dev": true }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "node_modules/@superfluid-finance/js-sdk/node_modules/scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", "dev": true }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/cacheable-request": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", - "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "node_modules/@superfluid-finance/js-sdk/node_modules/setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", + "dev": true + }, + "node_modules/@superfluid-finance/js-sdk/node_modules/uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true + }, + "node_modules/@superfluid-finance/js-sdk/node_modules/web3": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.5.3.tgz", + "integrity": "sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w==", "dev": true, + "hasInstallScript": true, "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" + "web3-bzz": "1.5.3", + "web3-core": "1.5.3", + "web3-eth": "1.5.3", + "web3-eth-personal": "1.5.3", + "web3-net": "1.5.3", + "web3-shh": "1.5.3", + "web3-utils": "1.5.3" }, "engines": { - "node": ">=8" + "node": ">=8.0.0" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "node_modules/@superfluid-finance/js-sdk/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, "dependencies": { - "pump": "^3.0.0" + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8.0.0" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "node_modules/@superfluid-finance/sdk-core": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@superfluid-finance/sdk-core/-/sdk-core-0.4.2.tgz", + "integrity": "sha512-MGO0xuyRWCRgay0SJx2JoIiODsGsKvZov6RLnI4Xapk/sB3E/9Le954hUwE9hkb+Cc9R2YpxenFCDly2KyFVzw==", "dev": true, + "dependencies": { + "ajv": "^8.11.0", + "browserify": "^17.0.0", + "ethers": "^5.6.2", + "graphql-request": "^3.7.0", + "lodash": "^4.17.21", + "tsify": "^5.0.4" + }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "node_modules/@superfluid-finance/sdk-core/node_modules/ethers": { + "version": "5.6.9", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.9.tgz", + "integrity": "sha512-lMGC2zv9HC5EC+8r429WaWu3uWJUCgUCt8xxKCFqkrFuBDZXDYIdzDUECxzjf2BMF8IVBByY1EBoGSL3RTm8RA==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@ethersproject/abi": "5.6.4", + "@ethersproject/abstract-provider": "5.6.1", + "@ethersproject/abstract-signer": "5.6.2", + "@ethersproject/address": "5.6.1", + "@ethersproject/base64": "5.6.1", + "@ethersproject/basex": "5.6.1", + "@ethersproject/bignumber": "5.6.2", + "@ethersproject/bytes": "5.6.1", + "@ethersproject/constants": "5.6.1", + "@ethersproject/contracts": "5.6.2", + "@ethersproject/hash": "5.6.1", + "@ethersproject/hdnode": "5.6.2", + "@ethersproject/json-wallets": "5.6.1", + "@ethersproject/keccak256": "5.6.1", + "@ethersproject/logger": "5.6.0", + "@ethersproject/networks": "5.6.4", + "@ethersproject/pbkdf2": "5.6.1", + "@ethersproject/properties": "5.6.0", + "@ethersproject/providers": "5.6.8", + "@ethersproject/random": "5.6.1", + "@ethersproject/rlp": "5.6.1", + "@ethersproject/sha2": "5.6.1", + "@ethersproject/signing-key": "5.6.2", + "@ethersproject/solidity": "5.6.1", + "@ethersproject/strings": "5.6.1", + "@ethersproject/transactions": "5.6.2", + "@ethersproject/units": "5.6.1", + "@ethersproject/wallet": "5.6.2", + "@ethersproject/web": "5.6.1", + "@ethersproject/wordlists": "5.6.1" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "node_modules/@superfluid-finance/sdk-core/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "node_modules/@superfluid-finance/sdk-core/node_modules/graphql-request": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-3.7.0.tgz", + "integrity": "sha512-dw5PxHCgBneN2DDNqpWu8QkbbJ07oOziy8z+bK/TAXufsOLaETuVO4GkXrbs0WjhdKhBMN3BkpN/RIvUHkmNUQ==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "cross-fetch": "^3.0.6", + "extract-files": "^9.0.0", + "form-data": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "graphql": "14 - 16" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/got": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-12.1.0.tgz", - "integrity": "sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig==", + "node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", "dev": true, "dependencies": { - "@sindresorhus/is": "^4.6.0", - "@szmarczak/http-timer": "^5.0.1", - "@types/cacheable-request": "^6.0.2", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^6.0.4", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "form-data-encoder": "1.7.1", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^2.0.0" + "defer-to-connect": "^1.0.1" }, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" + "node": ">=6" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/keyv": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", - "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", + "node_modules/@truffle/abi-utils": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/@truffle/abi-utils/-/abi-utils-0.2.13.tgz", + "integrity": "sha512-WzjyNvx+naXmG/XKF+xLI+tJZLUlPGkd29rY4xBCiY9m/xWk0ZUL6gvVvnRr3leLJkBweJUSBiGUW770V8hHOg==", "dev": true, "dependencies": { - "json-buffer": "3.0.1" + "change-case": "3.0.2", + "faker": "5.5.3", + "fast-check": "^2.12.1" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "node_modules/@truffle/blockchain-utils": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@truffle/blockchain-utils/-/blockchain-utils-0.1.3.tgz", + "integrity": "sha512-K21Wf10u6VmS12/f9OrLN98f1RCqzrmuM2zlsly4b7BF/Xdh55Iq/jNSOnsNUJa+6Iaqqz6zeidquCYu9nTFng==", + "dev": true + }, + "node_modules/@truffle/codec": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.13.1.tgz", + "integrity": "sha512-ZqpfofLEwzcdRYgInHOOoNYLqCEJ+nkYl4NTJkrszMAu9MLnHQjZqrMtfem/H8HDU3OOIgbpFlzipMdrnecjJw==", "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "@truffle/abi-utils": "^0.2.13", + "@truffle/compile-common": "^0.7.31", + "big.js": "^6.0.3", + "bn.js": "^5.1.3", + "cbor": "^5.1.0", + "debug": "^4.3.1", + "lodash": "^4.17.21", + "semver": "^7.3.4", + "utf8": "^3.0.0", + "web3-utils": "1.5.3" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "node_modules/@truffle/codec/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/@truffle/codec/node_modules/cbor": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz", + "integrity": "sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "bignumber.js": "^9.0.1", + "nofilter": "^1.0.4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "node_modules/@truffle/codec/node_modules/nofilter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", + "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "node_modules/@truffle/codec/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, "engines": { - "node": ">=12.20" + "node": ">=8.0.0" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "node_modules/@truffle/codec/node_modules/web3-utils/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/@truffle/compile-common": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@truffle/compile-common/-/compile-common-0.7.31.tgz", + "integrity": "sha512-BGhWPd6NoI4VZfYBg+RgrCyLaxxq40vDOp6Ouofa1NQdN6LSPwlqWf0JWvPIKFNRp+TA9aWRHGmZntYyE94OZg==", "dev": true, "dependencies": { - "lowercase-keys": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@truffle/error": "^0.1.0", + "colors": "1.4.0" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/responselike/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "node_modules/@truffle/contract": { + "version": "4.5.14", + "resolved": "https://registry.npmjs.org/@truffle/contract/-/contract-4.5.14.tgz", + "integrity": "sha512-ofdH7As7d+uyG+6wlZWYoBtN/Nb1efyzooHym4du5Hck4l+EHm8brSYZsHPJrEBA8UN05jYUtBrjUuzbJ/eq0w==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "@ensdomains/ensjs": "^2.0.1", + "@truffle/blockchain-utils": "^0.1.3", + "@truffle/contract-schema": "^3.4.7", + "@truffle/debug-utils": "^6.0.26", + "@truffle/error": "^0.1.0", + "@truffle/interface-adapter": "^0.5.17", + "bignumber.js": "^7.2.1", + "debug": "^4.3.1", + "ethers": "^4.0.32", + "web3": "1.5.3", + "web3-core-helpers": "1.5.3", + "web3-core-promievent": "1.5.3", + "web3-eth-abi": "1.5.3", + "web3-utils": "1.5.3" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "node_modules/@truffle/contract-schema": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/@truffle/contract-schema/-/contract-schema-3.4.7.tgz", + "integrity": "sha512-vbOHMq/a8rVPh+cFMBDDGPqqiKrXXOc+f1kB4znfh3ewOX8rJxZhGJvdMm3WNMJHR5RstqDV7ZIZ7ePwtSXH8Q==", "dev": true, - "bin": { - "uuid": "dist/bin/uuid" + "dependencies": { + "ajv": "^6.10.0", + "debug": "^4.3.1" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.9.0.tgz", - "integrity": "sha512-E9IvVy/d2ozfQQsCiV+zh/LmlZGv9fQxI0UedDVjm87yOKf4AYbBNEn1iWtHveiGzAk2CEMZMUzAZzaQNSSYog==", + "node_modules/@truffle/contract-schema/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "hasInstallScript": true, "dependencies": { - "web3-bzz": "1.9.0", - "web3-core": "1.9.0", - "web3-eth": "1.9.0", - "web3-eth-personal": "1.9.0", - "web3-net": "1.9.0", - "web3-shh": "1.9.0", - "web3-utils": "1.9.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=8.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-bzz": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.9.0.tgz", - "integrity": "sha512-9Zli9dikX8GdHwBb5/WPzpSVuy3EWMKY3P4EokCQra31fD7DLizqAAaTUsFwnK7xYkw5ogpHgelw9uKHHzNajg==", + "node_modules/@truffle/contract-schema/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/@truffle/contract/node_modules/bignumber.js": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", + "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==", "dev": true, - "hasInstallScript": true, - "dependencies": { - "@types/node": "^12.12.6", - "got": "12.1.0", - "swarm-js": "^0.1.40" - }, "engines": { - "node": ">=8.0.0" + "node": "*" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-core": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.9.0.tgz", - "integrity": "sha512-DZ+TPmq/ZLlx4LSVzFgrHCP/QFpKDbGWO4HoquZSdu24cjk5SZ+FEU1SZB2OaK3/bgBh+25mRbmv8y56ysUu1w==", + "node_modules/@truffle/contract/node_modules/ethers": { + "version": "4.0.49", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", + "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", "dev": true, "dependencies": { - "@types/bn.js": "^5.1.1", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-core-requestmanager": "1.9.0", - "web3-utils": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" + "aes-js": "3.0.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-core-helpers": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.9.0.tgz", - "integrity": "sha512-NeJzylAp9Yj9xAt2uTT+kyug3X0DLnfBdnAcGZuY6HhoNPDIfQRA9CkJjLngVRlGTLZGjNp9x9eR+RyZQgUlXg==", + "node_modules/@truffle/contract/node_modules/hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", "dev": true, "dependencies": { - "web3-eth-iban": "1.9.0", - "web3-utils": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-core-method": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.9.0.tgz", - "integrity": "sha512-sswbNsY2xRBBhGeaLt9c/eDc+0yDDhi6keUBAkgIRa9ueSx/VKzUY9HMqiV6bXDcGT2fJyejq74FfEB4lc/+/w==", + "node_modules/@truffle/contract/node_modules/js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", + "dev": true + }, + "node_modules/@truffle/contract/node_modules/scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "dev": true + }, + "node_modules/@truffle/contract/node_modules/setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", + "dev": true + }, + "node_modules/@truffle/contract/node_modules/uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true + }, + "node_modules/@truffle/contract/node_modules/web3": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.5.3.tgz", + "integrity": "sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w==", "dev": true, + "hasInstallScript": true, "dependencies": { - "@ethersproject/transactions": "^5.6.2", - "web3-core-helpers": "1.9.0", - "web3-core-promievent": "1.9.0", - "web3-core-subscriptions": "1.9.0", - "web3-utils": "1.9.0" + "web3-bzz": "1.5.3", + "web3-core": "1.5.3", + "web3-eth": "1.5.3", + "web3-eth-personal": "1.5.3", + "web3-net": "1.5.3", + "web3-shh": "1.5.3", + "web3-utils": "1.5.3" }, "engines": { "node": ">=8.0.0" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-core-promievent": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.9.0.tgz", - "integrity": "sha512-PHG1Mn23IGwMZhnPDN8dETKypqsFbHfiyRqP+XsVMPmTHkVfzDQTCBU/c2r6hUktBDoGKut5xZQpGfhFk71KbQ==", + "node_modules/@truffle/contract/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, "dependencies": { - "eventemitter3": "4.0.4" + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" }, "engines": { "node": ">=8.0.0" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-core-requestmanager": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.9.0.tgz", - "integrity": "sha512-hcJ5PCtTIJpj+8qWxoseqlCovDo94JJjTX7dZOLXgwp8ah7E3WRYozhGyZocerx+KebKyg1mCQIhkDpMwjfo9Q==", + "node_modules/@truffle/debug-utils": { + "version": "6.0.26", + "resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-6.0.26.tgz", + "integrity": "sha512-+wxeXLRl23rzpOf76PkUTUqbsEzS8zAgLnZKFMEyS/vkVY5CpNVIhddCQcqQcDaIn9BRcmbuB5xMYR6hs8wrSw==", "dev": true, "dependencies": { - "util": "^0.12.5", - "web3-core-helpers": "1.9.0", - "web3-providers-http": "1.9.0", - "web3-providers-ipc": "1.9.0", - "web3-providers-ws": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" + "@truffle/codec": "^0.13.1", + "@trufflesuite/chromafi": "^3.0.0", + "bn.js": "^5.1.3", + "chalk": "^2.4.2", + "debug": "^4.3.1", + "highlightjs-solidity": "^2.0.5" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-core-subscriptions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.9.0.tgz", - "integrity": "sha512-MaIo29yz7hTV8X8bioclPDbHFOVuHmnbMv+D3PDH12ceJFJAXGyW8GL5KU1DYyWIj4TD1HM4WknyVA/YWBiiLA==", + "node_modules/@truffle/debug-utils/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.9.0" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=4" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-eth": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.9.0.tgz", - "integrity": "sha512-c5gSWk9bLNr6VPATHmZ1n7LTIefIZQnJMzfnvkoBcIFGKJbGmsuRhv6lEXsKdAO/FlqYnSbaw3fOq1fVFiIOFQ==", + "node_modules/@truffle/debug-utils/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/@truffle/debug-utils/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-core-subscriptions": "1.9.0", - "web3-eth-abi": "1.9.0", - "web3-eth-accounts": "1.9.0", - "web3-eth-contract": "1.9.0", - "web3-eth-ens": "1.9.0", - "web3-eth-iban": "1.9.0", - "web3-eth-personal": "1.9.0", - "web3-net": "1.9.0", - "web3-utils": "1.9.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=4" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-eth-abi": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.9.0.tgz", - "integrity": "sha512-0BLQ3FKMrzJkA930jOX3fMaybAyubk06HChclLpiR0NWmgWXm1tmBrJdkyRy2ZTZpmfuZc9xTFRfl0yZID1voA==", + "node_modules/@truffle/debug-utils/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { - "@ethersproject/abi": "^5.6.3", - "web3-utils": "1.9.0" - }, + "color-name": "1.1.3" + } + }, + "node_modules/@truffle/debug-utils/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@truffle/debug-utils/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, "engines": { - "node": ">=8.0.0" + "node": ">=0.8.0" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-eth-accounts": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.9.0.tgz", - "integrity": "sha512-VeIZVevmnSll0AC1k5F/y398ZE89d1SRuYk8IewLUhL/tVAsFEsjl2SGgm0+aDcHmgPrkW+qsCJ+C7rWg/N4ZA==", + "node_modules/@truffle/debug-utils/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "dependencies": { - "@ethereumjs/common": "2.5.0", - "@ethereumjs/tx": "3.3.2", - "eth-lib": "0.2.8", - "ethereumjs-util": "^7.1.5", - "scrypt-js": "^3.0.1", - "uuid": "^9.0.0", - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-utils": "1.9.0" - }, "engines": { - "node": ">=8.0.0" + "node": ">=4" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-eth-contract": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.9.0.tgz", - "integrity": "sha512-+j26hpSaEtAdUed0TN5rnc+YZOcjPxMjFX4ZBKatvFkImdbVv/tzTvcHlltubSpgb2ZLyZ89lSL6phKYwd2zNQ==", + "node_modules/@truffle/debug-utils/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { - "@types/bn.js": "^5.1.1", - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-core-promievent": "1.9.0", - "web3-core-subscriptions": "1.9.0", - "web3-eth-abi": "1.9.0", - "web3-utils": "1.9.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=4" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-eth-ens": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.9.0.tgz", - "integrity": "sha512-LOJZeN+AGe9arhuExnrPPFYQr4WSxXEkpvYIlst/joOEUNLDwfndHnJIK6PI5mXaYSROBtTx6erv+HupzGo7vA==", + "node_modules/@truffle/error": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.1.0.tgz", + "integrity": "sha512-RbUfp5VreNhsa2Q4YbBjz18rOQI909pG32bghl1hulO7IpvcqTS+C3Ge5cNbiWQ1WGzy1wIeKLW0tmQtHFB7qg==", + "dev": true + }, + "node_modules/@truffle/interface-adapter": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.17.tgz", + "integrity": "sha512-2MJ+YLAL4y2QqlWc90NKizBLpavcETTzV8EpYkYJgAM326xKrAt+N3wx3f3tgRPSsbdtiEVKf1JRXHmDYQ+xIg==", "dev": true, "dependencies": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-promievent": "1.9.0", - "web3-eth-abi": "1.9.0", - "web3-eth-contract": "1.9.0", - "web3-utils": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" + "bn.js": "^5.1.3", + "ethers": "^4.0.32", + "web3": "1.5.3" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-eth-iban": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.9.0.tgz", - "integrity": "sha512-jPAm77PuEs1kE/UrrBFJdPD2PN42pwfXA0gFuuw35bZezhskYML9W4QCxcqnUtceyEA4FUn7K2qTMuCk+23fog==", + "node_modules/@truffle/interface-adapter/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/@truffle/interface-adapter/node_modules/ethers": { + "version": "4.0.49", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", + "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", "dev": true, "dependencies": { - "bn.js": "^5.2.1", - "web3-utils": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" + "aes-js": "3.0.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-eth-personal": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.9.0.tgz", - "integrity": "sha512-r9Ldo/luBqJlv1vCUEQnUS+C3a3ZdbYxVHyfDkj6RWMyCqqo8JE41HWE+pfa0RmB1xnGL2g8TbYcHcqItck/qg==", + "node_modules/@truffle/interface-adapter/node_modules/ethers/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/@truffle/interface-adapter/node_modules/hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", "dev": true, "dependencies": { - "@types/node": "^12.12.6", - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-net": "1.9.0", - "web3-utils": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-net": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.9.0.tgz", - "integrity": "sha512-L+fDZFgrLM5Y15aonl2q6L+RvfaImAngmC0Jv45hV2FJ5IfRT0/2ob9etxZmvEBWvOpbqSvghfOhJIT3XZ37Pg==", + "node_modules/@truffle/interface-adapter/node_modules/js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", + "dev": true + }, + "node_modules/@truffle/interface-adapter/node_modules/scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "dev": true + }, + "node_modules/@truffle/interface-adapter/node_modules/setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", + "dev": true + }, + "node_modules/@truffle/interface-adapter/node_modules/uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true + }, + "node_modules/@truffle/interface-adapter/node_modules/web3": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.5.3.tgz", + "integrity": "sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w==", "dev": true, + "hasInstallScript": true, "dependencies": { - "web3-core": "1.9.0", - "web3-core-method": "1.9.0", - "web3-utils": "1.9.0" + "web3-bzz": "1.5.3", + "web3-core": "1.5.3", + "web3-eth": "1.5.3", + "web3-eth-personal": "1.5.3", + "web3-net": "1.5.3", + "web3-shh": "1.5.3", + "web3-utils": "1.5.3" }, "engines": { "node": ">=8.0.0" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-providers-http": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.9.0.tgz", - "integrity": "sha512-5+dMNDAE0rRFz6SJpfnBqlVi2J5bB/Ivr2SanMt2YUrkxW5t8betZbzVwRkTbwtUvkqgj3xeUQzqpOttiv+IqQ==", + "node_modules/@truffle/interface-adapter/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, "dependencies": { - "abortcontroller-polyfill": "^1.7.3", - "cross-fetch": "^3.1.4", - "es6-promise": "^4.2.8", - "web3-core-helpers": "1.9.0" + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" }, "engines": { "node": ">=8.0.0" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-providers-ipc": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.9.0.tgz", - "integrity": "sha512-cPXU93Du40HCylvjaa5x62DbnGqH+86HpK/+kMcFIzF6sDUBhKpag2tSbYhGbj7GMpfkmDTUiiMLdWnFV6+uBA==", + "node_modules/@truffle/interface-adapter/node_modules/web3-utils/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/@truffle/provider": { + "version": "0.2.55", + "resolved": "https://registry.npmjs.org/@truffle/provider/-/provider-0.2.55.tgz", + "integrity": "sha512-Tjs2cZsmRnzgBtFNXwO8cc1W7jIv0UaaLt3fOzks7rSUETo7M11GJ4U+uoCHSntrIW7E6sYS3KecOpzqJPw3Hg==", "dev": true, "dependencies": { - "oboe": "2.1.5", - "web3-core-helpers": "1.9.0" - }, - "engines": { - "node": ">=8.0.0" + "@truffle/error": "^0.1.0", + "@truffle/interface-adapter": "^0.5.17", + "web3": "1.5.3" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-providers-ws": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.9.0.tgz", - "integrity": "sha512-JRVsnQZ7j2k1a2yzBNHe39xqk1ijOv01dfIBFw52VeEkSRzvrOcsPIM/ttSyBuJqt70ntMxXY0ekCrqfleKH/w==", + "node_modules/@truffle/provider/node_modules/web3": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.5.3.tgz", + "integrity": "sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w==", "dev": true, + "hasInstallScript": true, "dependencies": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.9.0", - "websocket": "^1.0.32" + "web3-bzz": "1.5.3", + "web3-core": "1.5.3", + "web3-eth": "1.5.3", + "web3-eth-personal": "1.5.3", + "web3-net": "1.5.3", + "web3-shh": "1.5.3", + "web3-utils": "1.5.3" }, "engines": { "node": ">=8.0.0" } }, - "node_modules/@maticnetwork/maticjs-web3/node_modules/web3-shh": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.9.0.tgz", - "integrity": "sha512-bIBZlralgz4ICCrwkefB2nPPJWfx28NuHIpjB7d9ADKynElubQuqudYhKtSEkKXACuME/BJm0pIFJcJs/gDnMg==", + "node_modules/@truffle/provider/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, - "hasInstallScript": true, "dependencies": { - "web3-core": "1.9.0", - "web3-core-method": "1.9.0", - "web3-core-subscriptions": "1.9.0", - "web3-net": "1.9.0" + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" }, "engines": { "node": ">=8.0.0" } }, - "node_modules/@metamask/eth-sig-util": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", - "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", + "node_modules/@trufflesuite/chromafi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@trufflesuite/chromafi/-/chromafi-3.0.0.tgz", + "integrity": "sha512-oqWcOqn8nT1bwlPPfidfzS55vqcIDdpfzo3HbU9EnUmcSTX+I8z0UyUFI3tZQjByVJulbzxHxUGS3ZJPwK/GPQ==", "dev": true, "dependencies": { - "ethereumjs-abi": "^0.6.8", - "ethereumjs-util": "^6.2.1", - "ethjs-util": "^0.1.6", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.1" - }, + "camelcase": "^4.1.0", + "chalk": "^2.3.2", + "cheerio": "^1.0.0-rc.2", + "detect-indent": "^5.0.0", + "highlight.js": "^10.4.1", + "lodash.merge": "^4.6.2", + "strip-ansi": "^4.0.0", + "strip-indent": "^2.0.0" + } + }, + "node_modules/@trufflesuite/chromafi/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, "engines": { - "node": ">=12.0.0" + "node": ">=4" } }, - "node_modules/@metamask/eth-sig-util/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "node_modules/@trufflesuite/chromafi/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { - "@types/node": "*" + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@metamask/eth-sig-util/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "node_modules/@trufflesuite/chromafi/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", "dev": true, - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" + "engines": { + "node": ">=4" } }, - "node_modules/@morgan-stanley/ts-mocking-bird": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@morgan-stanley/ts-mocking-bird/-/ts-mocking-bird-0.6.4.tgz", - "integrity": "sha512-57VJIflP8eR2xXa9cD1LUawh+Gh+BVQfVu0n6GALyg/AqV/Nz25kDRvws3i9kIe1PTrbsZZOYpsYp6bXPd6nVA==", + "node_modules/@trufflesuite/chromafi/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { - "lodash": "^4.17.16", - "uuid": "^7.0.3" - }, - "peerDependencies": { - "jasmine": "2.x || 3.x || 4.x", - "jest": "26.x || 27.x || 28.x", - "typescript": ">=4.2" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, - "peerDependenciesMeta": { - "jasmine": { - "optional": true - }, - "jest": { - "optional": true - } + "engines": { + "node": ">=4" } }, - "node_modules/@morgan-stanley/ts-mocking-bird/node_modules/uuid": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", - "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", + "node_modules/@trufflesuite/chromafi/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "bin": { - "uuid": "dist/bin/uuid" + "dependencies": { + "color-name": "1.1.3" } }, - "node_modules/@noble/hashes": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.1.tgz", - "integrity": "sha512-Lkp9+NijmV7eSVZqiUvt3UCuuHeJpUVmRrvh430gyJjJiuJMqkeHf6/A9lQ/smmbWV/0spDeJscscPzyB4waZg==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ] - }, - "node_modules/@noble/secp256k1": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.6.0.tgz", - "integrity": "sha512-DWSsg8zMHOYMYBqIQi96BQuthZrp98LCeMNcUOaffCIVYQ5yxDbNikLF+H7jEnmNNmXbtVic46iCuVWzar+MgA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ] + "node_modules/@trufflesuite/chromafi/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@trufflesuite/chromafi/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, "engines": { - "node": ">= 8" + "node": ">=0.8.0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@trufflesuite/chromafi/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { - "node": ">= 8" + "node": ">=4" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@trufflesuite/chromafi/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dev": true, "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "ansi-regex": "^3.0.0" }, "engines": { - "node": ">= 8" + "node": ">=4" } }, - "node_modules/@nomiclabs/hardhat-ethers": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.2.1.tgz", - "integrity": "sha512-RHWYwnxryWR8hzRmU4Jm/q4gzvXpetUOJ4OPlwH2YARcDB+j79+yAYCwO0lN1SUOb4++oOTJEe6AWLEc42LIvg==", + "node_modules/@trufflesuite/chromafi/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "peer": true, - "peerDependencies": { - "ethers": "^5.0.0", - "hardhat": "^2.0.0" + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@nomiclabs/hardhat-etherscan": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-2.1.7.tgz", - "integrity": "sha512-9nt9EXubnkd2aTMnQIqKtp80bQFhun88krfB31FN2wB0T54b8YuK0riG2d+EKq/D3t1Kb00oA7oFSFpHLIbLDQ==", + "node_modules/@typechain/ethers-v5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-8.0.3.tgz", + "integrity": "sha512-p85DhWgbE4prFkHcIQzQuAK1+TrgJLjkMSWdATKg6nO1FfWl7hX7mICsbgGgqmRh0+iPE29d/etqmbSAQlffPw==", "dev": true, "dependencies": { - "@ethersproject/abi": "^5.1.2", - "@ethersproject/address": "^5.0.2", - "cbor": "^5.0.2", - "debug": "^4.1.1", - "fs-extra": "^7.0.1", - "node-fetch": "^2.6.0", - "semver": "^6.3.0" + "lodash": "^4.17.15", + "ts-essentials": "^7.0.1" }, "peerDependencies": { - "hardhat": "^2.0.4" + "@ethersproject/abi": "^5.0.0", + "@ethersproject/bytes": "^5.0.0", + "@ethersproject/providers": "^5.0.0", + "ethers": "^5.1.3", + "typechain": "^6.0.3", + "typescript": ">=4.0.0" } }, - "node_modules/@nomiclabs/hardhat-etherscan/node_modules/cbor": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz", - "integrity": "sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==", + "node_modules/@typechain/hardhat": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-3.0.0.tgz", + "integrity": "sha512-FpnIIXkDXm54XCHI/Z2iOet7h1MrFSvZfuljX9Uzc6FEjEfb01Tuzu8ywe2iquD3g5JXqovgdv+M54L/2Z6jkg==", "dev": true, "dependencies": { - "bignumber.js": "^9.0.1", - "nofilter": "^1.0.4" + "fs-extra": "^9.1.0" }, - "engines": { - "node": ">=6.0.0" + "peerDependencies": { + "hardhat": "^2.0.10", + "lodash": "^4.17.15", + "typechain": "^6.0.0" } }, - "node_modules/@nomiclabs/hardhat-etherscan/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "node_modules/@typechain/hardhat/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@nomiclabs/hardhat-etherscan/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@nomiclabs/hardhat-etherscan/node_modules/nofilter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", - "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==", - "dev": true, - "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/@nomiclabs/hardhat-etherscan/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } + "node_modules/@types/abstract-leveldown": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", + "integrity": "sha512-q5veSX6zjUy/DlDhR4Y4cU0k2Ar+DT2LUraP00T19WLmTO6Se1djepCCaqU6nQrwcJ5Hyo/CWqxTzrrFg8eqbQ==", + "dev": true }, - "node_modules/@nomiclabs/hardhat-etherscan/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/@types/bignumber.js": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/bignumber.js/-/bignumber.js-5.0.0.tgz", + "integrity": "sha512-0DH7aPGCClywOFaxxjE6UwpN2kQYe9LwuDQMv+zYA97j5GkOMo8e66LYT+a8JYU7jfmUFRZLa9KycxHDsKXJCA==", + "deprecated": "This is a stub types definition for bignumber.js (https://github.com/MikeMcl/bignumber.js/). bignumber.js provides its own type definitions, so you don't need @types/bignumber.js installed!", "dev": true, - "engines": { - "node": ">= 4.0.0" + "dependencies": { + "bignumber.js": "*" } }, - "node_modules/@nomiclabs/hardhat-web3": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-web3/-/hardhat-web3-2.0.0.tgz", - "integrity": "sha512-zt4xN+D+fKl3wW2YlTX3k9APR3XZgPkxJYf36AcliJn3oujnKEVRZaHu0PhgLjO+gR+F/kiYayo9fgd2L8970Q==", + "node_modules/@types/bn.js": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", + "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", "dev": true, "dependencies": { - "@types/bignumber.js": "^5.0.0" - }, - "peerDependencies": { - "hardhat": "^2.0.0", - "web3": "^1.0.0-beta.36" + "@types/node": "*" } }, - "node_modules/@openzeppelin/contract-loader": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@openzeppelin/contract-loader/-/contract-loader-0.6.3.tgz", - "integrity": "sha512-cOFIjBjwbGgZhDZsitNgJl0Ye1rd5yu/Yx5LMgeq3u0ZYzldm4uObzHDFq4gjDdoypvyORjjJa3BlFA7eAnVIg==", + "node_modules/@types/concat-stream": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", "dev": true, "dependencies": { - "find-up": "^4.1.0", - "fs-extra": "^8.1.0" + "@types/node": "*" } }, - "node_modules/@openzeppelin/contract-loader/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "dev": true + }, + "node_modules/@types/form-data": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@types/node": "*" } }, - "node_modules/@openzeppelin/contract-loader/node_modules/fs-extra": { + "node_modules/@types/fs-extra": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-UoOfVEzAUpeSPmjm7h1uk5MH6KZma2z2O7a75onTGjnNvAvMVrPzPL/vBbT65iIGHWj6rokwfmYcmxmlSf2uwg==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" + "@types/node": "*" } }, - "node_modules/@openzeppelin/contract-loader/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" } }, - "node_modules/@openzeppelin/contract-loader/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "dev": true, "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/@openzeppelin/contract-loader/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dev": true, "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" + "@types/istanbul-lib-report": "*" } }, - "node_modules/@openzeppelin/contract-loader/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true }, - "node_modules/@openzeppelin/contract-loader/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/@types/level-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.0.tgz", + "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==", + "dev": true + }, + "node_modules/@types/levelup": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz", + "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==", "dev": true, - "engines": { - "node": ">= 4.0.0" + "dependencies": { + "@types/abstract-leveldown": "*", + "@types/level-errors": "*", + "@types/node": "*" } }, - "node_modules/@openzeppelin/contracts": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.6.0.tgz", - "integrity": "sha512-8vi4d50NNya/bQqCmaVzvHNmwHvS0OBKb7HNtuNwEE3scXWrP31fKQoGxNMT+KbzmrNZzatE3QK5p2gFONI/hg==", + "node_modules/@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", "dev": true }, - "node_modules/@openzeppelin/contracts-upgradeable": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.6.0.tgz", - "integrity": "sha512-5OnVuO4HlkjSCJO165a4i2Pu1zQGzMs//o54LPrwUgxvEO2P3ax1QuaSI0cEHHTveA77guS0PnNugpR2JMsPfA==", + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", "dev": true }, - "node_modules/@openzeppelin/hardhat-upgrades": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/hardhat-upgrades/-/hardhat-upgrades-1.17.0.tgz", - "integrity": "sha512-GNxR3/3fCKQsFpBi/r+5ib6U81UM9KCypmcOQxuCkVp9JKJ80/3hQdg1R+AQku/dlnhutPsfkCokH2LZFc5mNA==", + "node_modules/@types/mkdirp": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", + "integrity": "sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==", "dev": true, "dependencies": { - "@openzeppelin/upgrades-core": "^1.14.1", - "chalk": "^4.1.0", - "proper-lockfile": "^4.1.1" - }, - "bin": { - "migrate-oz-cli-project": "dist/scripts/migrate-oz-cli-project.js" - }, - "peerDependencies": { - "@nomiclabs/hardhat-ethers": "^2.0.0", - "hardhat": "^2.0.2" + "@types/node": "*" } }, - "node_modules/@openzeppelin/test-helpers": { - "version": "0.5.15", - "resolved": "https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.15.tgz", - "integrity": "sha512-10fS0kyOjc/UObo9iEWPNbC6MCeiQ7z97LDOJBj68g+AAs5pIGEI2h3V6G9TYTIq8VxOdwMQbfjKrx7Y3YZJtA==", + "node_modules/@types/mocha": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-7.0.2.tgz", + "integrity": "sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==", + "dev": true + }, + "node_modules/@types/node": { + "version": "13.9.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.2.tgz", + "integrity": "sha512-bnoqK579sAYrQbp73wwglccjJ4sfRdKU7WNEZ5FW4K2U6Kc0/eZ5kvXG0JKsEKFB50zrFmfFt52/cvBbZa7eXg==", + "dev": true + }, + "node_modules/@types/pbkdf2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", + "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", "dev": true, "dependencies": { - "@openzeppelin/contract-loader": "^0.6.2", - "@truffle/contract": "^4.0.35", - "ansi-colors": "^3.2.3", - "chai": "^4.2.0", - "chai-bn": "^0.2.1", - "ethjs-abi": "^0.2.1", - "lodash.flatten": "^4.4.0", - "semver": "^5.6.0", - "web3": "^1.2.5", - "web3-utils": "^1.2.5" + "@types/node": "*" } }, - "node_modules/@openzeppelin/test-helpers/node_modules/ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true, - "engines": { - "node": ">=6" - } + "node_modules/@types/prettier": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", + "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", + "dev": true }, - "node_modules/@openzeppelin/test-helpers/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/@types/resolve": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", + "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", "dev": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "@types/node": "*" } }, - "node_modules/@openzeppelin/upgrades-core": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/@openzeppelin/upgrades-core/-/upgrades-core-1.16.1.tgz", - "integrity": "sha512-+hejbeAfsZWIQL5Ih13gkdm2KO6kbERc1ektzcyb25/OtUwaRjIIHxW++LdC/3Hg5uzThVOzJBfiLdAbgwD+OA==", + "node_modules/@types/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", "dev": true, "dependencies": { - "bn.js": "^5.1.2", - "cbor": "^8.0.0", - "chalk": "^4.1.0", - "compare-versions": "^4.0.0", - "debug": "^4.1.1", - "ethereumjs-util": "^7.0.3", - "proper-lockfile": "^4.1.1", - "solidity-ast": "^0.4.15" + "@types/node": "*" } }, - "node_modules/@openzeppelin/upgrades-core/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "node_modules/@provide/nats.ws": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@provide/nats.ws/-/nats.ws-1.0.6.tgz", - "integrity": "sha512-gUn7rBuCCmQlPGDK9hee6Pp0NRRAr2tsBOHN6YIv30L/ytZ2VHiCo1BtbQgoBesaMu3qK3/+GBhmpr2dd+YcXA==", + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, - "node_modules/@scure/base": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", - "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ] - }, - "node_modules/@scure/bip32": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.0.tgz", - "integrity": "sha512-ftTW3kKX54YXLCxH6BB7oEEoJfoE2pIgw7MINKAs5PsS6nqKPuKk1haTF/EuHmYqG330t5GSrdmtRuHaY1a62Q==", + "node_modules/@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "dependencies": { - "@noble/hashes": "~1.1.1", - "@noble/secp256k1": "~1.6.0", - "@scure/base": "~1.1.0" + "@types/yargs-parser": "*" } }, - "node_modules/@scure/bip39": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.0.tgz", - "integrity": "sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "@noble/hashes": "~1.1.1", - "@scure/base": "~1.1.0" - } + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true }, - "node_modules/@sentry/core": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", - "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", + "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", "dev": true, "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" + "@typescript-eslint/experimental-utils": "2.34.0", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" }, "engines": { - "node": ">=6" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^2.0.0", + "eslint": "^5.0.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@sentry/hub": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", - "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", + "node_modules/@typescript-eslint/experimental-utils": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", + "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", "dev": true, "dependencies": { - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" }, "engines": { - "node": ">=6" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" } }, - "node_modules/@sentry/minimal": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", - "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", "dev": true, "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" }, "engines": { - "node": ">=6" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@sentry/node": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", - "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "dependencies": { - "@sentry/core": "5.30.0", - "@sentry/hub": "5.30.0", - "@sentry/tracing": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "cookie": "^0.4.1", - "https-proxy-agent": "^5.0.0", - "lru_map": "^0.3.3", - "tslib": "^1.9.3" + "eslint-visitor-keys": "^1.1.0" }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/@sentry/node/node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=4" } }, - "node_modules/@sentry/tracing": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", - "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", + "node_modules/@typescript-eslint/parser": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", + "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", "dev": true, "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.34.0", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-visitor-keys": "^1.1.0" }, "engines": { - "node": ">=6" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@sentry/types": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", - "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", "dev": true, + "dependencies": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, "engines": { - "node": ">=6" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@sentry/utils": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", - "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", + "node_modules/@typescript-eslint/parser/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "dependencies": { - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/@sinclair/typebox": { - "version": "0.25.16", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.16.tgz", - "integrity": "sha512-5sclbtYBKQ0W5hY8ovF/cBbQV+FWBZArd738hQpLgWUdlWyuOA0HOuYN178jUJRz0pXuL1+UYR+LCMvoR47osg==", + "node_modules/@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", "dev": true }, - "node_modules/@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "dev": true, - "engines": { - "node": ">=6" - } + "node_modules/abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==", + "dev": true }, - "node_modules/@sinonjs/commons": { + "node_modules/abort-controller": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "dev": true, - "peer": true, "dependencies": { - "type-detect": "4.0.8" + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz", - "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==", + "node_modules/abstract-leveldown": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz", + "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", "dev": true, - "peer": true, "dependencies": { - "@sinonjs/commons": "^2.0.0" + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "node_modules/abstract-leveldown/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, - "peer": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "type-detect": "4.0.8" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/@sinonjs/samsam": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", - "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, - "peer": true, "dependencies": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "node_modules/acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", "dev": true, "peer": true, - "dependencies": { - "type-detect": "4.0.8" + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "peer": true + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } }, - "node_modules/@solidity-parser/parser": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.2.tgz", - "integrity": "sha512-10cr0s+MtRtqjEw0WFJrm2rwULN30xx7btd/v9cmqME2617/2M5MbHDkFIGIGTa7lwNw4bN9mVGfhlLzrYw8pA==", + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", "dev": true, "dependencies": { - "antlr4ts": "^0.5.0-alpha.4" + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" } }, - "node_modules/@superfluid-finance/ethereum-contracts": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@superfluid-finance/ethereum-contracts/-/ethereum-contracts-1.2.2.tgz", - "integrity": "sha512-5dJLUC08F3kMFCmepwr/uRwOcaGzR/SpDl/v3fsKXZ5x89NCBlJzHRYD7BJHY6ZJY8t3dL/CXpovW9+b+nIxTw==", + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, - "dependencies": { - "@decentral.ee/web3-helpers": "0.5.3", - "@openzeppelin/contracts": "4.5.0", - "@superfluid-finance/js-sdk": "0.5.13", - "@truffle/contract": "4.5.5", - "ethereumjs-tx": "2.1.2", - "ethereumjs-util": "7.1.4", - "hardhat": "^2.9.3", - "stack-trace": "0.0.10" + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "node_modules/@superfluid-finance/ethereum-contracts/node_modules/@openzeppelin/contracts": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.5.0.tgz", - "integrity": "sha512-fdkzKPYMjrRiPK6K4y64e6GzULR7R7RwxSigHS8DDp7aWDeoReqsQI+cxHV1UuhAqX69L1lAaWDxenfP+xiqzA==", - "dev": true + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } }, - "node_modules/@superfluid-finance/ethereum-contracts/node_modules/@truffle/contract": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/@truffle/contract/-/contract-4.5.5.tgz", - "integrity": "sha512-CAG8UTP7OpCh+aSkMt+nYe6PA7QzZcnbAjFpXOJ5JSjLBlCNzu/Mh5zNG03JyVl/uIrCZzG6WIKpV7f8SOlRfA==", + "node_modules/address": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.0.tgz", + "integrity": "sha512-tNEZYz5G/zYunxFm7sfhAxkXEuLj3K6BKwv6ZURlsF6yiUQ65z0Q2wZW9L5cPUl9ocofGvXOdFYbFHp0+6MOig==", "dev": true, - "dependencies": { - "@ensdomains/ensjs": "^2.0.1", - "@truffle/blockchain-utils": "^0.1.2", - "@truffle/contract-schema": "^3.4.7", - "@truffle/debug-utils": "^6.0.17", - "@truffle/error": "^0.1.0", - "@truffle/interface-adapter": "^0.5.13", - "bignumber.js": "^7.2.1", - "debug": "^4.3.1", - "ethers": "^4.0.32", - "web3": "1.5.3", - "web3-core-helpers": "1.5.3", - "web3-core-promievent": "1.5.3", - "web3-eth-abi": "1.5.3", - "web3-utils": "1.5.3" + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/@superfluid-finance/ethereum-contracts/node_modules/bignumber.js": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", - "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==", + "node_modules/adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", "dev": true, "engines": { - "node": "*" + "node": ">=0.3.0" } }, - "node_modules/@superfluid-finance/ethereum-contracts/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "node_modules/aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", "dev": true }, - "node_modules/@superfluid-finance/ethereum-contracts/node_modules/ethereumjs-util": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.4.tgz", - "integrity": "sha512-p6KmuPCX4mZIqsQzXfmSx9Y0l2hqf+VkAiwSisW3UKUFdk8ZkAt+AYaor83z2nSi6CU2zSsXMlD80hAbNEGM0A==", + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "dependencies": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" + "debug": "4" }, "engines": { - "node": ">=10.0.0" + "node": ">= 6.0.0" } }, - "node_modules/@superfluid-finance/ethereum-contracts/node_modules/ethereumjs-util/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "node_modules/@superfluid-finance/ethereum-contracts/node_modules/ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, "dependencies": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@superfluid-finance/ethereum-contracts/node_modules/hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@superfluid-finance/ethereum-contracts/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", - "dev": true - }, - "node_modules/@superfluid-finance/ethereum-contracts/node_modules/scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.4.2" + } }, - "node_modules/@superfluid-finance/ethereum-contracts/node_modules/setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", - "dev": true + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } }, - "node_modules/@superfluid-finance/ethereum-contracts/node_modules/uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true - }, - "node_modules/@superfluid-finance/ethereum-contracts/node_modules/web3": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.5.3.tgz", - "integrity": "sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w==", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, - "hasInstallScript": true, "dependencies": { - "web3-bzz": "1.5.3", - "web3-core": "1.5.3", - "web3-eth": "1.5.3", - "web3-eth-personal": "1.5.3", - "web3-net": "1.5.3", - "web3-shh": "1.5.3", - "web3-utils": "1.5.3" + "type-fest": "^0.21.3" }, "engines": { - "node": ">=8.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@superfluid-finance/ethereum-contracts/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, "engines": { - "node": ">=8.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@superfluid-finance/js-sdk": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/@superfluid-finance/js-sdk/-/js-sdk-0.5.13.tgz", - "integrity": "sha512-bkRYFD7aZIVnlxTwJUlViYBq7mXilNvDdBcJhBQ3vFlTPZPrNg+zL319u5C+vQGlkDwtvAD6J6nR0CnuQ0TR6w==", + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "dependencies": { - "@ethersproject/abi": "^5.6.0", - "@ethersproject/hash": "^5.6.0", - "@truffle/contract": "4.5.5", - "auto-bind": "^4.0.0", - "node-fetch": "^2.6.7" - }, - "peerDependencies": { - "@ethersproject/contracts": "^5.0.0", - "@truffle/contract": "^4.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/@superfluid-finance/js-sdk/node_modules/@truffle/contract": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/@truffle/contract/-/contract-4.5.5.tgz", - "integrity": "sha512-CAG8UTP7OpCh+aSkMt+nYe6PA7QzZcnbAjFpXOJ5JSjLBlCNzu/Mh5zNG03JyVl/uIrCZzG6WIKpV7f8SOlRfA==", + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "@ensdomains/ensjs": "^2.0.1", - "@truffle/blockchain-utils": "^0.1.2", - "@truffle/contract-schema": "^3.4.7", - "@truffle/debug-utils": "^6.0.17", - "@truffle/error": "^0.1.0", - "@truffle/interface-adapter": "^0.5.13", - "bignumber.js": "^7.2.1", - "debug": "^4.3.1", - "ethers": "^4.0.32", - "web3": "1.5.3", - "web3-core-helpers": "1.5.3", - "web3-core-promievent": "1.5.3", - "web3-eth-abi": "1.5.3", - "web3-utils": "1.5.3" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@superfluid-finance/js-sdk/node_modules/bignumber.js": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", - "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==", + "node_modules/antlr4": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/antlr4/-/antlr4-4.7.1.tgz", + "integrity": "sha512-haHyTW7Y9joE5MVs37P2lNYfU2RWBLfcRDD8OWldcdZm5TiCE91B5Xl1oWSwiDUSd4rlExpt2pu1fksYQjRBYQ==", + "dev": true + }, + "node_modules/antlr4ts": { + "version": "0.5.0-alpha.4", + "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz", + "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==", + "dev": true + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, "engines": { - "node": "*" + "node": ">= 8" } }, - "node_modules/@superfluid-finance/js-sdk/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true, + "optional": true, + "peer": true }, - "node_modules/@superfluid-finance/js-sdk/node_modules/ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "node_modules/are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, - "node_modules/@superfluid-finance/js-sdk/node_modules/hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/@superfluid-finance/js-sdk/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", - "dev": true + "node_modules/are-we-there-yet/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "optional": true, + "peer": true }, - "node_modules/@superfluid-finance/js-sdk/node_modules/scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true + "node_modules/are-we-there-yet/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } }, - "node_modules/@superfluid-finance/js-sdk/node_modules/setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true }, - "node_modules/@superfluid-finance/js-sdk/node_modules/uuid": { + "node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/@superfluid-finance/js-sdk/node_modules/web3": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.5.3.tgz", - "integrity": "sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w==", + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", + "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", "dev": true, - "hasInstallScript": true, "dependencies": { - "web3-bzz": "1.5.3", - "web3-core": "1.5.3", - "web3-eth": "1.5.3", - "web3-eth-personal": "1.5.3", - "web3-net": "1.5.3", - "web3-shh": "1.5.3", - "web3-utils": "1.5.3" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.7" }, "engines": { - "node": ">=8.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@superfluid-finance/js-sdk/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, "engines": { - "node": ">=8.0.0" + "node": ">=8" } }, - "node_modules/@superfluid-finance/sdk-core": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@superfluid-finance/sdk-core/-/sdk-core-0.4.2.tgz", - "integrity": "sha512-MGO0xuyRWCRgay0SJx2JoIiODsGsKvZov6RLnI4Xapk/sB3E/9Le954hUwE9hkb+Cc9R2YpxenFCDly2KyFVzw==", + "node_modules/array.prototype.flat": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", + "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", "dev": true, "dependencies": { - "ajv": "^8.11.0", - "browserify": "^17.0.0", - "ethers": "^5.6.2", - "graphql-request": "^3.7.0", - "lodash": "^4.17.21", - "tsify": "^5.0.4" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": ">=12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@superfluid-finance/sdk-core/node_modules/ethers": { - "version": "5.6.9", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.9.tgz", - "integrity": "sha512-lMGC2zv9HC5EC+8r429WaWu3uWJUCgUCt8xxKCFqkrFuBDZXDYIdzDUECxzjf2BMF8IVBByY1EBoGSL3RTm8RA==", + "node_modules/array.prototype.reduce": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz", + "integrity": "sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/abi": "5.6.4", - "@ethersproject/abstract-provider": "5.6.1", - "@ethersproject/abstract-signer": "5.6.2", - "@ethersproject/address": "5.6.1", - "@ethersproject/base64": "5.6.1", - "@ethersproject/basex": "5.6.1", - "@ethersproject/bignumber": "5.6.2", - "@ethersproject/bytes": "5.6.1", - "@ethersproject/constants": "5.6.1", - "@ethersproject/contracts": "5.6.2", - "@ethersproject/hash": "5.6.1", - "@ethersproject/hdnode": "5.6.2", - "@ethersproject/json-wallets": "5.6.1", - "@ethersproject/keccak256": "5.6.1", - "@ethersproject/logger": "5.6.0", - "@ethersproject/networks": "5.6.4", - "@ethersproject/pbkdf2": "5.6.1", - "@ethersproject/properties": "5.6.0", - "@ethersproject/providers": "5.6.8", - "@ethersproject/random": "5.6.1", - "@ethersproject/rlp": "5.6.1", - "@ethersproject/sha2": "5.6.1", - "@ethersproject/signing-key": "5.6.2", - "@ethersproject/solidity": "5.6.1", - "@ethersproject/strings": "5.6.1", - "@ethersproject/transactions": "5.6.2", - "@ethersproject/units": "5.6.1", - "@ethersproject/wallet": "5.6.2", - "@ethersproject/web": "5.6.1", - "@ethersproject/wordlists": "5.6.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@superfluid-finance/sdk-core/node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dev": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" + "safer-buffer": "~2.1.0" } }, - "node_modules/@superfluid-finance/sdk-core/node_modules/graphql-request": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-3.7.0.tgz", - "integrity": "sha512-dw5PxHCgBneN2DDNqpWu8QkbbJ07oOziy8z+bK/TAXufsOLaETuVO4GkXrbs0WjhdKhBMN3BkpN/RIvUHkmNUQ==", + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, "dependencies": { - "cross-fetch": "^3.0.6", - "extract-files": "^9.0.0", - "form-data": "^3.0.0" - }, - "peerDependencies": { - "graphql": "14 - 16" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, "dependencies": { - "defer-to-connect": "^1.0.1" - }, - "engines": { - "node": ">=6" + "object-assign": "^4.1.1", + "util": "0.10.3" } }, - "node_modules/@truffle/abi-utils": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/@truffle/abi-utils/-/abi-utils-0.2.13.tgz", - "integrity": "sha512-WzjyNvx+naXmG/XKF+xLI+tJZLUlPGkd29rY4xBCiY9m/xWk0ZUL6gvVvnRr3leLJkBweJUSBiGUW770V8hHOg==", + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true, - "dependencies": { - "change-case": "3.0.2", - "faker": "5.5.3", - "fast-check": "^2.12.1" + "engines": { + "node": ">=0.8" } }, - "node_modules/@truffle/blockchain-utils": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@truffle/blockchain-utils/-/blockchain-utils-0.1.3.tgz", - "integrity": "sha512-K21Wf10u6VmS12/f9OrLN98f1RCqzrmuM2zlsly4b7BF/Xdh55Iq/jNSOnsNUJa+6Iaqqz6zeidquCYu9nTFng==", + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", "dev": true }, - "node_modules/@truffle/codec": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.13.1.tgz", - "integrity": "sha512-ZqpfofLEwzcdRYgInHOOoNYLqCEJ+nkYl4NTJkrszMAu9MLnHQjZqrMtfem/H8HDU3OOIgbpFlzipMdrnecjJw==", + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", "dev": true, "dependencies": { - "@truffle/abi-utils": "^0.2.13", - "@truffle/compile-common": "^0.7.31", - "big.js": "^6.0.3", - "bn.js": "^5.1.3", - "cbor": "^5.1.0", - "debug": "^4.3.1", - "lodash": "^4.17.21", - "semver": "^7.3.4", - "utf8": "^3.0.0", - "web3-utils": "1.5.3" + "inherits": "2.0.1" } }, - "node_modules/@truffle/codec/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/ast-parents": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/ast-parents/-/ast-parents-0.0.1.tgz", + "integrity": "sha512-XHusKxKz3zoYk1ic8Un640joHbFMhbqneyoZfoKnEGtf2ey9Uh/IdpcQplODdO/kENaMIWsD0nJm4+wX3UNLHA==", "dev": true }, - "node_modules/@truffle/codec/node_modules/cbor": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz", - "integrity": "sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==", + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true, - "dependencies": { - "bignumber.js": "^9.0.1", - "nofilter": "^1.0.4" - }, "engines": { - "node": ">=6.0.0" + "node": ">=4" } }, - "node_modules/@truffle/codec/node_modules/nofilter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", - "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==", + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "lodash": "^4.17.14" } }, - "node_modules/@truffle/codec/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "node_modules/async-eventemitter": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", + "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", "dev": true, "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" + "async": "^2.4.0" } }, - "node_modules/@truffle/codec/node_modules/web3-utils/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", "dev": true }, - "node_modules/@truffle/compile-common": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@truffle/compile-common/-/compile-common-0.7.31.tgz", - "integrity": "sha512-BGhWPd6NoI4VZfYBg+RgrCyLaxxq40vDOp6Ouofa1NQdN6LSPwlqWf0JWvPIKFNRp+TA9aWRHGmZntYyE94OZg==", - "dev": true, - "dependencies": { - "@truffle/error": "^0.1.0", - "colors": "1.4.0" - } + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true }, - "node_modules/@truffle/contract": { - "version": "4.5.14", - "resolved": "https://registry.npmjs.org/@truffle/contract/-/contract-4.5.14.tgz", - "integrity": "sha512-ofdH7As7d+uyG+6wlZWYoBtN/Nb1efyzooHym4du5Hck4l+EHm8brSYZsHPJrEBA8UN05jYUtBrjUuzbJ/eq0w==", + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "dev": true, - "dependencies": { - "@ensdomains/ensjs": "^2.0.1", - "@truffle/blockchain-utils": "^0.1.3", - "@truffle/contract-schema": "^3.4.7", - "@truffle/debug-utils": "^6.0.26", - "@truffle/error": "^0.1.0", - "@truffle/interface-adapter": "^0.5.17", - "bignumber.js": "^7.2.1", - "debug": "^4.3.1", - "ethers": "^4.0.32", - "web3": "1.5.3", - "web3-core-helpers": "1.5.3", - "web3-core-promievent": "1.5.3", - "web3-eth-abi": "1.5.3", - "web3-utils": "1.5.3" + "engines": { + "node": ">= 4.0.0" } }, - "node_modules/@truffle/contract-schema": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/@truffle/contract-schema/-/contract-schema-3.4.7.tgz", - "integrity": "sha512-vbOHMq/a8rVPh+cFMBDDGPqqiKrXXOc+f1kB4znfh3ewOX8rJxZhGJvdMm3WNMJHR5RstqDV7ZIZ7ePwtSXH8Q==", + "node_modules/auto-bind": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-4.0.0.tgz", + "integrity": "sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==", "dev": true, - "dependencies": { - "ajv": "^6.10.0", - "debug": "^4.3.1" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@truffle/contract-schema/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@truffle/contract-schema/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/@truffle/contract/node_modules/bignumber.js": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", - "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==", + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "dev": true, "engines": { "node": "*" } }, - "node_modules/@truffle/contract/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, - "node_modules/@truffle/contract/node_modules/ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", "dev": true, "dependencies": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" + "safe-buffer": "^5.0.1" } }, - "node_modules/@truffle/contract/node_modules/hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" + "tweetnacl": "^0.14.3" } }, - "node_modules/@truffle/contract/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", - "dev": true - }, - "node_modules/@truffle/contract/node_modules/scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", "dev": true }, - "node_modules/@truffle/contract/node_modules/setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", + "node_modules/bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==", "dev": true }, - "node_modules/@truffle/contract/node_modules/uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true + "node_modules/big-integer": { + "version": "1.6.36", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.36.tgz", + "integrity": "sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg==", + "dev": true, + "engines": { + "node": ">=0.6" + } }, - "node_modules/@truffle/contract/node_modules/web3": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.5.3.tgz", - "integrity": "sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w==", + "node_modules/big.js": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.2.0.tgz", + "integrity": "sha512-paIKvJiAaOYdLt6MfnvxkDo64lTOV257XYJyX3oJnJQocIclUn+48k6ZerH/c5FxWE6DGJu1TKDYis7tqHg9kg==", "dev": true, - "hasInstallScript": true, - "dependencies": { - "web3-bzz": "1.5.3", - "web3-core": "1.5.3", - "web3-eth": "1.5.3", - "web3-eth-personal": "1.5.3", - "web3-net": "1.5.3", - "web3-shh": "1.5.3", - "web3-utils": "1.5.3" + "engines": { + "node": "*" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/bigjs" + } + }, + "node_modules/bignumber.js": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", + "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==", + "dev": true, "engines": { - "node": ">=8.0.0" + "node": "*" } }, - "node_modules/@truffle/contract/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, "engines": { - "node": ">=8.0.0" + "node": ">=8" } }, - "node_modules/@truffle/debug-utils": { - "version": "6.0.26", - "resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-6.0.26.tgz", - "integrity": "sha512-+wxeXLRl23rzpOf76PkUTUqbsEzS8zAgLnZKFMEyS/vkVY5CpNVIhddCQcqQcDaIn9BRcmbuB5xMYR6hs8wrSw==", + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@truffle/codec": "^0.13.1", - "@trufflesuite/chromafi": "^3.0.0", - "bn.js": "^5.1.3", - "chalk": "^2.4.2", - "debug": "^4.3.1", - "highlightjs-solidity": "^2.0.5" + "file-uri-to-path": "1.0.0" } }, - "node_modules/@truffle/debug-utils/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/@truffle/debug-utils/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true, + "peer": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", "dev": true }, - "node_modules/@truffle/debug-utils/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">=4" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/@truffle/debug-utils/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "color-name": "1.1.3" + "ms": "2.0.0" } }, - "node_modules/@truffle/debug-utils/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/@truffle/debug-utils/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/body-parser/node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { - "node": ">=0.8.0" + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@truffle/debug-utils/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@truffle/debug-utils/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "fill-range": "^7.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/@truffle/error": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.1.0.tgz", - "integrity": "sha512-RbUfp5VreNhsa2Q4YbBjz18rOQI909pG32bghl1hulO7IpvcqTS+C3Ge5cNbiWQ1WGzy1wIeKLW0tmQtHFB7qg==", + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", "dev": true }, - "node_modules/@truffle/interface-adapter": { - "version": "0.5.17", - "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.17.tgz", - "integrity": "sha512-2MJ+YLAL4y2QqlWc90NKizBLpavcETTzV8EpYkYJgAM326xKrAt+N3wx3f3tgRPSsbdtiEVKf1JRXHmDYQ+xIg==", + "node_modules/browser-pack": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", + "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", "dev": true, "dependencies": { - "bn.js": "^5.1.3", - "ethers": "^4.0.32", - "web3": "1.5.3" + "combine-source-map": "~0.8.0", + "defined": "^1.0.0", + "JSONStream": "^1.0.3", + "safe-buffer": "^5.1.1", + "through2": "^2.0.0", + "umd": "^3.0.0" + }, + "bin": { + "browser-pack": "bin/cmd.js" } }, - "node_modules/@truffle/interface-adapter/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "node_modules/@truffle/interface-adapter/node_modules/ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "node_modules/browser-resolve": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", "dev": true, "dependencies": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" + "resolve": "^1.17.0" } }, - "node_modules/@truffle/interface-adapter/node_modules/ethers/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, - "node_modules/@truffle/interface-adapter/node_modules/hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "node_modules/browserify": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz", + "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/@truffle/interface-adapter/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", - "dev": true - }, - "node_modules/@truffle/interface-adapter/node_modules/scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true - }, - "node_modules/@truffle/interface-adapter/node_modules/setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", - "dev": true - }, - "node_modules/@truffle/interface-adapter/node_modules/uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true - }, - "node_modules/@truffle/interface-adapter/node_modules/web3": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.5.3.tgz", - "integrity": "sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "web3-bzz": "1.5.3", - "web3-core": "1.5.3", - "web3-eth": "1.5.3", - "web3-eth-personal": "1.5.3", - "web3-net": "1.5.3", - "web3-shh": "1.5.3", - "web3-utils": "1.5.3" + "assert": "^1.4.0", + "browser-pack": "^6.0.1", + "browser-resolve": "^2.0.0", + "browserify-zlib": "~0.2.0", + "buffer": "~5.2.1", + "cached-path-relative": "^1.0.0", + "concat-stream": "^1.6.0", + "console-browserify": "^1.1.0", + "constants-browserify": "~1.0.0", + "crypto-browserify": "^3.0.0", + "defined": "^1.0.0", + "deps-sort": "^2.0.1", + "domain-browser": "^1.2.0", + "duplexer2": "~0.1.2", + "events": "^3.0.0", + "glob": "^7.1.0", + "has": "^1.0.0", + "htmlescape": "^1.1.0", + "https-browserify": "^1.0.0", + "inherits": "~2.0.1", + "insert-module-globals": "^7.2.1", + "JSONStream": "^1.0.3", + "labeled-stream-splicer": "^2.0.0", + "mkdirp-classic": "^0.5.2", + "module-deps": "^6.2.3", + "os-browserify": "~0.3.0", + "parents": "^1.0.1", + "path-browserify": "^1.0.0", + "process": "~0.11.0", + "punycode": "^1.3.2", + "querystring-es3": "~0.2.0", + "read-only-stream": "^2.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.1.4", + "shasum-object": "^1.0.0", + "shell-quote": "^1.6.1", + "stream-browserify": "^3.0.0", + "stream-http": "^3.0.0", + "string_decoder": "^1.1.1", + "subarg": "^1.0.0", + "syntax-error": "^1.1.1", + "through2": "^2.0.0", + "timers-browserify": "^1.0.1", + "tty-browserify": "0.0.1", + "url": "~0.11.0", + "util": "~0.12.0", + "vm-browserify": "^1.0.0", + "xtend": "^4.0.0" + }, + "bin": { + "browserify": "bin/cmd.js" }, "engines": { - "node": ">=8.0.0" + "node": ">= 0.8" } }, - "node_modules/@truffle/interface-adapter/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/@truffle/interface-adapter/node_modules/web3-utils/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } }, - "node_modules/@truffle/provider": { - "version": "0.2.55", - "resolved": "https://registry.npmjs.org/@truffle/provider/-/provider-0.2.55.tgz", - "integrity": "sha512-Tjs2cZsmRnzgBtFNXwO8cc1W7jIv0UaaLt3fOzks7rSUETo7M11GJ4U+uoCHSntrIW7E6sYS3KecOpzqJPw3Hg==", + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "dependencies": { - "@truffle/error": "^0.1.0", - "@truffle/interface-adapter": "^0.5.17", - "web3": "1.5.3" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/@truffle/provider/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-rsa/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", "dev": true }, - "node_modules/@truffle/provider/node_modules/web3": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.5.3.tgz", - "integrity": "sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w==", + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, - "hasInstallScript": true, "dependencies": { - "web3-bzz": "1.5.3", - "web3-core": "1.5.3", - "web3-eth": "1.5.3", - "web3-eth-personal": "1.5.3", - "web3-net": "1.5.3", - "web3-shh": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" } }, - "node_modules/@truffle/provider/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "node_modules/browserify-sign/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" + "pako": "~1.0.5" } }, - "node_modules/@trufflesuite/chromafi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@trufflesuite/chromafi/-/chromafi-3.0.0.tgz", - "integrity": "sha512-oqWcOqn8nT1bwlPPfidfzS55vqcIDdpfzo3HbU9EnUmcSTX+I8z0UyUFI3tZQjByVJulbzxHxUGS3ZJPwK/GPQ==", + "node_modules/browserify/node_modules/buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", "dev": true, "dependencies": { - "camelcase": "^4.1.0", - "chalk": "^2.3.2", - "cheerio": "^1.0.0-rc.2", - "detect-indent": "^5.0.0", - "highlight.js": "^10.4.1", - "lodash.merge": "^4.6.2", - "strip-ansi": "^4.0.0", - "strip-indent": "^2.0.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" } }, - "node_modules/@trufflesuite/chromafi/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "node_modules/browserify/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/browserify/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/@trufflesuite/chromafi/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/browserify/node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" + "safe-buffer": "~5.1.0" } }, - "node_modules/@trufflesuite/chromafi/node_modules/camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "node_modules/browserify/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "base-x": "^3.0.2" } }, - "node_modules/@trufflesuite/chromafi/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" } }, - "node_modules/@trufflesuite/chromafi/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "color-name": "1.1.3" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/@trufflesuite/chromafi/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, - "node_modules/@trufflesuite/chromafi/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/buffer-to-arraybuffer": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", + "integrity": "sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==", + "dev": true + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "node_modules/bufferutil": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz", + "integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==", "dev": true, + "hasInstallScript": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, "engines": { - "node": ">=0.8.0" + "node": ">=6.14.2" } }, - "node_modules/@trufflesuite/chromafi/node_modules/has-flag": { + "node_modules/builtin-status-codes": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true }, - "node_modules/@trufflesuite/chromafi/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "dev": true, "dependencies": { - "ansi-regex": "^3.0.0" + "streamsearch": "^1.1.0" }, "engines": { - "node": ">=4" + "node": ">=10.16.0" } }, - "node_modules/@trufflesuite/chromafi/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "node_modules/@typechain/ethers-v5": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-8.0.3.tgz", - "integrity": "sha512-p85DhWgbE4prFkHcIQzQuAK1+TrgJLjkMSWdATKg6nO1FfWl7hX7mICsbgGgqmRh0+iPE29d/etqmbSAQlffPw==", + "node_modules/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", "dev": true, "dependencies": { - "lodash": "^4.17.15", - "ts-essentials": "^7.0.1" + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" }, - "peerDependencies": { - "@ethersproject/abi": "^5.0.0", - "@ethersproject/bytes": "^5.0.0", - "@ethersproject/providers": "^5.0.0", - "ethers": "^5.1.3", - "typechain": "^6.0.3", - "typescript": ">=4.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/@typechain/hardhat": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-3.0.0.tgz", - "integrity": "sha512-FpnIIXkDXm54XCHI/Z2iOet7h1MrFSvZfuljX9Uzc6FEjEfb01Tuzu8ywe2iquD3g5JXqovgdv+M54L/2Z6jkg==", + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "dependencies": { - "fs-extra": "^9.1.0" + "pump": "^3.0.0" }, - "peerDependencies": { - "hardhat": "^2.0.10", - "lodash": "^4.17.15", - "typechain": "^6.0.0" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@typechain/hardhat/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@types/abstract-leveldown": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", - "integrity": "sha512-q5veSX6zjUy/DlDhR4Y4cU0k2Ar+DT2LUraP00T19WLmTO6Se1djepCCaqU6nQrwcJ5Hyo/CWqxTzrrFg8eqbQ==", + "node_modules/cached-path-relative": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", + "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==", "dev": true }, - "node_modules/@types/bignumber.js": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/bignumber.js/-/bignumber.js-5.0.0.tgz", - "integrity": "sha512-0DH7aPGCClywOFaxxjE6UwpN2kQYe9LwuDQMv+zYA97j5GkOMo8e66LYT+a8JYU7jfmUFRZLa9KycxHDsKXJCA==", - "deprecated": "This is a stub types definition for bignumber.js (https://github.com/MikeMcl/bignumber.js/). bignumber.js provides its own type definitions, so you don't need @types/bignumber.js installed!", + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "dependencies": { - "bignumber.js": "*" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/bn.js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", - "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", "dev": true, "dependencies": { - "@types/node": "*" + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@types/cacheable-request": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "node_modules/caller-callsite/node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", "dev": true, - "dependencies": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" + "engines": { + "node": ">=4" } }, - "node_modules/@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", "dev": true, "dependencies": { - "@types/node": "*" + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", - "dev": true - }, - "node_modules/@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "dependencies": { - "@types/node": "*" + "engines": { + "node": ">=6" } }, - "node_modules/@types/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-UoOfVEzAUpeSPmjm7h1uk5MH6KZma2z2O7a75onTGjnNvAvMVrPzPL/vBbT65iIGHWj6rokwfmYcmxmlSf2uwg==", + "node_modules/camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", "dev": true, "dependencies": { - "@types/node": "*" + "no-case": "^2.2.0", + "upper-case": "^1.1.1" } }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" + "engines": { + "node": ">=6" } }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", - "dev": true - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "node_modules/chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "*" + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "node_modules/chai-bn": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/chai-bn/-/chai-bn-0.2.2.tgz", + "integrity": "sha512-MzjelH0p8vWn65QKmEq/DLBG1Hle4WeyqT79ANhXZhn/UxRWO0OogkAxi5oGGtfzwU9bZR8mvbvYdoqNVWQwFg==", "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" + "peerDependencies": { + "bn.js": "^4.11.0", + "chai": "^4.0.0" } }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "node_modules/@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "@types/node": "*" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/level-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.0.tgz", - "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==", - "dev": true - }, - "node_modules/@types/levelup": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz", - "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==", + "node_modules/change-case": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-3.0.2.tgz", + "integrity": "sha512-Mww+SLF6MZ0U6kdg11algyKd5BARbyM4TbFBepwowYSR5ClfQGCGtxNXgykpN0uF/bstWeaGDT4JWaDh8zWAHA==", "dev": true, "dependencies": { - "@types/abstract-leveldown": "*", - "@types/level-errors": "*", - "@types/node": "*" + "camel-case": "^3.0.0", + "constant-case": "^2.0.0", + "dot-case": "^2.1.0", + "header-case": "^1.0.0", + "is-lower-case": "^1.1.0", + "is-upper-case": "^1.1.0", + "lower-case": "^1.1.1", + "lower-case-first": "^1.0.0", + "no-case": "^2.3.2", + "param-case": "^2.1.0", + "pascal-case": "^2.0.0", + "path-case": "^2.1.0", + "sentence-case": "^2.1.0", + "snake-case": "^2.1.0", + "swap-case": "^1.1.0", + "title-case": "^2.1.0", + "upper-case": "^1.1.1", + "upper-case-first": "^1.1.0" } }, - "node_modules/@types/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, - "node_modules/@types/mkdirp": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", - "integrity": "sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==", + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", "dev": true, - "dependencies": { - "@types/node": "*" + "engines": { + "node": "*" } }, - "node_modules/@types/mocha": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-7.0.2.tgz", - "integrity": "sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==", - "dev": true - }, - "node_modules/@types/node": { - "version": "13.9.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.2.tgz", - "integrity": "sha512-bnoqK579sAYrQbp73wwglccjJ4sfRdKU7WNEZ5FW4K2U6Kc0/eZ5kvXG0JKsEKFB50zrFmfFt52/cvBbZa7eXg==", - "dev": true - }, - "node_modules/@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", "dev": true, - "dependencies": { - "@types/node": "*" + "engines": { + "node": "*" } }, - "node_modules/@types/prettier": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", - "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", - "dev": true - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "node_modules/@types/resolve": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", - "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", "dev": true, "dependencies": { - "@types/node": "*" + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" } }, - "node_modules/@types/responselike": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", - "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", "dev": true, "dependencies": { - "@types/node": "*" + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "dependencies": { - "@types/node": "*" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", "dev": true }, - "node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "node_modules/cids": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", + "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", + "deprecated": "This module has been superseded by the multiformats module", "dev": true, "dependencies": { - "@types/yargs-parser": "*" + "buffer": "^5.5.0", + "class-is": "^1.1.0", + "multibase": "~0.6.0", + "multicodec": "^1.0.0", + "multihashes": "~0.4.15" + }, + "engines": { + "node": ">=4.0.0", + "npm": ">=3.0.0" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", - "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", + "node_modules/cids/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "2.34.0", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^2.0.0", - "eslint": "^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", - "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", + "node_modules/cids/node_modules/multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "deprecated": "This module has been superseded by the multiformats module", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" + "buffer": "^5.6.0", + "varint": "^5.0.0" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", - "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "dependencies": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "node_modules/class-is": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", + "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==", + "dev": true + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, "engines": { "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/@typescript-eslint/parser": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", - "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", + "node_modules/cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", "dev": true, "dependencies": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.34.0", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-visitor-keys": "^1.1.0" + "object-assign": "^4.1.0", + "string-width": "^2.1.1" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0" + "node": ">=6" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "optionalDependencies": { + "colors": "^1.1.2" } }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", - "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true, - "dependencies": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">= 10" } }, - "node_modules/@typescript-eslint/parser/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.47.0.tgz", - "integrity": "sha512-dvJab4bFf7JVvjPuh3sfBUWsiD73aiftKBpWSfi3sUkysDQ4W8x+ZcFpNp7Kgv0weldhpmMOZBjx1wKN8uWvAw==", + "node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.47.0", - "@typescript-eslint/visitor-keys": "5.47.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=6" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.47.0.tgz", - "integrity": "sha512-1J+DFFrYoDUXQE1b7QjrNGARZE6uVhBqIvdaXTe5IN+NmEyD68qXR1qX1g2u4voA+nCaelQyG8w30SAOihhEYg==", + "node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.47.0", - "@typescript-eslint/utils": "5.47.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" + "ansi-regex": "^4.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=6" } }, - "node_modules/@typescript-eslint/types": { - "version": "5.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.47.0.tgz", - "integrity": "sha512-eslFG0Qy8wpGzDdYKu58CEr3WLkjwC5Usa6XbuV89ce/yN5RITLe1O8e+WFEuxnfftHiJImkkOBADj58ahRxSg==", + "node_modules/clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "dependencies": { + "mimic-response": "^1.0.0" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.47.0.tgz", - "integrity": "sha512-LxfKCG4bsRGq60Sqqu+34QT5qT2TEAHvSCCJ321uBWywgE2dS0LKcu5u+3sMGo+Vy9UmLOhdTw5JHzePV/1y4Q==", + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.47.0", - "@typescript-eslint/visitor-keys": "5.47.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.47.0.tgz", - "integrity": "sha512-U9xcc0N7xINrCdGVPwABjbAKqx4GK67xuMV87toI+HUqgXj26m6RBp9UshEXcTrgCkdGYFzgKLt8kxu49RilDw==", + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.47.0", - "@typescript-eslint/types": "5.47.0", - "@typescript-eslint/typescript-estree": "5.47.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", - "semver": "^7.3.7" + "color-name": "~1.1.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node": ">=7.0.0" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.47.0.tgz", - "integrity": "sha512-ByPi5iMa6QqDXe/GmT/hR6MZtVPi0SqMQPDx15FczCBXJo/7M8T88xReOALAfpBLm+zxpPfmhuEvPb577JRAEg==", + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.47.0", - "eslint-visitor-keys": "^3.3.0" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=0.1.90" } }, - "node_modules/@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true + "node_modules/combine-source-map": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", + "dev": true, + "dependencies": { + "convert-source-map": "~1.1.0", + "inline-source-map": "~0.6.0", + "lodash.memoize": "~3.0.3", + "source-map": "~0.5.3" + } }, - "node_modules/abbrev": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==", - "dev": true + "node_modules/combine-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "dependencies": { - "event-target-shim": "^5.0.0" + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">=6.5" + "node": ">= 0.8" } }, - "node_modules/abortcontroller-polyfill": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", - "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, - "node_modules/abstract-leveldown": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz", - "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, + "engines": [ + "node >= 0.8" + ], "dependencies": { - "buffer": "^5.5.0", - "immediate": "^3.2.3", - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "node_modules/abstract-leveldown/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/concat-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" + "safe-buffer": "~5.1.0" } }, - "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } + "optional": true, + "peer": true }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/constant-case": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz", + "integrity": "sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==", "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "dependencies": { + "snake-case": "^2.1.0", + "upper-case": "^1.1.1" } }, - "node_modules/acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "node_modules/contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha512-OKZnPGeMQy2RPaUIBPFFd71iNf4791H12MCRuVQDnzGRwCYNYmTDy5pdafo2SLAcEMKzTOQnLWG4QdcjeJUMEg==", "dev": true, - "dependencies": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/acorn-node/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, - "bin": { - "acorn": "bin/acorn" + "dependencies": { + "safe-buffer": "5.2.1" }, "engines": { - "node": ">=0.4.0" + "node": ">= 0.6" } }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "node_modules/content-hash": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", + "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", "dev": true, - "engines": { - "node": ">=0.4.0" + "dependencies": { + "cids": "^0.7.1", + "multicodec": "^0.5.5", + "multihashes": "^0.4.15" } }, - "node_modules/address": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.0.tgz", - "integrity": "sha512-tNEZYz5G/zYunxFm7sfhAxkXEuLj3K6BKwv6ZURlsF6yiUQ65z0Q2wZW9L5cPUl9ocofGvXOdFYbFHp0+6MOig==", + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", "dev": true, "engines": { - "node": ">= 10.0.0" + "node": ">= 0.6" } }, - "node_modules/adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "node_modules/convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true, "engines": { - "node": ">=0.3.0" + "node": ">= 0.6" } }, - "node_modules/adv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/adv/-/adv-0.1.5.tgz", - "integrity": "sha512-FUT3kbeDSWAYPW+jCXS5CFuDNN/LlLK+84tlkhAhhRV+E/oo9qISvZ2TliqyD8uH9eF2KBNS7T3TEWYellchZg==", + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/cookiejar": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", + "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==", + "dev": true + }, + "node_modules/core-js-pure": { + "version": "3.23.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.23.3.tgz", + "integrity": "sha512-XpoouuqIj4P+GWtdyV8ZO3/u4KftkeDVMfvp+308eGMhCrA3lVDSmAxO0c6GGOcmgVlaKDrgWVMo49h2ab/TDA==", "dev": true, - "dependencies": { - "minimist": "~1.2.0" - }, - "bin": { - "adv": "index.js" + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "dev": true }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, "dependencies": { - "debug": "4" + "object-assign": "^4", + "vary": "^1" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 0.10" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", "dev": true, "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "node_modules/cosmiconfig/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "sprintf-js": "~1.0.2" } }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "node_modules/cosmiconfig/node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", "dev": true, "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", - "dev": true, - "optional": true, "engines": { - "node": ">=0.4.2" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/cosmiconfig/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "node_modules/cosmiconfig/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/cosmiconfig/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" + "bin": { + "crc32": "bin/crc32.njs" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.8" } }, - "node_modules/antlr4": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/antlr4/-/antlr4-4.7.1.tgz", - "integrity": "sha512-haHyTW7Y9joE5MVs37P2lNYfU2RWBLfcRDD8OWldcdZm5TiCE91B5Xl1oWSwiDUSd4rlExpt2pu1fksYQjRBYQ==", - "dev": true - }, - "node_modules/antlr4ts": { - "version": "0.5.0-alpha.4", - "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz", - "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==", - "dev": true - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" } }, - "node_modules/aproba": { + "node_modules/create-hash": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, - "optional": true, - "peer": true - }, - "node_modules/are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "dev": true, - "optional": true, - "peer": true, "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, - "node_modules/are-we-there-yet/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/are-we-there-yet/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "safe-buffer": "~5.1.0" + "node-fetch": "2.6.7" } }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", "dev": true, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true - }, - "node_modules/array-includes": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", - "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", + "node_modules/crypto-addr-codec": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/crypto-addr-codec/-/crypto-addr-codec-0.1.7.tgz", + "integrity": "sha512-X4hzfBzNhy4mAc3UpiXEC/L0jo5E8wAa9unsnA8nNXYzXjCcGk83hfC5avJWCSGT8V91xMnAS9AKMHmjw5+XCg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" + "base-x": "^3.0.8", + "big-integer": "1.6.36", + "blakejs": "^1.1.0", + "bs58": "^4.0.1", + "ripemd160-min": "0.0.6", + "safe-buffer": "^5.2.0", + "sha3": "^2.1.1" } }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", - "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/array.prototype.reduce": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz", - "integrity": "sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==", + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - }, "engines": { - "node": ">= 0.4" + "node": ">= 6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "dev": true - }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "dev": true, "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" + "es5-ext": "^0.10.50", + "type": "^1.0.1" } }, - "node_modules/assert-plus": { + "node_modules/dash-ast": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", + "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", "dev": true }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dev": true, "dependencies": { - "inherits": "2.0.1" - } - }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, + "assert-plus": "^1.0.0" + }, "engines": { - "node": "*" + "node": ">=0.10" } }, - "node_modules/ast-parents": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/ast-parents/-/ast-parents-0.0.1.tgz", - "integrity": "sha512-XHusKxKz3zoYk1ic8Un640joHbFMhbqneyoZfoKnEGtf2ey9Uh/IdpcQplODdO/kENaMIWsD0nJm4+wX3UNLHA==", + "node_modules/death": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz", + "integrity": "sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==", "dev": true }, - "node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/async-eventemitter": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", - "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { - "async": "^2.4.0" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, "engines": { - "node": ">= 4.0.0" + "node": ">=0.10.0" } }, - "node_modules/atomic-sleep": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", - "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", "dev": true, "engines": { - "node": ">=8.0.0" + "node": ">=0.10" } }, - "node_modules/auto-bind": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-4.0.0.tgz", - "integrity": "sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==", + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "mimic-response": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "type-detect": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=6" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, + "optional": true, + "peer": true, "engines": { - "node": "*" + "node": ">=4.0.0" } }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "node_modules/axios": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz", - "integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==", + "node_modules/defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "node_modules/deferred-leveldown": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", + "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", "dev": true, "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" + "abstract-leveldown": "~6.2.1", + "inherits": "^2.0.3" + }, + "engines": { + "node": ">=6" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "node_modules/deferred-leveldown/node_modules/abstract-leveldown": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", + "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", "dev": true, "dependencies": { - "safe-buffer": "^5.0.1" + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "node_modules/deferred-leveldown/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "funding": [ { @@ -8196,162 +7089,136 @@ "type": "consulting", "url": "https://feross.org/support" } - ] - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dev": true, + ], "dependencies": { - "tweetnacl": "^0.14.3" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true - }, - "node_modules/bech32": { + "node_modules/define-properties": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==", - "dev": true - }, - "node_modules/big-integer": { - "version": "1.6.36", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.36.tgz", - "integrity": "sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/big.js": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.2.0.tgz", - "integrity": "sha512-paIKvJiAaOYdLt6MfnvxkDo64lTOV257XYJyX3oJnJQocIclUn+48k6ZerH/c5FxWE6DGJu1TKDYis7tqHg9kg==", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, "engines": { - "node": "*" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/bigjs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/bignumber.js": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", - "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==", - "dev": true, - "engines": { - "node": "*" - } + "node_modules/defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==", + "dev": true }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.4.0" } }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "dev": true, "optional": true, - "peer": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } + "peer": true }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/deps-sort": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", + "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "JSONStream": "^1.0.3", + "shasum-object": "^1.0.0", + "subarg": "^1.0.0", + "through2": "^2.0.0" + }, + "bin": { + "deps-sort": "bin/cmd.js" } }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "optional": true, - "peer": true, "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", - "dev": true + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true + "node_modules/detect-indent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", + "integrity": "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==", + "dev": true, + "engines": { + "node": ">=4" + } }, - "node_modules/bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "optional": true, + "peer": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } }, - "node_modules/body-parser": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "node_modules/detect-port": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", + "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", "dev": true, "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.10.3", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">= 4.2.1" } }, - "node_modules/body-parser/node_modules/debug": { + "node_modules/detect-port/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", @@ -8360,257 +7227,193 @@ "ms": "2.0.0" } }, - "node_modules/body-parser/node_modules/ms": { + "node_modules/detect-port/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "node_modules/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" }, - "engines": { - "node": ">=0.6" + "bin": { + "detective": "bin/detective.js" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.8.0" } }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true + "node_modules/diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "dev": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/difflib": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz", + "integrity": "sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "heap": ">= 0.2.0" }, "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "dev": true - }, - "node_modules/browser-pack": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", - "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "dependencies": { - "combine-source-map": "~0.8.0", - "defined": "^1.0.0", - "JSONStream": "^1.0.3", - "safe-buffer": "^5.1.1", - "through2": "^2.0.0", - "umd": "^3.0.0" + "path-type": "^4.0.0" }, - "bin": { - "browser-pack": "bin/cmd.js" + "engines": { + "node": ">=8" } }, - "node_modules/browser-resolve": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", - "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "dependencies": { - "resolve": "^1.17.0" + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "node_modules/browserify": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz", - "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==", + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, "dependencies": { - "assert": "^1.4.0", - "browser-pack": "^6.0.1", - "browser-resolve": "^2.0.0", - "browserify-zlib": "~0.2.0", - "buffer": "~5.2.1", - "cached-path-relative": "^1.0.0", - "concat-stream": "^1.6.0", - "console-browserify": "^1.1.0", - "constants-browserify": "~1.0.0", - "crypto-browserify": "^3.0.0", - "defined": "^1.0.0", - "deps-sort": "^2.0.1", - "domain-browser": "^1.2.0", - "duplexer2": "~0.1.2", - "events": "^3.0.0", - "glob": "^7.1.0", - "has": "^1.0.0", - "htmlescape": "^1.1.0", - "https-browserify": "^1.0.0", - "inherits": "~2.0.1", - "insert-module-globals": "^7.2.1", - "JSONStream": "^1.0.3", - "labeled-stream-splicer": "^2.0.0", - "mkdirp-classic": "^0.5.2", - "module-deps": "^6.2.3", - "os-browserify": "~0.3.0", - "parents": "^1.0.1", - "path-browserify": "^1.0.0", - "process": "~0.11.0", - "punycode": "^1.3.2", - "querystring-es3": "~0.2.0", - "read-only-stream": "^2.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.1.4", - "shasum-object": "^1.0.0", - "shell-quote": "^1.6.1", - "stream-browserify": "^3.0.0", - "stream-http": "^3.0.0", - "string_decoder": "^1.1.1", - "subarg": "^1.0.0", - "syntax-error": "^1.1.1", - "through2": "^2.0.0", - "timers-browserify": "^1.0.1", - "tty-browserify": "0.0.1", - "url": "~0.11.0", - "util": "~0.12.0", - "vm-browserify": "^1.0.0", - "xtend": "^4.0.0" - }, - "bin": { - "browserify": "bin/cmd.js" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" }, - "engines": { - "node": ">= 0.8" + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/browserify-aes": { + "node_modules/dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", + "dev": true + }, + "node_modules/domain-browser": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true, - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "engines": { + "node": ">=0.4", + "npm": ">=1.2" } }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true, - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "node_modules/domutils": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", "dev": true, "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/browserify-rsa/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "node_modules/dot-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz", + "integrity": "sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug==", "dev": true, "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" + "no-case": "^2.2.0" } }, - "node_modules/browserify-sign/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "node_modules/dotenv": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", + "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==", "dev": true, - "dependencies": { - "pako": "~1.0.5" + "engines": { + "node": ">=12" } }, - "node_modules/browserify/node_modules/buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", "dev": true, "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + "readable-stream": "^2.0.2" } }, - "node_modules/browserify/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - }, - "node_modules/browserify/node_modules/readable-stream": { + "node_modules/duplexer2/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", @@ -8625,7 +7428,13 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/browserify/node_modules/readable-stream/node_modules/string_decoder": { + "node_modules/duplexer2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/duplexer2/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", @@ -8634,743 +7443,782 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/browserify/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "node_modules/duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==", "dev": true }, - "node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dev": true, "dependencies": { - "base-x": "^3.0.2" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, "dependencies": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", - "dev": true - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/buffer-reverse": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-reverse/-/buffer-reverse-1.0.1.tgz", - "integrity": "sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg==", - "dev": true - }, - "node_modules/buffer-to-arraybuffer": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", - "integrity": "sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==", + "node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "node_modules/buffer-xor": { + "node_modules/encode-utf8": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", "dev": true }, - "node_modules/bufferutil": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz", - "integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==", + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding-down": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", + "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", "dev": true, - "hasInstallScript": true, "dependencies": { - "node-gyp-build": "^4.3.0" + "abstract-leveldown": "^6.2.1", + "inherits": "^2.0.3", + "level-codec": "^9.0.0", + "level-errors": "^2.0.0" }, "engines": { - "node": ">=6.14.2" + "node": ">=6" } }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "dev": true + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, "dependencies": { - "streamsearch": "^1.1.0" + "ansi-colors": "^4.1.1" }, "engines": { - "node": ">=10.16.0" + "node": ">=8.6" } }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "node_modules/entities": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.0.tgz", + "integrity": "sha512-/iP1rZrSEJ0DTlPiX+jbzlA3eVkY/e8L8SozroF395fIqE3TYF/Nz7YOMAawta+vLmyJ/hkGNNPcSbMADCCXbg==", "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/cacheable-lookup": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz", - "integrity": "sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww==", + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true, "engines": { - "node": ">=10.6.0" + "node": ">=6" } }, - "node_modules/cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" + "prr": "~1.0.1" }, - "engines": { - "node": ">=8" + "bin": { + "errno": "cli.js" } }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "dependencies": { - "pump": "^3.0.0" + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", + "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "node_modules/es-abstract/node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cached-path-relative": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", - "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==", + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", "dev": true }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "has": "^1.0.3" } }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "dependencies": { - "callsites": "^2.0.0" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, "engines": { - "node": ">=4" - } - }, - "node_modules/caller-callsite/node_modules/callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", - "dev": true, - "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "node_modules/es5-ext": { + "version": "0.10.61", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.61.tgz", + "integrity": "sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA==", "dev": true, + "hasInstallScript": true, "dependencies": { - "caller-callsite": "^2.0.0" + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" }, "engines": { - "node": ">=4" + "node": ">=0.10" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", "dev": true, - "engines": { - "node": ">=6" + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, - "node_modules/camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", "dev": true, "dependencies": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" + "d": "^1.0.1", + "ext": "^1.1.2" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, "engines": { "node": ">=6" } }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true }, - "node_modules/cbor": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", - "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", + "node_modules/escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==", "dev": true, "dependencies": { - "nofilter": "^3.1.0" + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1" }, - "engines": { - "node": ">=12.19" - } - }, - "node_modules/chai": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", - "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", - "dev": true, - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": ">=4" + "node": ">=0.12.0" + }, + "optionalDependencies": { + "source-map": "~0.2.0" } }, - "node_modules/chai-as-promised": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", - "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", + "node_modules/escodegen/node_modules/esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", "dev": true, - "dependencies": { - "check-error": "^1.0.2" + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, - "peerDependencies": { - "chai": ">= 2.1.2 < 5" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/chai-bn": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/chai-bn/-/chai-bn-0.2.2.tgz", - "integrity": "sha512-MzjelH0p8vWn65QKmEq/DLBG1Hle4WeyqT79ANhXZhn/UxRWO0OogkAxi5oGGtfzwU9bZR8mvbvYdoqNVWQwFg==", + "node_modules/escodegen/node_modules/estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==", "dev": true, - "peerDependencies": { - "bn.js": "^4.11.0", - "chai": "^4.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/chai-subset": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/chai-subset/-/chai-subset-1.6.0.tgz", - "integrity": "sha512-K3d+KmqdS5XKW5DWPd5sgNffL3uxdDe+6GdnJh3AYPhwnBGRY5urfvfcbRtWIvvpz+KxkL9FeBB6MZewLUNwug==", + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 0.8.0" } }, - "node_modules/change-case": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/change-case/-/change-case-3.0.2.tgz", - "integrity": "sha512-Mww+SLF6MZ0U6kdg11algyKd5BARbyM4TbFBepwowYSR5ClfQGCGtxNXgykpN0uF/bstWeaGDT4JWaDh8zWAHA==", + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "dev": true, - "dependencies": { - "camel-case": "^3.0.0", - "constant-case": "^2.0.0", - "dot-case": "^2.1.0", - "header-case": "^1.0.0", - "is-lower-case": "^1.1.0", - "is-upper-case": "^1.1.0", - "lower-case": "^1.1.1", - "lower-case-first": "^1.0.0", - "no-case": "^2.3.2", - "param-case": "^2.1.0", - "pascal-case": "^2.0.0", - "path-case": "^2.1.0", - "sentence-case": "^2.1.0", - "snake-case": "^2.1.0", - "swap-case": "^1.1.0", - "title-case": "^2.1.0", - "upper-case": "^1.1.1", - "upper-case-first": "^1.1.0" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "node_modules/charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "node_modules/escodegen/node_modules/source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==", "dev": true, + "optional": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, "engines": { - "node": "*" + "node": ">=0.8.0" } }, - "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, "engines": { - "node": "*" + "node": ">= 0.8.0" } }, - "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", - "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "node_modules/eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", "dev": true, "dependencies": { - "cheerio-select": "^2.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", - "parse5": "^7.0.0", - "parse5-htmlparser2-tree-adapter": "^7.0.0" + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": ">= 6" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" }, "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + "url": "https://opencollective.com/eslint" } }, - "node_modules/cheerio-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "node_modules/eslint-config-prettier": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz", + "integrity": "sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==", "dev": true, "dependencies": { - "boolbase": "^1.0.0", - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1" + "get-stdin": "^6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "bin": { + "eslint-config-prettier-check": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=3.14.1" } }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "debug": "^3.2.7", + "resolve": "^1.20.0" } }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } }, - "node_modules/cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "deprecated": "This module has been superseded by the multiformats module", + "node_modules/eslint-module-utils": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", + "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", "dev": true, "dependencies": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" + "debug": "^3.2.7", + "find-up": "^2.1.0" }, "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" + "node": ">=4" } }, - "node_modules/cids/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "ms": "^2.1.1" } }, - "node_modules/cids/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", + "node_modules/eslint-module-utils/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "dev": true, "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "node_modules/eslint-module-utils/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==", - "dev": true - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "node_modules/eslint-module-utils/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/eslint-module-utils/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "dev": true, "dependencies": { - "restore-cursor": "^3.1.0" + "p-limit": "^1.1.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "node_modules/eslint-module-utils/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.20.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.2.tgz", + "integrity": "sha512-FObidqpXrR8OnCh4iNsxy+WACztJLXAHBO5hK79T1Hc77PgQZkyDGA5Ag9xAvRpglvLNxhH/zSmZ70/pZ31dHg==", "dev": true, "dependencies": { - "object-assign": "^4.1.0", - "string-width": "^2.1.1" + "array-includes": "^3.0.3", + "array.prototype.flat": "^1.2.1", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.2", + "eslint-module-utils": "^2.4.1", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.0", + "read-pkg-up": "^2.0.0", + "resolve": "^1.12.0" }, "engines": { - "node": ">=6" + "node": ">=4" }, - "optionalDependencies": { - "colors": "^1.1.2" + "peerDependencies": { + "eslint": "2.x - 6.x" } }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha512-lsGyRuYr4/PIB0txi+Fy2xOMI2dGaTguCaotzFGkVZuKR5usKfcRWIFKNM3QNrU7hh/+w2bwTW+ZeXPK5l8uVg==", "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + }, "engines": { - "node": ">= 10" + "node": ">=0.10.0" } }, - "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "node_modules/eslint-plugin-import/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "dev": true, "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "node_modules/eslint-plugin-import/node_modules/load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/cliui/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "node_modules/eslint-plugin-import/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "dev": true, "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/eslint-plugin-import/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/eslint-plugin-import/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "p-try": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", + "node_modules/eslint-plugin-import/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "dev": true, "dependencies": { - "mimic-response": "^1.0.0" + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "node_modules/eslint-plugin-import/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/eslint-plugin-import/node_modules/path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "pify": "^2.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=4" } }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "node_modules/eslint-plugin-import/node_modules/read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==", "dev": true, + "dependencies": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, "engines": { - "node": ">=0.1.90" + "node": ">=4" } }, - "node_modules/combine-source-map": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", - "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==", + "node_modules/eslint-plugin-import/node_modules/read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==", "dev": true, "dependencies": { - "convert-source-map": "~1.1.0", - "inline-source-map": "~0.6.0", - "lodash.memoize": "~3.0.3", - "source-map": "~0.5.3" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/combine-source-map/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "node_modules/eslint-plugin-import/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "dependencies": { - "delayed-stream": "~1.0.0" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">= 0.8" + "node": ">=8.0.0" } }, - "node_modules/command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", - "dev": true - }, - "node_modules/command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "node_modules/eslint/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, - "dependencies": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">=4.0.0" + "node": ">=0.4.0" } }, - "node_modules/command-line-usage": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", - "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "dependencies": { - "array-back": "^4.0.2", - "chalk": "^2.4.2", - "table-layout": "^1.0.2", - "typical": "^5.2.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, "engines": { - "node": ">=8.0.0" + "node": ">=6" } }, - "node_modules/command-line-usage/node_modules/ansi-styles": { + "node_modules/eslint/node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", @@ -9382,16 +8230,16 @@ "node": ">=4" } }, - "node_modules/command-line-usage/node_modules/array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "node_modules/eslint/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "sprintf-js": "~1.0.2" } }, - "node_modules/command-line-usage/node_modules/chalk": { + "node_modules/eslint/node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", @@ -9405,7 +8253,7 @@ "node": ">=4" } }, - "node_modules/command-line-usage/node_modules/color-convert": { + "node_modules/eslint/node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", @@ -9414,13 +8262,38 @@ "color-name": "1.1.3" } }, - "node_modules/command-line-usage/node_modules/color-name": { + "node_modules/eslint/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, - "node_modules/command-line-usage/node_modules/escape-string-regexp": { + "node_modules/eslint/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/eslint/node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", @@ -9429,1862 +8302,2200 @@ "node": ">=0.8.0" } }, - "node_modules/command-line-usage/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/eslint/node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, "engines": { "node": ">=4" } }, - "node_modules/command-line-usage/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/eslint/node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" }, "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/command-line-usage/node_modules/typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "node_modules/eslint/node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, + "dependencies": { + "flat-cache": "^2.0.1" + }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/compare-versions": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-4.1.3.tgz", - "integrity": "sha512-WQfnbDcrYnGr55UwbxKiQKASnTtNnaAWVi8jZyy8NTpVAXWACSne8lMD1iaIo9AiU6mnuLvSVshCzewVuWxHUg==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/eslint/node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "engines": { + "node": ">=4" } }, - "node_modules/concat-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "node_modules/eslint/node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/eslint/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true + "node_modules/eslint/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, - "optional": true, - "peer": true + "engines": { + "node": ">= 4" + } }, - "node_modules/constant-case": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz", - "integrity": "sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==", + "node_modules/eslint/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "dependencies": { - "snake-case": "^2.1.0", - "upper-case": "^1.1.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "node_modules/contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha512-OKZnPGeMQy2RPaUIBPFFd71iNf4791H12MCRuVQDnzGRwCYNYmTDy5pdafo2SLAcEMKzTOQnLWG4QdcjeJUMEg==", + "node_modules/eslint/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "node_modules/eslint/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, "dependencies": { - "safe-buffer": "5.2.1" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8.0" } }, - "node_modules/content-hash": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", - "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", + "node_modules/eslint/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", "dev": true, - "dependencies": { - "cids": "^0.7.1", - "multicodec": "^0.5.5", - "multihashes": "^0.4.15" + "engines": { + "node": ">=4" } }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "node_modules/eslint/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">= 0.8.0" } }, - "node_modules/convert-source-map": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", - "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==", - "dev": true - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "node_modules/eslint/node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=6.5.0" } }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true - }, - "node_modules/cookiejar": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==", - "dev": true - }, - "node_modules/core-js-pure": { - "version": "3.23.3", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.23.3.tgz", - "integrity": "sha512-XpoouuqIj4P+GWtdyV8ZO3/u4KftkeDVMfvp+308eGMhCrA3lVDSmAxO0c6GGOcmgVlaKDrgWVMo49h2ab/TDA==", + "node_modules/eslint/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true + "node_modules/eslint/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "node_modules/eslint/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, "dependencies": { - "object-assign": "^4", - "vary": "^1" + "shebang-regex": "^1.0.0" }, "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "node_modules/eslint/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true, - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/cosmiconfig/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/eslint/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "dependencies": { - "sprintf-js": "~1.0.2" + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/cosmiconfig/node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "node_modules/eslint/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" + "has-flag": "^3.0.0" }, "engines": { "node": ">=4" } }, - "node_modules/cosmiconfig/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/eslint/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dev": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "prelude-ls": "~1.1.2" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/cosmiconfig/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "node_modules/eslint/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/cosmiconfig/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "node_modules/eslint/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, "bin": { - "crc32": "bin/crc32.njs" + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">=0.8" + "node": ">=4" } }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" } }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "engines": { + "node": ">=4.0" } }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" } }, - "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "dependencies": { - "node-fetch": "2.6.7" + "engines": { + "node": ">=4.0" } }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, "engines": { - "node": ">= 8" + "node": ">=4.0" } }, - "node_modules/crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/crypto-addr-codec": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/crypto-addr-codec/-/crypto-addr-codec-0.1.7.tgz", - "integrity": "sha512-X4hzfBzNhy4mAc3UpiXEC/L0jo5E8wAa9unsnA8nNXYzXjCcGk83hfC5avJWCSGT8V91xMnAS9AKMHmjw5+XCg==", + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, - "dependencies": { - "base-x": "^3.0.8", - "big-integer": "1.6.36", - "blakejs": "^1.1.0", - "bs58": "^4.0.1", - "ripemd160-min": "0.0.6", - "safe-buffer": "^5.2.0", - "sha3": "^2.1.1" + "engines": { + "node": ">= 0.6" } }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "node_modules/eth-ens-namehash": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", + "integrity": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==", "dev": true, "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" + "idna-uts46-hx": "^2.3.1", + "js-sha3": "^0.5.7" } }, - "node_modules/crypto-js": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.3.0.tgz", - "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==", + "node_modules/eth-ens-namehash/node_modules/js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", "dev": true }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "node_modules/eth-gas-reporter": { + "version": "0.2.25", + "resolved": "https://registry.npmjs.org/eth-gas-reporter/-/eth-gas-reporter-0.2.25.tgz", + "integrity": "sha512-1fRgyE4xUB8SoqLgN3eDfpDfwEfRxh2Sz1b7wzFbyQA+9TekMmvSjjoRu9SKcSVyK+vLkLIsVbJDsTWjw195OQ==", "dev": true, "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" + "@ethersproject/abi": "^5.0.0-beta.146", + "@solidity-parser/parser": "^0.14.0", + "cli-table3": "^0.5.0", + "colors": "1.4.0", + "ethereum-cryptography": "^1.0.3", + "ethers": "^4.0.40", + "fs-readdir-recursive": "^1.1.0", + "lodash": "^4.17.14", + "markdown-table": "^1.1.3", + "mocha": "^7.1.1", + "req-cwd": "^2.0.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.5", + "sha1": "^1.1.1", + "sync-request": "^6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "engines": { - "node": ">= 6" + "peerDependencies": { + "@codechecks/client": "^0.1.0" }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "peerDependenciesMeta": { + "@codechecks/client": { + "optional": true + } } }, - "node_modules/d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dev": true, - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" + "node_modules/eth-gas-reporter/node_modules/ethereum-cryptography": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.1.0.tgz", + "integrity": "sha512-wyNVTBR4wIR2yoXdMv4Qt44mTVBpPgSW/DQCTmNO6nQluwpyrAIvmL4mxPbziFuc6VWJQa3rwUxn0nUFU03nyQ==", + "dev": true, + "dependencies": { + "@noble/hashes": "1.1.1", + "@noble/secp256k1": "1.6.0", + "@scure/bip32": "1.1.0", + "@scure/bip39": "1.1.0" } }, - "node_modules/dash-ast": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", - "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", - "dev": true + "node_modules/eth-gas-reporter/node_modules/ethers": { + "version": "4.0.49", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", + "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "dev": true, + "dependencies": { + "aes-js": "3.0.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + } }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "node_modules/eth-gas-reporter/node_modules/hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", "dev": true, "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/death": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz", - "integrity": "sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==", + "node_modules/eth-gas-reporter/node_modules/js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", "dev": true }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/eth-gas-reporter/node_modules/scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "dev": true + }, + "node_modules/eth-gas-reporter/node_modules/setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", + "dev": true + }, + "node_modules/eth-gas-reporter/node_modules/uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true + }, + "node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", "dev": true, "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "node_modules/ethereum-bloom-filters": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", + "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "js-sha3": "^0.8.0" } }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", "dev": true, - "engines": { - "node": ">=0.10" + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" } }, - "node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "node_modules/ethereumjs-abi": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", + "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", "dev": true, "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" + "bn.js": "^4.11.8", + "ethereumjs-util": "^6.0.0" } }, - "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "node_modules/ethereumjs-abi/node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", "dev": true, "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=6" + "@types/node": "*" } }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", "dev": true, - "engines": { - "node": ">=4.0.0" + "dependencies": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "node_modules/ethereumjs-common": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz", + "integrity": "sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA==", + "deprecated": "New package name format for new versions: @ethereumjs/common. Please update.", "dev": true }, - "node_modules/defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", - "dev": true + "node_modules/ethereumjs-tx": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", + "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", + "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", + "dev": true, + "dependencies": { + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" + } }, - "node_modules/deferred-leveldown": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", - "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", + "node_modules/ethereumjs-tx/node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", "dev": true, "dependencies": { - "abstract-leveldown": "~6.2.1", - "inherits": "^2.0.3" - }, - "engines": { - "node": ">=6" + "@types/node": "*" } }, - "node_modules/deferred-leveldown/node_modules/abstract-leveldown": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", - "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "node_modules/ethereumjs-tx/node_modules/ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", "dev": true, "dependencies": { - "buffer": "^5.5.0", - "immediate": "^3.2.3", - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + }, + "node_modules/ethereumjs-util": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", + "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", + "dev": true, + "dependencies": { + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "rlp": "^2.2.4" }, "engines": { - "node": ">=6" + "node": ">=10.0.0" } }, - "node_modules/deferred-leveldown/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "node_modules/ethereumjs-util/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/ethers": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.5.1.tgz", + "integrity": "sha512-RodEvUFZI+EmFcE6bwkuJqpCYHazdzeR1nMzg+YWQSmQEsNtfl1KHGfp/FWZYl48bI/g7cgBeP2IlPthjiVngw==", "dev": true, "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" }, { - "type": "consulting", - "url": "https://feross.org/support" + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" } ], "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "@ethersproject/abi": "5.5.0", + "@ethersproject/abstract-provider": "5.5.1", + "@ethersproject/abstract-signer": "5.5.0", + "@ethersproject/address": "5.5.0", + "@ethersproject/base64": "5.5.0", + "@ethersproject/basex": "5.5.0", + "@ethersproject/bignumber": "5.5.0", + "@ethersproject/bytes": "5.5.0", + "@ethersproject/constants": "5.5.0", + "@ethersproject/contracts": "5.5.0", + "@ethersproject/hash": "5.5.0", + "@ethersproject/hdnode": "5.5.0", + "@ethersproject/json-wallets": "5.5.0", + "@ethersproject/keccak256": "5.5.0", + "@ethersproject/logger": "5.5.0", + "@ethersproject/networks": "5.5.0", + "@ethersproject/pbkdf2": "5.5.0", + "@ethersproject/properties": "5.5.0", + "@ethersproject/providers": "5.5.0", + "@ethersproject/random": "5.5.0", + "@ethersproject/rlp": "5.5.0", + "@ethersproject/sha2": "5.5.0", + "@ethersproject/signing-key": "5.5.0", + "@ethersproject/solidity": "5.5.0", + "@ethersproject/strings": "5.5.0", + "@ethersproject/transactions": "5.5.0", + "@ethersproject/units": "5.5.0", + "@ethersproject/wallet": "5.5.0", + "@ethersproject/web": "5.5.0", + "@ethersproject/wordlists": "5.5.0" } }, - "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "node_modules/ethers/node_modules/@ethersproject/abi": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.5.0.tgz", + "integrity": "sha512-loW7I4AohP5KycATvc0MgujU6JyCHPqHdeoo9z3Nr9xEiNioxa65ccdm1+fsoJhkuhdRtfcL8cfyGamz2AxZ5w==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@ethersproject/address": "^5.5.0", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/constants": "^5.5.0", + "@ethersproject/hash": "^5.5.0", + "@ethersproject/keccak256": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/strings": "^5.5.0" } }, - "node_modules/defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==", - "dev": true - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "node_modules/ethers/node_modules/@ethersproject/abstract-provider": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.5.1.tgz", + "integrity": "sha512-m+MA/ful6eKbxpr99xUYeRvLkfnlqzrF8SZ46d/xFB1A7ZVknYc/sXJG0RcufF52Qn2jeFj1hhcoQ7IXjNKUqg==", "dev": true, - "engines": { - "node": ">=0.4.0" + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/networks": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/transactions": "^5.5.0", + "@ethersproject/web": "^5.5.0" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/ethers/node_modules/@ethersproject/abstract-signer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.5.0.tgz", + "integrity": "sha512-lj//7r250MXVLKI7sVarXAbZXbv9P50lgmJQGr2/is82EwEb8r7HrxsmMqAjTsztMYy7ohrIhGMIml+Gx4D3mA==", "dev": true, - "engines": { - "node": ">= 0.8" + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.5.0", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/properties": "^5.5.0" } }, - "node_modules/deps-sort": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", - "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", + "node_modules/ethers/node_modules/@ethersproject/address": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.5.0.tgz", + "integrity": "sha512-l4Nj0eWlTUh6ro5IbPTgbpT4wRbdH5l8CQf7icF7sb/SI3Nhd9Y9HzhonTSTi6CefI0necIw7LJqQPopPLZyWw==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "JSONStream": "^1.0.3", - "shasum-object": "^1.0.0", - "subarg": "^1.0.0", - "through2": "^2.0.0" - }, - "bin": { - "deps-sort": "bin/cmd.js" + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/keccak256": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/rlp": "^5.5.0" } }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "node_modules/ethers/node_modules/@ethersproject/base64": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.5.0.tgz", + "integrity": "sha512-tdayUKhU1ljrlHzEWbStXazDpsx4eg1dBXUSI6+mHlYklOXoXF6lZvw8tnD6oVaWfnMxAgRSKROg3cVKtCcppA==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "@ethersproject/bytes": "^5.5.0" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "node_modules/ethers/node_modules/@ethersproject/basex": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.5.0.tgz", + "integrity": "sha512-ZIodwhHpVJ0Y3hUCfUucmxKsWQA5TMnavp5j/UOuDdzZWzJlRmuOjcTMIGgHCYuZmHt36BfiSyQPSRskPxbfaQ==", "dev": true, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/properties": "^5.5.0" } }, - "node_modules/detect-indent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", - "integrity": "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==", + "node_modules/ethers/node_modules/@ethersproject/bignumber": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.5.0.tgz", + "integrity": "sha512-6Xytlwvy6Rn3U3gKEc1vP7nR92frHkv6wtVr95LFR3jREXiCPzdWxKQ1cx4JGQBXxcguAwjA8murlYN2TSiEbg==", "dev": true, - "engines": { - "node": ">=4" + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "bn.js": "^4.11.9" } }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "dev": true, - "optional": true, - "peer": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/detect-port": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", - "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", - "dev": true, - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" - } - }, - "node_modules/detect-port/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/ethers/node_modules/@ethersproject/bytes": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.5.0.tgz", + "integrity": "sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "ms": "2.0.0" + "@ethersproject/logger": "^5.5.0" } }, - "node_modules/detect-port/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/detective": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "node_modules/ethers/node_modules/@ethersproject/constants": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.5.0.tgz", + "integrity": "sha512-2MsRRVChkvMWR+GyMGY4N1sAX9Mt3J9KykCsgUFd/1mwS0UH1qw+Bv9k1UJb3X3YJYFco9H20pjSlOIfCG5HYQ==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "acorn-node": "^1.8.2", - "defined": "^1.0.0", - "minimist": "^1.2.6" - }, - "bin": { - "detective": "bin/detective.js" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", - "dev": true, - "engines": { - "node": ">= 10.14.2" + "@ethersproject/bignumber": "^5.5.0" } }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "node_modules/ethers/node_modules/@ethersproject/contracts": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.5.0.tgz", + "integrity": "sha512-2viY7NzyvJkh+Ug17v7g3/IJC8HqZBDcOjYARZLdzRxrfGlRgmYgl6xPRKVbEzy1dWKw/iv7chDcS83pg6cLxg==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "@ethersproject/abi": "^5.5.0", + "@ethersproject/abstract-provider": "^5.5.0", + "@ethersproject/abstract-signer": "^5.5.0", + "@ethersproject/address": "^5.5.0", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/constants": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/transactions": "^5.5.0" } }, - "node_modules/difflib": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz", - "integrity": "sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==", + "node_modules/ethers/node_modules/@ethersproject/hash": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.5.0.tgz", + "integrity": "sha512-dnGVpK1WtBjmnp3mUT0PlU2MpapnwWI0PibldQEq1408tQBAbZpPidkWoVVuNMOl/lISO3+4hXZWCL3YV7qzfg==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "heap": ">= 0.2.0" - }, - "engines": { - "node": "*" + "@ethersproject/abstract-signer": "^5.5.0", + "@ethersproject/address": "^5.5.0", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/keccak256": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/strings": "^5.5.0" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/ethers/node_modules/@ethersproject/hdnode": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.5.0.tgz", + "integrity": "sha512-mcSOo9zeUg1L0CoJH7zmxwUG5ggQHU1UrRf8jyTYy6HxdZV+r0PBoL1bxr+JHIPXRzS6u/UW4mEn43y0tmyF8Q==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@ethersproject/abstract-signer": "^5.5.0", + "@ethersproject/basex": "^5.5.0", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/pbkdf2": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/sha2": "^5.5.0", + "@ethersproject/signing-key": "^5.5.0", + "@ethersproject/strings": "^5.5.0", + "@ethersproject/transactions": "^5.5.0", + "@ethersproject/wordlists": "^5.5.0" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/ethers/node_modules/@ethersproject/json-wallets": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.5.0.tgz", + "integrity": "sha512-9lA21XQnCdcS72xlBn1jfQdj2A1VUxZzOzi9UkNdnokNKke/9Ya2xA9aIK1SC3PQyBDLt4C+dfps7ULpkvKikQ==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" + "@ethersproject/abstract-signer": "^5.5.0", + "@ethersproject/address": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/hdnode": "^5.5.0", + "@ethersproject/keccak256": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/pbkdf2": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/random": "^5.5.0", + "@ethersproject/strings": "^5.5.0", + "@ethersproject/transactions": "^5.5.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" } }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "node_modules/ethers/node_modules/@ethersproject/keccak256": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.5.0.tgz", + "integrity": "sha512-5VoFCTjo2rYbBe1l2f4mccaRFN/4VQEYFwwn04aJV2h7qf4ZvI2wFxUE1XOX+snbwCLRzIeikOqtAoPwMza9kg==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", - "dev": true - }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true, - "engines": { - "node": ">=0.4", - "npm": ">=1.2" + "@ethersproject/bytes": "^5.5.0", + "js-sha3": "0.8.0" } }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "node_modules/ethers/node_modules/@ethersproject/logger": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.5.0.tgz", + "integrity": "sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg==", "dev": true, "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/fb55" + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" } ] }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "node_modules/ethers/node_modules/@ethersproject/networks": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.5.0.tgz", + "integrity": "sha512-KWfP3xOnJeF89Uf/FCJdV1a2aDJe5XTN2N52p4fcQ34QhDqQFkgQKZ39VGtiqUgHcLI8DfT0l9azC3KFTunqtA==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "@ethersproject/logger": "^5.5.0" } }, - "node_modules/domutils": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", - "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "node_modules/ethers/node_modules/@ethersproject/pbkdf2": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.5.0.tgz", + "integrity": "sha512-SaDvQFvXPnz1QGpzr6/HToLifftSXGoXrbpZ6BvoZhmx4bNLHrxDe8MZisuecyOziP1aVEwzC2Hasj+86TgWVg==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.1" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/sha2": "^5.5.0" } }, - "node_modules/dot-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz", - "integrity": "sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug==", + "node_modules/ethers/node_modules/@ethersproject/properties": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.5.0.tgz", + "integrity": "sha512-l3zRQg3JkD8EL3CPjNK5g7kMx4qSwiR60/uk5IVjd3oq1MZR5qUg40CNOoEJoX5wc3DyY5bt9EbMk86C7x0DNA==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "no-case": "^2.2.0" - } - }, - "node_modules/dotenv": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", - "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==", - "dev": true, - "engines": { - "node": ">=12" + "@ethersproject/logger": "^5.5.0" } }, - "node_modules/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "node_modules/ethers/node_modules/@ethersproject/providers": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.5.0.tgz", + "integrity": "sha512-xqMbDnS/FPy+J/9mBLKddzyLLAQFjrVff5g00efqxPzcAwXiR+SiCGVy6eJ5iAIirBOATjx7QLhDNPGV+AEQsw==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "readable-stream": "^2.0.2" + "@ethersproject/abstract-provider": "^5.5.0", + "@ethersproject/abstract-signer": "^5.5.0", + "@ethersproject/address": "^5.5.0", + "@ethersproject/basex": "^5.5.0", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/constants": "^5.5.0", + "@ethersproject/hash": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/networks": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/random": "^5.5.0", + "@ethersproject/rlp": "^5.5.0", + "@ethersproject/sha2": "^5.5.0", + "@ethersproject/strings": "^5.5.0", + "@ethersproject/transactions": "^5.5.0", + "@ethersproject/web": "^5.5.0", + "bech32": "1.1.4", + "ws": "7.4.6" } }, - "node_modules/duplexer2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/ethers/node_modules/@ethersproject/random": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.5.0.tgz", + "integrity": "sha512-egGYZwZ/YIFKMHcoBUo8t3a8Hb/TKYX8BCBoLjudVCZh892welR3jOxgOmb48xznc9bTcMm7Tpwc1gHC1PFNFQ==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/logger": "^5.5.0" } }, - "node_modules/duplexer2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/duplexer2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/ethers/node_modules/@ethersproject/rlp": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.5.0.tgz", + "integrity": "sha512-hLv8XaQ8PTI9g2RHoQGf/WSxBfTB/NudRacbzdxmst5VHAqd1sMibWG7SENzT5Dj3yZ3kJYx+WiRYEcQTAkcYA==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "safe-buffer": "~5.1.0" + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/logger": "^5.5.0" } }, - "node_modules/duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==", - "dev": true - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "node_modules/ethers/node_modules/@ethersproject/sha2": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.5.0.tgz", + "integrity": "sha512-B5UBoglbCiHamRVPLA110J+2uqsifpZaTmid2/7W5rbtYVz6gus6/hSDieIU/6gaKIDcOj12WnOdiymEUHIAOA==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "hash.js": "1.1.7" } }, - "node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "node_modules/ethers/node_modules/@ethersproject/signing-key": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.5.0.tgz", + "integrity": "sha512-5VmseH7qjtNmDdZBswavhotYbWB0bOwKIlOTSlX14rKn5c11QmJwGt4GHeo7NrL/Ycl7uo9AHvEqs5xZgFBTng==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "safe-buffer": "^5.0.1" + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.7" } }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true + "node_modules/ethers/node_modules/@ethersproject/solidity": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.5.0.tgz", + "integrity": "sha512-9NgZs9LhGMj6aCtHXhtmFQ4AN4sth5HuFXVvAQtzmm0jpSCNOTGtrHZJAeYTh7MBjRR8brylWZxBZR9zDStXbw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/keccak256": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/sha2": "^5.5.0", + "@ethersproject/strings": "^5.5.0" + } }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "node_modules/ethers/node_modules/@ethersproject/strings": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.5.0.tgz", + "integrity": "sha512-9fy3TtF5LrX/wTrBaT8FGE6TDJyVjOvXynXJz5MT5azq+E6D92zuKNx7i29sWW2FjVOaWjAsiZ1ZWznuduTIIQ==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/constants": "^5.5.0", + "@ethersproject/logger": "^5.5.0" } }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "node_modules/ethers/node_modules/@ethersproject/transactions": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.5.0.tgz", + "integrity": "sha512-9RZYSKX26KfzEd/1eqvv8pLauCKzDTub0Ko4LfIgaERvRuwyaNV78mJs7cpIgZaDl6RJui4o49lHwwCM0526zA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.5.0", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/constants": "^5.5.0", + "@ethersproject/keccak256": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/rlp": "^5.5.0", + "@ethersproject/signing-key": "^5.5.0" + } }, - "node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "node_modules/ethers/node_modules/@ethersproject/units": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.5.0.tgz", + "integrity": "sha512-7+DpjiZk4v6wrikj+TCyWWa9dXLNU73tSTa7n0TSJDxkYbV3Yf1eRh9ToMLlZtuctNYu9RDNNy2USq3AdqSbag==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/constants": "^5.5.0", + "@ethersproject/logger": "^5.5.0" + } }, - "node_modules/encode-utf8": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", - "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", - "dev": true + "node_modules/ethers/node_modules/@ethersproject/wallet": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.5.0.tgz", + "integrity": "sha512-Mlu13hIctSYaZmUOo7r2PhNSd8eaMPVXe1wxrz4w4FCE4tDYBywDH+bAR1Xz2ADyXGwqYMwstzTrtUVIsKDO0Q==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.5.0", + "@ethersproject/abstract-signer": "^5.5.0", + "@ethersproject/address": "^5.5.0", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/hash": "^5.5.0", + "@ethersproject/hdnode": "^5.5.0", + "@ethersproject/json-wallets": "^5.5.0", + "@ethersproject/keccak256": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/random": "^5.5.0", + "@ethersproject/signing-key": "^5.5.0", + "@ethersproject/transactions": "^5.5.0", + "@ethersproject/wordlists": "^5.5.0" + } }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "node_modules/ethers/node_modules/@ethersproject/web": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.5.0.tgz", + "integrity": "sha512-BEgY0eL5oH4mAo37TNYVrFeHsIXLRxggCRG/ksRIxI2X5uj5IsjGmcNiRN/VirQOlBxcUhCgHhaDLG4m6XAVoA==", "dev": true, - "engines": { - "node": ">= 0.8" + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/base64": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/strings": "^5.5.0" } }, - "node_modules/encoding-down": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", - "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", + "node_modules/ethers/node_modules/@ethersproject/wordlists": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.5.0.tgz", + "integrity": "sha512-bL0UTReWDiaQJJYOC9sh/XcRu/9i2jMrzf8VLRmPKx58ckSlOJiohODkECCO50dtLZHcGU6MLXQ4OOrgBwP77Q==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.5.0", + "@ethersproject/hash": "^5.5.0", + "@ethersproject/logger": "^5.5.0", + "@ethersproject/properties": "^5.5.0", + "@ethersproject/strings": "^5.5.0" + } + }, + "node_modules/ethjs-abi": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ethjs-abi/-/ethjs-abi-0.2.1.tgz", + "integrity": "sha512-g2AULSDYI6nEJyJaEVEXtTimRY2aPC2fi7ddSy0W+LXvEVL8Fe1y76o43ecbgdUKwZD+xsmEgX1yJr1Ia3r1IA==", "dev": true, "dependencies": { - "abstract-leveldown": "^6.2.1", - "inherits": "^2.0.3", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0" + "bn.js": "4.11.6", + "js-sha3": "0.5.5", + "number-to-bn": "1.7.0" }, "engines": { - "node": ">=6" + "node": ">=6.5.0", + "npm": ">=3" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "node_modules/ethjs-abi/node_modules/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", + "dev": true + }, + "node_modules/ethjs-abi/node_modules/js-sha3": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.5.tgz", + "integrity": "sha512-yLLwn44IVeunwjpDVTDZmQeVbB0h+dZpY2eO68B/Zik8hu6dH+rKeLxwua79GGIvW6xr8NBAcrtiUbYrTjEFTA==", + "dev": true + }, + "node_modules/ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", "dev": true, "dependencies": { - "once": "^1.4.0" + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" } }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "node_modules/ethjs-unit/node_modules/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", + "dev": true + }, + "node_modules/ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", "dev": true, "dependencies": { - "ansi-colors": "^4.1.1" + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" }, "engines": { - "node": ">=8.6" + "node": ">=6.5.0", + "npm": ">=3" } }, - "node_modules/entities": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.0.tgz", - "integrity": "sha512-/iP1rZrSEJ0DTlPiX+jbzlA3eVkY/e8L8SozroF395fIqE3TYF/Nz7YOMAawta+vLmyJ/hkGNNPcSbMADCCXbg==", + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "dev": true, "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "node": ">=6" } }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, "engines": { - "node": ">=6" + "node": ">=0.8.x" } }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" + "optional": true, + "peer": true, + "engines": { + "node": ">=6" } }, - "node_modules/es-abstract": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", - "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "node_modules/expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "regexp.prototype.flags": "^1.4.3", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 10.14.2" } }, - "node_modules/es-abstract/node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "node_modules/express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.10.0" } }, - "node_modules/es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", - "dev": true - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "has": "^1.0.3" + "ms": "2.0.0" } }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/express/node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", "dev": true, "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "side-channel": "^1.0.4" }, "engines": { - "node": ">= 0.4" + "node": ">=0.6" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es5-ext": { - "version": "0.10.61", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.61.tgz", - "integrity": "sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA==", + "node_modules/ext": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", "dev": true, - "hasInstallScript": true, "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - }, - "engines": { - "node": ">=0.10" + "type": "^2.5.0" } }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "dev": true, - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } + "node_modules/ext/node_modules/type": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", + "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==", + "dev": true }, - "node_modules/es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/extract-files": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz", + "integrity": "sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==", "dev": true, "engines": { - "node": ">=10" + "node": "^10.17.0 || ^12.0.0 || >= 13.7.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/jaydenseric" } }, - "node_modules/escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==", + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/faker": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/faker/-/faker-5.5.3.tgz", + "integrity": "sha512-wLTv2a28wjUyWkbnX7u/ABZBkUkIF2fCd73V6P2oFqEGEktDfzWx4UxrSqtPRw0xPRAcjeAOIiJWqZm3pP4u3g==", + "dev": true + }, + "node_modules/fast-check": { + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-2.25.0.tgz", + "integrity": "sha512-wRUT2KD2lAmT75WNIJIHECawoUUMHM0I5jrlLXGtGeqmPL8jl/EldUDjY1VCp6fDY8yflyfUeIOsOBrIbIiArg==", "dev": true, "dependencies": { - "esprima": "^2.7.1", - "estraverse": "^1.9.1", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "pure-rand": "^5.0.1" }, "engines": { - "node": ">=0.12.0" + "node": ">=8.0.0" }, - "optionalDependencies": { - "source-map": "~0.2.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" } }, - "node_modules/escodegen/node_modules/esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.6.0" } }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", "dev": true, "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" + "reusify": "^1.0.4" } }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "escape-string-regexp": "^1.0.5" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { - "node": ">= 0.8.0" + "node": ">=0.8.0" } }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==", + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "dev": true, "optional": true, - "dependencies": { - "amdefine": ">=0.0.4" - }, - "engines": { - "node": ">=0.8.0" - } + "peer": true }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "dependencies": { - "prelude-ls": "~1.1.2" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">= 0.8" } }, - "node_modules/eslint-config-prettier": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz", - "integrity": "sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==", + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "get-stdin": "^6.0.0" - }, - "bin": { - "eslint-config-prettier-check": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=3.14.1" + "ms": "2.0.0" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "resolve": "^1.20.0" - } + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/eslint-module-utils": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", - "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", + "node_modules/flat": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", + "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", "dev": true, "dependencies": { - "debug": "^3.2.7", - "find-up": "^2.1.0" + "is-buffer": "~2.0.3" }, - "engines": { - "node": ">=4" + "bin": { + "flat": "cli.js" } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/fmix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/fmix/-/fmix-0.1.0.tgz", + "integrity": "sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "imul": "^1.0.0" } }, - "node_modules/eslint-module-utils/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "node_modules/follow-redirects": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", "dev": true, - "dependencies": { - "locate-path": "^2.0.0" - }, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], "engines": { - "node": ">=4" + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "node_modules/eslint-module-utils/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" + "is-callable": "^1.1.3" } }, - "node_modules/eslint-module-utils/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "dev": true, - "dependencies": { - "p-try": "^1.0.0" - }, "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/eslint-module-utils/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, "dependencies": { - "p-limit": "^1.1.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=4" + "node": ">= 6" } }, - "node_modules/eslint-module-utils/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true, "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/eslint-plugin-import": { - "version": "2.20.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.2.tgz", - "integrity": "sha512-FObidqpXrR8OnCh4iNsxy+WACztJLXAHBO5hK79T1Hc77PgQZkyDGA5Ag9xAvRpglvLNxhH/zSmZ70/pZ31dHg==", + "node_modules/fp-ts": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", + "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==", + "dev": true + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, - "dependencies": { - "array-includes": "^3.0.3", - "array.prototype.flat": "^1.2.1", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.2", - "eslint-module-utils": "^2.4.1", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.0", - "read-pkg-up": "^2.0.0", - "resolve": "^1.12.0" - }, "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "2.x - 6.x" + "node": ">= 0.6" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true, - "dependencies": { - "ms": "2.0.0" - } + "optional": true, + "peer": true }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha512-lsGyRuYr4/PIB0txi+Fy2xOMI2dGaTguCaotzFGkVZuKR5usKfcRWIFKNM3QNrU7hh/+w2bwTW+ZeXPK5l8uVg==", + "node_modules/fs-extra": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", + "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", "dev": true, "dependencies": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/eslint-plugin-import/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "node_modules/fs-extra/node_modules/universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", "dev": true, - "dependencies": { - "locate-path": "^2.0.0" - }, "engines": { - "node": ">=4" + "node": ">= 10.0.0" } }, - "node_modules/eslint-plugin-import/node_modules/load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==", + "node_modules/fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" + "minipass": "^2.6.0" } }, - "node_modules/eslint-plugin-import/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=4" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "node_modules/eslint-plugin-import/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", "dev": true, "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", - "dev": true, - "dependencies": { - "p-limit": "^1.1.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-import/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-import/node_modules/path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==", + "node_modules/ganache-cli": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ganache-cli/-/ganache-cli-6.12.2.tgz", + "integrity": "sha512-bnmwnJDBDsOWBUP8E/BExWf85TsdDEFelQSzihSJm9VChVO1SHp94YXLP5BlA4j/OTxp0wR4R1Tje9OHOuAJVw==", + "bundleDependencies": [ + "source-map-support", + "yargs", + "ethereumjs-util" + ], + "deprecated": "ganache-cli is now ganache; visit https://trfl.io/g7 for details", "dev": true, "dependencies": { - "pify": "^2.0.0" + "ethereumjs-util": "6.2.1", + "source-map-support": "0.5.12", + "yargs": "13.2.4" }, - "engines": { - "node": ">=4" + "bin": { + "ganache-cli": "cli.js" } }, - "node_modules/eslint-plugin-import/node_modules/read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==", + "node_modules/ganache-cli/node_modules/@types/bn.js": { + "version": "4.11.6", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - }, - "engines": { - "node": ">=4" + "@types/node": "*" } }, - "node_modules/eslint-plugin-import/node_modules/read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==", + "node_modules/ganache-cli/node_modules/@types/node": { + "version": "14.11.2", "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/ganache-cli/node_modules/@types/pbkdf2": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - }, - "engines": { - "node": ">=4" + "@types/node": "*" } }, - "node_modules/eslint-plugin-import/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "node_modules/ganache-cli/node_modules/@types/secp256k1": { + "version": "4.0.1", "dev": true, - "engines": { - "node": ">=4" + "inBundle": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "node_modules/ganache-cli/node_modules/ansi-regex": { + "version": "4.1.0", "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, + "inBundle": true, + "license": "MIT", "engines": { - "node": ">=8.0.0" + "node": ">=6" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "node_modules/ganache-cli/node_modules/ansi-styles": { + "version": "3.2.1", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^2.0.0" + "color-convert": "^1.9.0" }, "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" + "node": ">=4" } }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "node_modules/ganache-cli/node_modules/base-x": { + "version": "3.0.8", "dev": true, - "engines": { - "node": ">=10" + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.0.1" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", - "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", + "node_modules/ganache-cli/node_modules/blakejs": { + "version": "1.1.0", "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } + "inBundle": true, + "license": "CC0-1.0" }, - "node_modules/eslint/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "node_modules/ganache-cli/node_modules/bn.js": { + "version": "4.11.9", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } + "inBundle": true, + "license": "MIT" }, - "node_modules/eslint/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/ganache-cli/node_modules/brorand": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/ganache-cli/node_modules/browserify-aes": { + "version": "1.2.0", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/eslint/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "node_modules/ganache-cli/node_modules/bs58": { + "version": "4.0.1", "dev": true, - "engines": { - "node": ">=6" + "inBundle": true, + "license": "MIT", + "dependencies": { + "base-x": "^3.0.2" } }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/ganache-cli/node_modules/bs58check": { + "version": "2.1.2", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" - }, + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/ganache-cli/node_modules/buffer-from": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/ganache-cli/node_modules/buffer-xor": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/ganache-cli/node_modules/camelcase": { + "version": "5.3.1", + "dev": true, + "inBundle": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/eslint/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/ganache-cli/node_modules/cipher-base": { + "version": "1.0.4", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "sprintf-js": "~1.0.2" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/eslint/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/ganache-cli/node_modules/cliui": { + "version": "5.0.0", "dev": true, + "inBundle": true, + "license": "ISC", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" } }, - "node_modules/eslint/node_modules/color-convert": { + "node_modules/ganache-cli/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, - "node_modules/eslint/node_modules/color-name": { + "node_modules/ganache-cli/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "dev": true, + "inBundle": true, + "license": "MIT" }, - "node_modules/eslint/node_modules/cross-spawn": { + "node_modules/ganache-cli/node_modules/create-hash": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/ganache-cli/node_modules/create-hmac": { + "version": "1.1.7", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/ganache-cli/node_modules/cross-spawn": { "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -11296,2492 +10507,2341 @@ "node": ">=4.8" } }, - "node_modules/eslint/node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/ganache-cli/node_modules/decamelize": { + "version": "1.2.0", "dev": true, - "bin": { - "semver": "bin/semver" + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/ganache-cli/node_modules/elliptic": { + "version": "6.5.3", "dev": true, - "engines": { - "node": ">=0.8.0" + "inBundle": true, + "license": "MIT", + "dependencies": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" } }, - "node_modules/eslint/node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "node_modules/ganache-cli/node_modules/emoji-regex": { + "version": "7.0.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/ganache-cli/node_modules/end-of-stream": { + "version": "1.4.4", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" + "once": "^1.4.0" } }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/ganache-cli/node_modules/ethereum-cryptography": { + "version": "0.1.3", "dev": true, - "engines": { - "node": ">=4" + "inBundle": true, + "license": "MIT", + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" } }, - "node_modules/eslint/node_modules/espree": { + "node_modules/ganache-cli/node_modules/ethereumjs-util": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", "dev": true, + "inBundle": true, + "license": "MPL-2.0", "dependencies": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0" + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" } }, - "node_modules/eslint/node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "node_modules/ganache-cli/node_modules/ethjs-util": { + "version": "0.1.6", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "flat-cache": "^2.0.1" + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" }, "engines": { - "node": ">=4" + "node": ">=6.5.0", + "npm": ">=3" } }, - "node_modules/eslint/node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "node_modules/ganache-cli/node_modules/evp_bytestokey": { + "version": "1.0.3", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "engines": { - "node": ">=4" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "node_modules/eslint/node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "node_modules/eslint/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "node_modules/ganache-cli/node_modules/execa": { + "version": "1.0.0", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "type-fest": "^0.8.1" + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/eslint/node_modules/has-flag": { + "node_modules/ganache-cli/node_modules/find-up": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/eslint/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "node_modules/ganache-cli/node_modules/get-caller-file": { + "version": "2.0.5", "dev": true, + "inBundle": true, + "license": "ISC", "engines": { - "node": ">= 4" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/ganache-cli/node_modules/get-stream": { + "version": "4.1.0", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "pump": "^3.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=6" } }, - "node_modules/eslint/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/eslint/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, + "node_modules/ganache-cli/node_modules/hash-base": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=4" } }, - "node_modules/eslint/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "node_modules/ganache-cli/node_modules/hash.js": { + "version": "1.1.7", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "node_modules/eslint/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "node_modules/ganache-cli/node_modules/hmac-drbg": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/ganache-cli/node_modules/inherits": { + "version": "2.0.4", "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/ganache-cli/node_modules/invert-kv": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/eslint/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "node_modules/ganache-cli/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", "dev": true, + "inBundle": true, + "license": "MIT", "engines": { - "node": ">= 0.8.0" + "node": ">=4" } }, - "node_modules/eslint/node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "node_modules/ganache-cli/node_modules/is-hex-prefixed": { + "version": "1.0.0", "dev": true, + "inBundle": true, + "license": "MIT", "engines": { - "node": ">=6.5.0" + "node": ">=6.5.0", + "npm": ">=3" } }, - "node_modules/eslint/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "node_modules/ganache-cli/node_modules/is-stream": { + "version": "1.1.0", "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/ganache-cli/node_modules/isexe": { + "version": "2.0.0", "dev": true, - "bin": { - "semver": "bin/semver.js" - } + "inBundle": true, + "license": "ISC" }, - "node_modules/eslint/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "node_modules/ganache-cli/node_modules/keccak": { + "version": "3.0.1", "dev": true, + "hasInstallScript": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "shebang-regex": "^1.0.0" + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.0.0" } }, - "node_modules/eslint/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "node_modules/ganache-cli/node_modules/lcid": { + "version": "2.0.0", "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "invert-kv": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/eslint/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/ganache-cli/node_modules/locate-path": { + "version": "3.0.0", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "ansi-regex": "^4.1.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" }, "engines": { "node": ">=6" } }, - "node_modules/eslint/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/ganache-cli/node_modules/map-age-cleaner": { + "version": "0.1.3", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "p-defer": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/eslint/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "node_modules/ganache-cli/node_modules/md5.js": { + "version": "1.3.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/ganache-cli/node_modules/mem": { + "version": "4.3.0", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "prelude-ls": "~1.1.2" + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=6" } }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "node_modules/ganache-cli/node_modules/mimic-fn": { + "version": "2.1.0", "dev": true, + "inBundle": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/eslint/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/ganache-cli/node_modules/minimalistic-assert": { + "version": "1.0.1", "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, + "inBundle": true, + "license": "ISC" + }, + "node_modules/ganache-cli/node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/ganache-cli/node_modules/nice-try": { + "version": "1.0.5", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/ganache-cli/node_modules/node-addon-api": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/ganache-cli/node_modules/node-gyp-build": { + "version": "4.2.3", + "dev": true, + "inBundle": true, + "license": "MIT", "bin": { - "which": "bin/which" + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" } }, - "node_modules/espree": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", - "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", + "node_modules/ganache-cli/node_modules/npm-run-path": { + "version": "2.0.2", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.0" + "path-key": "^2.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=4" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "node_modules/ganache-cli/node_modules/once": { + "version": "1.4.0", "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" + "inBundle": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" } }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "node_modules/ganache-cli/node_modules/os-locale": { + "version": "3.1.0", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "estraverse": "^5.1.0" + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" }, "engines": { - "node": ">=0.10" + "node": ">=6" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/ganache-cli/node_modules/p-defer": { + "version": "1.0.0", "dev": true, + "inBundle": true, + "license": "MIT", "engines": { - "node": ">=4.0" + "node": ">=4" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/ganache-cli/node_modules/p-finally": { + "version": "1.0.0", "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, + "inBundle": true, + "license": "MIT", "engines": { - "node": ">=4.0" + "node": ">=4" } }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/ganache-cli/node_modules/p-is-promise": { + "version": "2.1.0", "dev": true, + "inBundle": true, + "license": "MIT", "engines": { - "node": ">=4.0" + "node": ">=6" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/ganache-cli/node_modules/p-limit": { + "version": "2.3.0", "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, "engines": { - "node": ">=4.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/ganache-cli/node_modules/p-locate": { + "version": "3.0.0", "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "node_modules/ganache-cli/node_modules/p-try": { + "version": "2.2.0", "dev": true, + "inBundle": true, + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==", + "node_modules/ganache-cli/node_modules/path-exists": { + "version": "3.0.0", "dev": true, - "dependencies": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, - "node_modules/eth-ens-namehash/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", - "dev": true + "node_modules/ganache-cli/node_modules/path-key": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "node_modules/eth-gas-reporter": { - "version": "0.2.25", - "resolved": "https://registry.npmjs.org/eth-gas-reporter/-/eth-gas-reporter-0.2.25.tgz", - "integrity": "sha512-1fRgyE4xUB8SoqLgN3eDfpDfwEfRxh2Sz1b7wzFbyQA+9TekMmvSjjoRu9SKcSVyK+vLkLIsVbJDsTWjw195OQ==", + "node_modules/ganache-cli/node_modules/pbkdf2": { + "version": "3.1.1", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "@ethersproject/abi": "^5.0.0-beta.146", - "@solidity-parser/parser": "^0.14.0", - "cli-table3": "^0.5.0", - "colors": "1.4.0", - "ethereum-cryptography": "^1.0.3", - "ethers": "^4.0.40", - "fs-readdir-recursive": "^1.1.0", - "lodash": "^4.17.14", - "markdown-table": "^1.1.3", - "mocha": "^7.1.1", - "req-cwd": "^2.0.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.5", - "sha1": "^1.1.1", - "sync-request": "^6.0.0" - }, - "peerDependencies": { - "@codechecks/client": "^0.1.0" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" }, - "peerDependenciesMeta": { - "@codechecks/client": { - "optional": true - } + "engines": { + "node": ">=0.12" } }, - "node_modules/eth-gas-reporter/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/eth-gas-reporter/node_modules/ethereum-cryptography": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.1.0.tgz", - "integrity": "sha512-wyNVTBR4wIR2yoXdMv4Qt44mTVBpPgSW/DQCTmNO6nQluwpyrAIvmL4mxPbziFuc6VWJQa3rwUxn0nUFU03nyQ==", + "node_modules/ganache-cli/node_modules/pump": { + "version": "3.0.0", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "@noble/hashes": "1.1.1", - "@noble/secp256k1": "1.6.0", - "@scure/bip32": "1.1.0", - "@scure/bip39": "1.1.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/eth-gas-reporter/node_modules/ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "node_modules/ganache-cli/node_modules/randombytes": { + "version": "2.1.0", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" + "safe-buffer": "^5.1.0" } }, - "node_modules/eth-gas-reporter/node_modules/hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "node_modules/ganache-cli/node_modules/readable-stream": { + "version": "3.6.0", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/eth-gas-reporter/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", - "dev": true - }, - "node_modules/eth-gas-reporter/node_modules/scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true - }, - "node_modules/eth-gas-reporter/node_modules/setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", - "dev": true + "node_modules/ganache-cli/node_modules/require-directory": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/eth-gas-reporter/node_modules/uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true + "node_modules/ganache-cli/node_modules/require-main-filename": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" }, - "node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "node_modules/ganache-cli/node_modules/ripemd160": { + "version": "2.0.2", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, - "node_modules/ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", + "node_modules/ganache-cli/node_modules/rlp": { + "version": "2.2.6", "dev": true, + "inBundle": true, + "license": "MPL-2.0", "dependencies": { - "js-sha3": "^0.8.0" - } - }, - "node_modules/ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "bn.js": "^4.11.1" + }, + "bin": { + "rlp": "bin/rlp" + } + }, + "node_modules/ganache-cli/node_modules/safe-buffer": { + "version": "5.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/ganache-cli/node_modules/scrypt-js": { + "version": "3.0.1", "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/ganache-cli/node_modules/secp256k1": { + "version": "4.0.2", + "dev": true, + "hasInstallScript": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" + "elliptic": "^6.5.2", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" } }, - "node_modules/ethereumjs-abi": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", - "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", + "node_modules/ganache-cli/node_modules/semver": { + "version": "5.7.1", "dev": true, - "dependencies": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" + "inBundle": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" } }, - "node_modules/ethereumjs-abi/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "node_modules/ganache-cli/node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/ganache-cli/node_modules/setimmediate": { + "version": "1.0.5", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/ganache-cli/node_modules/sha.js": { + "version": "2.4.11", "dev": true, + "inBundle": true, + "license": "(MIT AND BSD-3-Clause)", "dependencies": { - "@types/node": "*" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" } }, - "node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "node_modules/ganache-cli/node_modules/shebang-command": { + "version": "1.2.0", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ethereumjs-common": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz", - "integrity": "sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA==", - "deprecated": "New package name format for new versions: @ethereumjs/common. Please update.", - "dev": true + "node_modules/ganache-cli/node_modules/shebang-regex": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/ethereumjs-tx": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", - "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", - "deprecated": "New package name format for new versions: @ethereumjs/tx. Please update.", + "node_modules/ganache-cli/node_modules/signal-exit": { + "version": "3.0.3", "dev": true, - "dependencies": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" + "inBundle": true, + "license": "ISC" + }, + "node_modules/ganache-cli/node_modules/source-map": { + "version": "0.6.1", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ethereumjs-tx/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "node_modules/ganache-cli/node_modules/source-map-support": { + "version": "0.5.12", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "@types/node": "*" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/ethereumjs-tx/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "node_modules/ganache-cli/node_modules/string_decoder": { + "version": "1.3.0", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" + "safe-buffer": "~5.2.0" } }, - "node_modules/ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", + "node_modules/ganache-cli/node_modules/string-width": { + "version": "3.1.0", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=6" } }, - "node_modules/ethereumjs-util/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "node_modules/ethers": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.5.1.tgz", - "integrity": "sha512-RodEvUFZI+EmFcE6bwkuJqpCYHazdzeR1nMzg+YWQSmQEsNtfl1KHGfp/FWZYl48bI/g7cgBeP2IlPthjiVngw==", + "node_modules/ganache-cli/node_modules/strip-ansi": { + "version": "5.2.0", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "inBundle": true, + "license": "MIT", "dependencies": { - "@ethersproject/abi": "5.5.0", - "@ethersproject/abstract-provider": "5.5.1", - "@ethersproject/abstract-signer": "5.5.0", - "@ethersproject/address": "5.5.0", - "@ethersproject/base64": "5.5.0", - "@ethersproject/basex": "5.5.0", - "@ethersproject/bignumber": "5.5.0", - "@ethersproject/bytes": "5.5.0", - "@ethersproject/constants": "5.5.0", - "@ethersproject/contracts": "5.5.0", - "@ethersproject/hash": "5.5.0", - "@ethersproject/hdnode": "5.5.0", - "@ethersproject/json-wallets": "5.5.0", - "@ethersproject/keccak256": "5.5.0", - "@ethersproject/logger": "5.5.0", - "@ethersproject/networks": "5.5.0", - "@ethersproject/pbkdf2": "5.5.0", - "@ethersproject/properties": "5.5.0", - "@ethersproject/providers": "5.5.0", - "@ethersproject/random": "5.5.0", - "@ethersproject/rlp": "5.5.0", - "@ethersproject/sha2": "5.5.0", - "@ethersproject/signing-key": "5.5.0", - "@ethersproject/solidity": "5.5.0", - "@ethersproject/strings": "5.5.0", - "@ethersproject/transactions": "5.5.0", - "@ethersproject/units": "5.5.0", - "@ethersproject/wallet": "5.5.0", - "@ethersproject/web": "5.5.0", - "@ethersproject/wordlists": "5.5.0" + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/ethers/node_modules/@ethersproject/abi": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.5.0.tgz", - "integrity": "sha512-loW7I4AohP5KycATvc0MgujU6JyCHPqHdeoo9z3Nr9xEiNioxa65ccdm1+fsoJhkuhdRtfcL8cfyGamz2AxZ5w==", + "node_modules/ganache-cli/node_modules/strip-eof": { + "version": "1.0.0", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/hash": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/strings": "^5.5.0" + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ethers/node_modules/@ethersproject/abstract-provider": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.5.1.tgz", - "integrity": "sha512-m+MA/ful6eKbxpr99xUYeRvLkfnlqzrF8SZ46d/xFB1A7ZVknYc/sXJG0RcufF52Qn2jeFj1hhcoQ7IXjNKUqg==", + "node_modules/ganache-cli/node_modules/strip-hex-prefix": { + "version": "1.0.0", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "inBundle": true, + "license": "MIT", "dependencies": { - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/networks": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", - "@ethersproject/web": "^5.5.0" + "is-hex-prefixed": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" } }, - "node_modules/ethers/node_modules/@ethersproject/abstract-signer": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.5.0.tgz", - "integrity": "sha512-lj//7r250MXVLKI7sVarXAbZXbv9P50lgmJQGr2/is82EwEb8r7HrxsmMqAjTsztMYy7ohrIhGMIml+Gx4D3mA==", + "node_modules/ganache-cli/node_modules/util-deprecate": { + "version": "1.0.2", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0" - } + "inBundle": true, + "license": "MIT" }, - "node_modules/ethers/node_modules/@ethersproject/address": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.5.0.tgz", - "integrity": "sha512-l4Nj0eWlTUh6ro5IbPTgbpT4wRbdH5l8CQf7icF7sb/SI3Nhd9Y9HzhonTSTi6CefI0necIw7LJqQPopPLZyWw==", + "node_modules/ganache-cli/node_modules/which": { + "version": "1.3.1", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "inBundle": true, + "license": "ISC", "dependencies": { - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/rlp": "^5.5.0" + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "node_modules/ethers/node_modules/@ethersproject/base64": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.5.0.tgz", - "integrity": "sha512-tdayUKhU1ljrlHzEWbStXazDpsx4eg1dBXUSI6+mHlYklOXoXF6lZvw8tnD6oVaWfnMxAgRSKROg3cVKtCcppA==", + "node_modules/ganache-cli/node_modules/which-module": { + "version": "2.0.0", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.5.0" - } + "inBundle": true, + "license": "ISC" }, - "node_modules/ethers/node_modules/@ethersproject/basex": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.5.0.tgz", - "integrity": "sha512-ZIodwhHpVJ0Y3hUCfUucmxKsWQA5TMnavp5j/UOuDdzZWzJlRmuOjcTMIGgHCYuZmHt36BfiSyQPSRskPxbfaQ==", + "node_modules/ganache-cli/node_modules/wrap-ansi": { + "version": "5.1.0", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "inBundle": true, + "license": "MIT", "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/properties": "^5.5.0" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/ethers/node_modules/@ethersproject/bignumber": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.5.0.tgz", - "integrity": "sha512-6Xytlwvy6Rn3U3gKEc1vP7nR92frHkv6wtVr95LFR3jREXiCPzdWxKQ1cx4JGQBXxcguAwjA8murlYN2TSiEbg==", + "node_modules/ganache-cli/node_modules/wrappy": { + "version": "1.0.2", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "inBundle": true, + "license": "ISC" + }, + "node_modules/ganache-cli/node_modules/y18n": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/ganache-cli/node_modules/yargs": { + "version": "13.2.4", + "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "bn.js": "^4.11.9" + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" } }, - "node_modules/ethers/node_modules/@ethersproject/bytes": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.5.0.tgz", - "integrity": "sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog==", + "node_modules/ganache-cli/node_modules/yargs-parser": { + "version": "13.1.2", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "inBundle": true, + "license": "ISC", "dependencies": { - "@ethersproject/logger": "^5.5.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, - "node_modules/ethers/node_modules/@ethersproject/constants": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.5.0.tgz", - "integrity": "sha512-2MsRRVChkvMWR+GyMGY4N1sAX9Mt3J9KykCsgUFd/1mwS0UH1qw+Bv9k1UJb3X3YJYFco9H20pjSlOIfCG5HYQ==", + "node_modules/gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "optional": true, + "peer": true, "dependencies": { - "@ethersproject/bignumber": "^5.5.0" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, - "node_modules/ethers/node_modules/@ethersproject/contracts": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.5.0.tgz", - "integrity": "sha512-2viY7NzyvJkh+Ug17v7g3/IJC8HqZBDcOjYARZLdzRxrfGlRgmYgl6xPRKVbEzy1dWKw/iv7chDcS83pg6cLxg==", + "node_modules/gauge/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "^5.5.0", - "@ethersproject/abstract-provider": "^5.5.0", - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/transactions": "^5.5.0" + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ethers/node_modules/@ethersproject/hash": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.5.0.tgz", - "integrity": "sha512-dnGVpK1WtBjmnp3mUT0PlU2MpapnwWI0PibldQEq1408tQBAbZpPidkWoVVuNMOl/lISO3+4hXZWCL3YV7qzfg==", + "node_modules/gauge/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "optional": true, + "peer": true, "dependencies": { - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/strings": "^5.5.0" + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ethers/node_modules/@ethersproject/hdnode": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.5.0.tgz", - "integrity": "sha512-mcSOo9zeUg1L0CoJH7zmxwUG5ggQHU1UrRf8jyTYy6HxdZV+r0PBoL1bxr+JHIPXRzS6u/UW4mEn43y0tmyF8Q==", + "node_modules/gauge/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "optional": true, + "peer": true, "dependencies": { - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/basex": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/pbkdf2": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/sha2": "^5.5.0", - "@ethersproject/signing-key": "^5.5.0", - "@ethersproject/strings": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", - "@ethersproject/wordlists": "^5.5.0" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ethers/node_modules/@ethersproject/json-wallets": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.5.0.tgz", - "integrity": "sha512-9lA21XQnCdcS72xlBn1jfQdj2A1VUxZzOzi9UkNdnokNKke/9Ya2xA9aIK1SC3PQyBDLt4C+dfps7ULpkvKikQ==", + "node_modules/gauge/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "optional": true, + "peer": true, "dependencies": { - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/hdnode": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/pbkdf2": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/random": "^5.5.0", - "@ethersproject/strings": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ethers/node_modules/@ethersproject/keccak256": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.5.0.tgz", - "integrity": "sha512-5VoFCTjo2rYbBe1l2f4mccaRFN/4VQEYFwwn04aJV2h7qf4ZvI2wFxUE1XOX+snbwCLRzIeikOqtAoPwMza9kg==", + "node_modules/get-assigned-identifiers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", + "dev": true + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "js-sha3": "0.8.0" + "engines": { + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/ethers/node_modules/@ethersproject/logger": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.5.0.tgz", - "integrity": "sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg==", + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ] + "engines": { + "node": "*" + } }, - "node_modules/ethers/node_modules/@ethersproject/networks": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.5.0.tgz", - "integrity": "sha512-KWfP3xOnJeF89Uf/FCJdV1a2aDJe5XTN2N52p4fcQ34QhDqQFkgQKZ39VGtiqUgHcLI8DfT0l9azC3KFTunqtA==", + "node_modules/get-intrinsic": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/logger": "^5.5.0" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ethers/node_modules/@ethersproject/pbkdf2": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.5.0.tgz", - "integrity": "sha512-SaDvQFvXPnz1QGpzr6/HToLifftSXGoXrbpZ6BvoZhmx4bNLHrxDe8MZisuecyOziP1aVEwzC2Hasj+86TgWVg==", + "node_modules/get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/sha2": "^5.5.0" + "engines": { + "node": ">=4" } }, - "node_modules/ethers/node_modules/@ethersproject/properties": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.5.0.tgz", - "integrity": "sha512-l3zRQg3JkD8EL3CPjNK5g7kMx4qSwiR60/uk5IVjd3oq1MZR5qUg40CNOoEJoX5wc3DyY5bt9EbMk86C7x0DNA==", + "node_modules/get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.5.0" + "engines": { + "node": ">=4" } }, - "node_modules/ethers/node_modules/@ethersproject/providers": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.5.0.tgz", - "integrity": "sha512-xqMbDnS/FPy+J/9mBLKddzyLLAQFjrVff5g00efqxPzcAwXiR+SiCGVy6eJ5iAIirBOATjx7QLhDNPGV+AEQsw==", + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/abstract-provider": "^5.5.0", - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/basex": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/hash": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/networks": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/random": "^5.5.0", - "@ethersproject/rlp": "^5.5.0", - "@ethersproject/sha2": "^5.5.0", - "@ethersproject/strings": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", - "@ethersproject/web": "^5.5.0", - "bech32": "1.1.4", - "ws": "7.4.6" + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/ethers/node_modules/@ethersproject/random": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.5.0.tgz", - "integrity": "sha512-egGYZwZ/YIFKMHcoBUo8t3a8Hb/TKYX8BCBoLjudVCZh892welR3jOxgOmb48xznc9bTcMm7Tpwc1gHC1PFNFQ==", + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ethers/node_modules/@ethersproject/rlp": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.5.0.tgz", - "integrity": "sha512-hLv8XaQ8PTI9g2RHoQGf/WSxBfTB/NudRacbzdxmst5VHAqd1sMibWG7SENzT5Dj3yZ3kJYx+WiRYEcQTAkcYA==", + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0" + "assert-plus": "^1.0.0" } }, - "node_modules/ethers/node_modules/@ethersproject/sha2": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.5.0.tgz", - "integrity": "sha512-B5UBoglbCiHamRVPLA110J+2uqsifpZaTmid2/7W5rbtYVz6gus6/hSDieIU/6gaKIDcOj12WnOdiymEUHIAOA==", + "node_modules/ghost-testrpc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz", + "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "hash.js": "1.1.7" + "chalk": "^2.4.2", + "node-emoji": "^1.10.0" + }, + "bin": { + "testrpc-sc": "index.js" } }, - "node_modules/ethers/node_modules/@ethersproject/signing-key": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.5.0.tgz", - "integrity": "sha512-5VmseH7qjtNmDdZBswavhotYbWB0bOwKIlOTSlX14rKn5c11QmJwGt4GHeo7NrL/Ycl7uo9AHvEqs5xZgFBTng==", + "node_modules/ghost-testrpc/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.7" + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/ethers/node_modules/@ethersproject/solidity": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.5.0.tgz", - "integrity": "sha512-9NgZs9LhGMj6aCtHXhtmFQ4AN4sth5HuFXVvAQtzmm0jpSCNOTGtrHZJAeYTh7MBjRR8brylWZxBZR9zDStXbw==", + "node_modules/ghost-testrpc/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/sha2": "^5.5.0", - "@ethersproject/strings": "^5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/ethers/node_modules/@ethersproject/strings": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.5.0.tgz", - "integrity": "sha512-9fy3TtF5LrX/wTrBaT8FGE6TDJyVjOvXynXJz5MT5azq+E6D92zuKNx7i29sWW2FjVOaWjAsiZ1ZWznuduTIIQ==", + "node_modules/ghost-testrpc/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/logger": "^5.5.0" + "color-name": "1.1.3" } }, - "node_modules/ethers/node_modules/@ethersproject/transactions": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.5.0.tgz", - "integrity": "sha512-9RZYSKX26KfzEd/1eqvv8pLauCKzDTub0Ko4LfIgaERvRuwyaNV78mJs7cpIgZaDl6RJui4o49lHwwCM0526zA==", + "node_modules/ghost-testrpc/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/ghost-testrpc/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/rlp": "^5.5.0", - "@ethersproject/signing-key": "^5.5.0" + "engines": { + "node": ">=0.8.0" } }, - "node_modules/ethers/node_modules/@ethersproject/units": { + "node_modules/ghost-testrpc/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ghost-testrpc/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.5.0.tgz", - "integrity": "sha512-7+DpjiZk4v6wrikj+TCyWWa9dXLNU73tSTa7n0TSJDxkYbV3Yf1eRh9ToMLlZtuctNYu9RDNNy2USq3AdqSbag==", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/logger": "^5.5.0" + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/ethers/node_modules/@ethersproject/wallet": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.5.0.tgz", - "integrity": "sha512-Mlu13hIctSYaZmUOo7r2PhNSd8eaMPVXe1wxrz4w4FCE4tDYBywDH+bAR1Xz2ADyXGwqYMwstzTrtUVIsKDO0Q==", + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/abstract-provider": "^5.5.0", - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/hash": "^5.5.0", - "@ethersproject/hdnode": "^5.5.0", - "@ethersproject/json-wallets": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/random": "^5.5.0", - "@ethersproject/signing-key": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", - "@ethersproject/wordlists": "^5.5.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ethers/node_modules/@ethersproject/web": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.5.0.tgz", - "integrity": "sha512-BEgY0eL5oH4mAo37TNYVrFeHsIXLRxggCRG/ksRIxI2X5uj5IsjGmcNiRN/VirQOlBxcUhCgHhaDLG4m6XAVoA==", + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/base64": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/strings": "^5.5.0" + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/ethers/node_modules/@ethersproject/wordlists": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.5.0.tgz", - "integrity": "sha512-bL0UTReWDiaQJJYOC9sh/XcRu/9i2jMrzf8VLRmPKx58ckSlOJiohODkECCO50dtLZHcGU6MLXQ4OOrgBwP77Q==", + "node_modules/global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/hash": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/strings": "^5.5.0" + "min-document": "^2.19.0", + "process": "^0.11.10" } }, - "node_modules/ethers/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/ethjs-abi": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ethjs-abi/-/ethjs-abi-0.2.1.tgz", - "integrity": "sha512-g2AULSDYI6nEJyJaEVEXtTimRY2aPC2fi7ddSy0W+LXvEVL8Fe1y76o43ecbgdUKwZD+xsmEgX1yJr1Ia3r1IA==", + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dev": true, "dependencies": { - "bn.js": "4.11.6", - "js-sha3": "0.5.5", - "number-to-bn": "1.7.0" + "global-prefix": "^3.0.0" }, "engines": { - "node": ">=6.5.0", - "npm": ">=3" + "node": ">=6" } }, - "node_modules/ethjs-abi/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", - "dev": true - }, - "node_modules/ethjs-abi/node_modules/js-sha3": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.5.tgz", - "integrity": "sha512-yLLwn44IVeunwjpDVTDZmQeVbB0h+dZpY2eO68B/Zik8hu6dH+rKeLxwua79GGIvW6xr8NBAcrtiUbYrTjEFTA==", - "dev": true - }, - "node_modules/ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", "dev": true, "dependencies": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" }, "engines": { - "node": ">=6.5.0", - "npm": ">=3" + "node": ">=6" } }, - "node_modules/ethjs-unit/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", - "dev": true - }, - "node_modules/ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "dependencies": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" + "isexe": "^2.0.0" }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" + "bin": { + "which": "bin/which" } }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "node_modules/got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", "dev": true, + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, "engines": { - "node": ">=6" + "node": ">=8.6" } }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "node_modules/graphql": { + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.5.0.tgz", + "integrity": "sha512-qbHgh8Ix+j/qY+a/ZcJnFQ+j8ezakqPiHwPiZhV/3PgGlgf96QMBB5/f2rkiC9sgLoy/xvT6TSiaf2nTHJh5iA==", "dev": true, "engines": { - "node": ">=0.8.x" + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" } }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", "dev": true, - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "engines": { + "node": ">=4.x" } }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "dev": true, - "optional": true, - "peer": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, "engines": { - "node": ">=6" + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" } }, - "node_modules/expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", "dev": true, - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - }, "engines": { - "node": ">= 10.14.2" + "node": ">=4" } }, - "node_modules/express": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", "dev": true, "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.0", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.10.3", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "ajv": "^6.12.3", + "har-schema": "^2.0.0" }, "engines": { - "node": ">= 0.10.0" + "node": ">=6" } }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/har-validator/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "dependencies": { - "ms": "2.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/har-validator/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "node_modules/express/node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "node_modules/hardhat": { + "version": "2.9.9", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.9.9.tgz", + "integrity": "sha512-Qv7SXnRc0zq1kGXruNnSKpP3eFccXMR5Qv6GVX9hBIJ5efN0PflKPq92aQ5Cv3jrjJeRevLznWZVz7bttXhVfw==", "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "@ethereumjs/block": "^3.6.2", + "@ethereumjs/blockchain": "^5.5.2", + "@ethereumjs/common": "^2.6.4", + "@ethereumjs/tx": "^3.5.1", + "@ethereumjs/vm": "^5.9.0", + "@ethersproject/abi": "^5.1.2", + "@metamask/eth-sig-util": "^4.0.0", + "@sentry/node": "^5.18.1", + "@solidity-parser/parser": "^0.14.1", + "@types/bn.js": "^5.1.0", + "@types/lru-cache": "^5.1.0", + "abort-controller": "^3.0.0", + "adm-zip": "^0.4.16", + "aggregate-error": "^3.0.0", + "ansi-escapes": "^4.3.0", + "chalk": "^2.4.2", + "chokidar": "^3.4.0", + "ci-info": "^2.0.0", + "debug": "^4.1.1", + "enquirer": "^2.3.0", + "env-paths": "^2.2.0", + "ethereum-cryptography": "^0.1.2", + "ethereumjs-abi": "^0.6.8", + "ethereumjs-util": "^7.1.4", + "find-up": "^2.1.0", + "fp-ts": "1.19.3", + "fs-extra": "^7.0.1", + "glob": "7.2.0", + "immutable": "^4.0.0-rc.12", + "io-ts": "1.10.4", + "lodash": "^4.17.11", + "merkle-patricia-tree": "^4.2.4", + "mnemonist": "^0.38.0", + "mocha": "^9.2.0", + "p-map": "^4.0.0", + "qs": "^6.7.0", + "raw-body": "^2.4.1", + "resolve": "1.17.0", + "semver": "^6.3.0", + "slash": "^3.0.0", + "solc": "0.7.3", + "source-map-support": "^0.5.13", + "stacktrace-parser": "^0.1.10", + "true-case-path": "^2.2.1", + "tsort": "0.0.1", + "undici": "^5.4.0", + "uuid": "^8.3.2", + "ws": "^7.4.6" + }, + "bin": { + "hardhat": "internal/cli/cli.js" }, "engines": { - "node": ">=0.6" + "node": "^12.0.0 || ^14.0.0 || ^16.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "ts-node": "*", + "typescript": "*" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + }, + "typescript": { + "optional": true + } } }, - "node_modules/ext": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", - "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", + "node_modules/hardhat-deploy": { + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/hardhat-deploy/-/hardhat-deploy-0.9.8.tgz", + "integrity": "sha512-f7s3mG4wHnZuQWR+W4QVnPIE0OshgBrf19gvqRBqMbH9cDw4IxBXKWYSVTPXHXNITjwE3CA9Rqx+52Ee1ovtAA==", "dev": true, "dependencies": { - "type": "^2.5.0" + "@ethersproject/abi": "^5.4.0", + "@ethersproject/abstract-signer": "^5.4.1", + "@ethersproject/address": "^5.4.0", + "@ethersproject/bignumber": "^5.4.1", + "@ethersproject/bytes": "^5.4.0", + "@ethersproject/constants": "^5.4.0", + "@ethersproject/contracts": "^5.4.1", + "@ethersproject/providers": "^5.4.4", + "@ethersproject/solidity": "^5.4.0", + "@ethersproject/transactions": "^5.4.0", + "@ethersproject/wallet": "^5.4.0", + "@types/qs": "^6.9.7", + "axios": "^0.21.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "debug": "^4.3.2", + "enquirer": "^2.3.6", + "form-data": "^4.0.0", + "fs-extra": "^10.0.0", + "match-all": "^1.2.6", + "murmur-128": "^0.2.1", + "qs": "^6.9.4" + }, + "peerDependencies": { + "@ethersproject/hardware-wallets": "^5.0.14", + "hardhat": "^2.0.0" } }, - "node_modules/ext/node_modules/type": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", - "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==", - "dev": true - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "node_modules/hardhat-deploy-ethers": { + "version": "0.3.0-beta.11", + "resolved": "https://registry.npmjs.org/hardhat-deploy-ethers/-/hardhat-deploy-ethers-0.3.0-beta.11.tgz", + "integrity": "sha512-HnniBGBYsFRQDXBy3bQ27i86pQQnHkN0Mxdwiu869jZURY2gDQ4OEZxcXItnWQqBjYiEaavVyw/Xle7qwKOBAg==", + "dev": true, + "peerDependencies": { + "ethers": "^5.0.0", + "hardhat": "^2.0.0" + } }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "node_modules/hardhat-deploy/node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "dev": true, "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" + "follow-redirects": "^1.14.0" } }, - "node_modules/extract-files": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz", - "integrity": "sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==", + "node_modules/hardhat-deploy/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, - "engines": { - "node": "^10.17.0 || ^12.0.0 || >= 13.7.0" + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/jaydenseric" + "engines": { + "node": ">=12" } }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/faker": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/faker/-/faker-5.5.3.tgz", - "integrity": "sha512-wLTv2a28wjUyWkbnX7u/ABZBkUkIF2fCd73V6P2oFqEGEktDfzWx4UxrSqtPRw0xPRAcjeAOIiJWqZm3pP4u3g==", - "dev": true - }, - "node_modules/fast-check": { - "version": "2.25.0", - "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-2.25.0.tgz", - "integrity": "sha512-wRUT2KD2lAmT75WNIJIHECawoUUMHM0I5jrlLXGtGeqmPL8jl/EldUDjY1VCp6fDY8yflyfUeIOsOBrIbIiArg==", + "node_modules/hardhat-gas-reporter": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.3.tgz", + "integrity": "sha512-Xwm26n22ZivKezoYpr90NynCGluo8QrAEtHygAFFMkpyyHSLxzinHFtCzxkJc1VRmzidVOyDoboVtapc8knf8w==", "dev": true, "dependencies": { - "pure-rand": "^5.0.1" - }, - "engines": { - "node": ">=8.0.0" + "eth-gas-reporter": "^0.2.20", + "sha1": "^1.1.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" + "peerDependencies": { + "hardhat": "^2.0.2" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "node_modules/hardhat-tracer": { + "version": "1.1.0-rc.6", + "resolved": "https://registry.npmjs.org/hardhat-tracer/-/hardhat-tracer-1.1.0-rc.6.tgz", + "integrity": "sha512-u1d8YpyYBCj/7xVMPDxsx+H1gBaothk/XNLeTYuEmxC6WmVMEwVjpdnmTYZiRQ2ntUfwSIjwKhDkLOqewBqaQA==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "ethers": "^5.6.1" }, - "engines": { - "node": ">=8.6.0" + "peerDependencies": { + "chalk": "4.x", + "ethers": "5.x", + "hardhat": "2.x" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "node_modules/hardhat-tracer/node_modules/ethers": { + "version": "5.6.9", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.9.tgz", + "integrity": "sha512-lMGC2zv9HC5EC+8r429WaWu3uWJUCgUCt8xxKCFqkrFuBDZXDYIdzDUECxzjf2BMF8IVBByY1EBoGSL3RTm8RA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.6.4", + "@ethersproject/abstract-provider": "5.6.1", + "@ethersproject/abstract-signer": "5.6.2", + "@ethersproject/address": "5.6.1", + "@ethersproject/base64": "5.6.1", + "@ethersproject/basex": "5.6.1", + "@ethersproject/bignumber": "5.6.2", + "@ethersproject/bytes": "5.6.1", + "@ethersproject/constants": "5.6.1", + "@ethersproject/contracts": "5.6.2", + "@ethersproject/hash": "5.6.1", + "@ethersproject/hdnode": "5.6.2", + "@ethersproject/json-wallets": "5.6.1", + "@ethersproject/keccak256": "5.6.1", + "@ethersproject/logger": "5.6.0", + "@ethersproject/networks": "5.6.4", + "@ethersproject/pbkdf2": "5.6.1", + "@ethersproject/properties": "5.6.0", + "@ethersproject/providers": "5.6.8", + "@ethersproject/random": "5.6.1", + "@ethersproject/rlp": "5.6.1", + "@ethersproject/sha2": "5.6.1", + "@ethersproject/signing-key": "5.6.2", + "@ethersproject/solidity": "5.6.1", + "@ethersproject/strings": "5.6.1", + "@ethersproject/transactions": "5.6.2", + "@ethersproject/units": "5.6.1", + "@ethersproject/wallet": "5.6.2", + "@ethersproject/web": "5.6.1", + "@ethersproject/wordlists": "5.6.1" + } }, - "node_modules/fast-redact": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.2.tgz", - "integrity": "sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==", + "node_modules/hardhat/node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true, "engines": { "node": ">=6" } }, - "node_modules/fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "node_modules/hardhat/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { - "reusify": "^1.0.4" + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/hardhat/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "node_modules/hardhat/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { - "flat-cache": "^3.0.4" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=4" } }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/fill-keys": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", - "integrity": "sha512-tcgI872xXjwFF4xgQmLxi76GnwJG3g/3isB1l4/G5Z4zrbddGpBjqZCO9oEAcB5wX0Hj/5iQB3toxfO7in1hHA==", + "node_modules/hardhat/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "dependencies": { - "is-object": "~1.0.1", - "merge-descriptors": "~1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/hardhat/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" + "color-name": "1.1.3" } }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "node_modules/hardhat/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/hardhat/node_modules/commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", + "dev": true + }, + "node_modules/hardhat/node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, "engines": { - "node": ">= 0.8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/hardhat/node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", "dev": true, - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">=0.3.1" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/hardhat/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "node_modules/find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "node_modules/hardhat/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "dependencies": { - "array-back": "^3.0.1" - }, "engines": { - "node": ">=4.0.0" + "node": ">=0.8.0" } }, - "node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "node_modules/hardhat/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "dev": true, "dependencies": { - "locate-path": "^3.0.0" + "locate-path": "^2.0.0" }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/flat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", - "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", + "node_modules/hardhat/node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, - "dependencies": { - "is-buffer": "~2.0.3" - }, "bin": { "flat": "cli.js" } }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "node_modules/hardhat/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=6 <7 || >=8" } }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "node_modules/fmix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/fmix/-/fmix-0.1.0.tgz", - "integrity": "sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==", + "node_modules/hardhat/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "dependencies": { - "imul": "^1.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "node_modules/hardhat/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } + "node": ">=4" } }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "node_modules/hardhat/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "dependencies": { - "is-callable": "^1.1.3" + "engines": { + "node": ">=8" } }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "node_modules/hardhat/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/form-data": { + "node_modules/hardhat/node_modules/jsonfile": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/form-data-encoder": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.1.tgz", - "integrity": "sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==", - "dev": true - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "node_modules/hardhat/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=4" } }, - "node_modules/fp-ts": { - "version": "1.19.3", - "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", - "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==", - "dev": true - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "node_modules/hardhat/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "node_modules/hardhat/node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/fs-extra/node_modules/universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "node_modules/hardhat/node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "node_modules/hardhat/node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "minipass": "^2.6.0" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "node_modules/hardhat/node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "node_modules/hardhat/node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=8" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "node_modules/hardhat/node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "node_modules/hardhat/node_modules/mocha": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", + "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.3", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "4.2.1", + "ms": "2.1.3", + "nanoid": "3.3.1", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "workerpool": "6.2.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" }, "engines": { - "node": ">= 0.4" + "node": ">= 12.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/mochajs" } }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "node_modules/hardhat/node_modules/mocha/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/hardhat/node_modules/mocha/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "node_modules/hardhat/node_modules/mocha/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "engines": { + "node": ">=10" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ganache-cli": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ganache-cli/-/ganache-cli-6.12.2.tgz", - "integrity": "sha512-bnmwnJDBDsOWBUP8E/BExWf85TsdDEFelQSzihSJm9VChVO1SHp94YXLP5BlA4j/OTxp0wR4R1Tje9OHOuAJVw==", - "bundleDependencies": [ - "source-map-support", - "yargs", - "ethereumjs-util" - ], - "deprecated": "ganache-cli is now ganache; visit https://trfl.io/g7 for details", + "node_modules/hardhat/node_modules/mocha/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "dependencies": { - "ethereumjs-util": "6.2.1", - "source-map-support": "0.5.12", - "yargs": "13.2.4" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, - "bin": { - "ganache-cli": "cli.js" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ganache-cli/node_modules/@types/bn.js": { - "version": "4.11.6", + "node_modules/hardhat/node_modules/mocha/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/hardhat/node_modules/mocha/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "@types/node": "*" + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ganache-cli/node_modules/@types/node": { - "version": "14.11.2", + "node_modules/hardhat/node_modules/mocha/node_modules/minimatch": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", + "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", "dev": true, - "inBundle": true, - "license": "MIT" + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/ganache-cli/node_modules/@types/pbkdf2": { + "node_modules/hardhat/node_modules/mocha/node_modules/p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "@types/node": "*" + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ganache-cli/node_modules/@types/secp256k1": { - "version": "4.0.1", + "node_modules/hardhat/node_modules/mocha/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "@types/node": "*" + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ganache-cli/node_modules/ansi-regex": { - "version": "4.1.0", + "node_modules/hardhat/node_modules/mocha/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "inBundle": true, - "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/ganache-cli/node_modules/ansi-styles": { - "version": "3.2.1", + "node_modules/hardhat/node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/ganache-cli/node_modules/base-x": { - "version": "3.0.8", + "node_modules/hardhat/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/hardhat/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "safe-buffer": "^5.0.1" + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/ganache-cli/node_modules/blakejs": { - "version": "1.1.0", - "dev": true, - "inBundle": true, - "license": "CC0-1.0" - }, - "node_modules/ganache-cli/node_modules/bn.js": { - "version": "4.11.9", + "node_modules/hardhat/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "dev": true, - "inBundle": true, - "license": "MIT" + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/ganache-cli/node_modules/brorand": { - "version": "1.1.0", + "node_modules/hardhat/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", "dev": true, - "inBundle": true, - "license": "MIT" + "engines": { + "node": ">=4" + } }, - "node_modules/ganache-cli/node_modules/browserify-aes": { - "version": "1.2.0", + "node_modules/hardhat/node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ganache-cli/node_modules/bs58": { - "version": "4.0.1", + "node_modules/hardhat/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "base-x": "^3.0.2" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "node_modules/ganache-cli/node_modules/bs58check": { - "version": "2.1.2", + "node_modules/hardhat/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/ganache-cli/node_modules/buffer-from": { - "version": "1.1.1", + "node_modules/hardhat/node_modules/solc": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", + "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", "dev": true, - "inBundle": true, - "license": "MIT" + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } }, - "node_modules/ganache-cli/node_modules/buffer-xor": { - "version": "1.0.3", + "node_modules/hardhat/node_modules/solc/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", "dev": true, - "inBundle": true, - "license": "MIT" + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } }, - "node_modules/ganache-cli/node_modules/camelcase": { - "version": "5.3.1", + "node_modules/hardhat/node_modules/solc/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/ganache-cli/node_modules/cipher-base": { - "version": "1.0.4", + "node_modules/hardhat/node_modules/solc/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "bin": { + "semver": "bin/semver" } }, - "node_modules/ganache-cli/node_modules/cliui": { - "version": "5.0.0", + "node_modules/hardhat/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "inBundle": true, - "license": "ISC", "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/ganache-cli/node_modules/color-convert": { - "version": "1.9.3", + "node_modules/hardhat/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/ganache-cli/node_modules/color-name": { - "version": "1.1.3", + "node_modules/hardhat/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, - "inBundle": true, - "license": "MIT" + "engines": { + "node": ">= 4.0.0" + } }, - "node_modules/ganache-cli/node_modules/create-hash": { - "version": "1.2.0", + "node_modules/hardhat/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/ganache-cli/node_modules/create-hmac": { - "version": "1.1.7", + "node_modules/hardhat/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/ganache-cli/node_modules/cross-spawn": { - "version": "6.0.5", + "node_modules/hardhat/node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "color-name": "~1.1.4" }, "engines": { - "node": ">=4.8" + "node": ">=7.0.0" } }, - "node_modules/ganache-cli/node_modules/decamelize": { - "version": "1.2.0", + "node_modules/hardhat/node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/hardhat/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "inBundle": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/ganache-cli/node_modules/elliptic": { - "version": "6.5.3", + "node_modules/hardhat/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "node_modules/ganache-cli/node_modules/emoji-regex": { - "version": "7.0.3", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/end-of-stream": { - "version": "1.4.4", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "once": "^1.4.0" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" } }, - "node_modules/ganache-cli/node_modules/ethereum-cryptography": { - "version": "0.1.3", + "node_modules/hardhat/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" + "engines": { + "node": ">=10" } }, - "node_modules/ganache-cli/node_modules/ethereumjs-util": { - "version": "6.2.1", + "node_modules/hardhat/node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, - "inBundle": true, - "license": "MPL-2.0", "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/ganache-cli/node_modules/ethjs-util": { - "version": "0.1.6", + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" + "function-bind": "^1.1.1" }, "engines": { - "node": ">=6.5.0", - "npm": ">=3" + "node": ">= 0.4.0" } }, - "node_modules/ganache-cli/node_modules/evp_bytestokey": { - "version": "1.0.3", + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ganache-cli/node_modules/execa": { + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "get-intrinsic": "^1.1.1" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/ganache-cli/node_modules/find-up": { - "version": "3.0.0", + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ganache-cli/node_modules/get-caller-file": { - "version": "2.0.5", + "node_modules/has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, - "inBundle": true, - "license": "ISC", + "dependencies": { + "has-symbol-support-x": "^1.4.1" + }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": "*" } }, - "node_modules/ganache-cli/node_modules/get-stream": { - "version": "4.1.0", + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "pump": "^3.0.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ganache-cli/node_modules/hash-base": { + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/hash-base": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -13791,400 +12851,556 @@ "node": ">=4" } }, - "node_modules/ganache-cli/node_modules/hash.js": { + "node_modules/hash.js": { "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" } }, - "node_modules/ganache-cli/node_modules/hmac-drbg": { + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/header-case": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/header-case/-/header-case-1.0.1.tgz", + "integrity": "sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "no-case": "^2.2.0", + "upper-case": "^1.1.3" } }, - "node_modules/ganache-cli/node_modules/inherits": { - "version": "2.0.4", - "dev": true, - "inBundle": true, - "license": "ISC" + "node_modules/heap": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", + "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", + "dev": true }, - "node_modules/ganache-cli/node_modules/invert-kv": { - "version": "2.0.0", + "node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", "dev": true, - "inBundle": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/ganache-cli/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=4" - } + "node_modules/highlightjs-solidity": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/highlightjs-solidity/-/highlightjs-solidity-2.0.5.tgz", + "integrity": "sha512-ReXxQSGQkODMUgHcWzVSnfDCDrL2HshOYgw3OlIYmfHeRzUPkfJTUIp95pK4CmbiNG2eMTOmNLpfCz9Zq7Cwmg==", + "dev": true }, - "node_modules/ganache-cli/node_modules/is-hex-prefixed": { - "version": "1.0.0", + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6.5.0", - "npm": ">=3" + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/ganache-cli/node_modules/is-stream": { - "version": "1.1.0", + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/htmlescape": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", "dev": true, - "inBundle": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, - "node_modules/ganache-cli/node_modules/isexe": { - "version": "2.0.0", + "node_modules/htmlparser2": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", + "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", "dev": true, - "inBundle": true, - "license": "ISC" + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "entities": "^4.3.0" + } }, - "node_modules/ganache-cli/node_modules/keccak": { - "version": "3.0.1", + "node_modules/http-basic": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", + "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", "dev": true, - "hasInstallScript": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" }, "engines": { - "node": ">=10.0.0" + "node": ">=6.0.0" } }, - "node_modules/ganache-cli/node_modules/lcid": { + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "node_modules/http-errors": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "invert-kv": "^2.0.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=6" + "node": ">= 0.8" } }, - "node_modules/ganache-cli/node_modules/locate-path": { - "version": "3.0.0", + "node_modules/http-https": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", + "integrity": "sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==", + "dev": true + }, + "node_modules/http-response-object": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "@types/node": "^10.0.3" + } + }, + "node_modules/http-response-object/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "dev": true + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" }, "engines": { - "node": ">=6" + "node": ">=0.8", + "npm": ">=1.3.7" } }, - "node_modules/ganache-cli/node_modules/map-age-cleaner": { - "version": "0.1.3", + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "p-defer": "^1.0.0" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=6" + "node": ">= 6" } }, - "node_modules/ganache-cli/node_modules/md5.js": { - "version": "1.3.5", + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ganache-cli/node_modules/mem": { - "version": "4.3.0", + "node_modules/idna-uts46-hx": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", + "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" + "punycode": "2.1.0" }, "engines": { - "node": ">=6" + "node": ">=4.0.0" } }, - "node_modules/ganache-cli/node_modules/mimic-fn": { + "node_modules/idna-uts46-hx/node_modules/punycode": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==", "dev": true, - "inBundle": true, - "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/ganache-cli/node_modules/minimalistic-assert": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/ganache-cli/node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, - "inBundle": true, - "license": "MIT" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/ganache-cli/node_modules/nice-try": { - "version": "1.0.5", + "node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true, - "inBundle": true, - "license": "MIT" + "engines": { + "node": ">= 4" + } }, - "node_modules/ganache-cli/node_modules/node-addon-api": { - "version": "2.0.2", - "dev": true, - "inBundle": true, - "license": "MIT" + "node_modules/immediate": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", + "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==", + "dev": true }, - "node_modules/ganache-cli/node_modules/node-gyp-build": { - "version": "4.2.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } + "node_modules/immutable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "dev": true }, - "node_modules/ganache-cli/node_modules/npm-run-path": { - "version": "2.0.2", + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "path-key": "^2.0.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ganache-cli/node_modules/once": { - "version": "1.4.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" + "node_modules/imul": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/imul/-/imul-1.0.1.tgz", + "integrity": "sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ganache-cli/node_modules/os-locale": { - "version": "3.1.0", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - }, "engines": { - "node": ">=6" + "node": ">=0.8.19" } }, - "node_modules/ganache-cli/node_modules/p-defer": { - "version": "1.0.0", + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, - "inBundle": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/ganache-cli/node_modules/p-finally": { - "version": "1.0.0", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/ganache-cli/node_modules/p-is-promise": { - "version": "2.1.0", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/inline-source-map": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", + "integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==", + "dev": true, + "dependencies": { + "source-map": "~0.5.3" + } + }, + "node_modules/inline-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, - "inBundle": true, - "license": "MIT", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/ganache-cli/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8.0.0" } }, - "node_modules/ganache-cli/node_modules/p-locate": { + "node_modules/inquirer/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/inquirer/node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "p-limit": "^2.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/ganache-cli/node_modules/p-try": { - "version": "2.2.0", + "node_modules/insert-module-globals": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", + "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "acorn-node": "^1.5.2", + "combine-source-map": "^0.8.0", + "concat-stream": "^1.6.1", + "is-buffer": "^1.1.0", + "JSONStream": "^1.0.3", + "path-is-absolute": "^1.0.1", + "process": "~0.11.0", + "through2": "^2.0.0", + "undeclared-identifiers": "^1.1.2", + "xtend": "^4.0.0" + }, + "bin": { + "insert-module-globals": "bin/cmd.js" } }, - "node_modules/ganache-cli/node_modules/path-exists": { - "version": "3.0.0", + "node_modules/insert-module-globals/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", "dev": true, - "inBundle": true, - "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, "engines": { - "node": ">=4" + "node": ">= 0.4" } }, - "node_modules/ganache-cli/node_modules/path-key": { - "version": "2.0.1", + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true, - "inBundle": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 0.10" } }, - "node_modules/ganache-cli/node_modules/pbkdf2": { - "version": "3.1.1", + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, - "inBundle": true, - "license": "MIT", + "peer": true, "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" + "loose-envify": "^1.0.0" } }, - "node_modules/ganache-cli/node_modules/pump": { - "version": "3.0.0", + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ganache-cli/node_modules/randombytes": { - "version": "2.1.0", + "node_modules/io-ts": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", + "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "safe-buffer": "^5.1.0" + "fp-ts": "^1.0.0" } }, - "node_modules/ganache-cli/node_modules/readable-stream": { - "version": "3.6.0", + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, "engines": { - "node": ">= 6" + "node": ">= 0.10" } }, - "node_modules/ganache-cli/node_modules/require-directory": { - "version": "2.1.1", + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, - "inBundle": true, - "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ganache-cli/node_modules/require-main-filename": { - "version": "2.0.0", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, - "inBundle": true, - "license": "ISC" + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/ganache-cli/node_modules/ripemd160": { - "version": "2.0.2", + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/ganache-cli/node_modules/rlp": { - "version": "2.2.6", + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, - "inBundle": true, - "license": "MPL-2.0", "dependencies": { - "bn.js": "^4.11.1" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, - "bin": { - "rlp": "bin/rlp" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ganache-cli/node_modules/safe-buffer": { - "version": "5.2.1", + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", "dev": true, "funding": [ { @@ -14200,395 +13416,269 @@ "url": "https://feross.org/support" } ], - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/scrypt-js": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/secp256k1": { - "version": "4.0.2", - "dev": true, - "hasInstallScript": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "elliptic": "^6.5.2", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, "engines": { - "node": ">=10.0.0" + "node": ">=4" } }, - "node_modules/ganache-cli/node_modules/semver": { - "version": "5.7.1", + "node_modules/is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", "dev": true, - "inBundle": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ganache-cli/node_modules/set-blocking": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/ganache-cli/node_modules/setimmediate": { - "version": "1.0.5", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/sha.js": { - "version": "2.4.11", + "node_modules/is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", "dev": true, - "inBundle": true, - "license": "(MIT AND BSD-3-Clause)", "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "has": "^1.0.3" }, - "bin": { - "sha.js": "bin.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ganache-cli/node_modules/shebang-command": { - "version": "1.2.0", + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "shebang-regex": "^1.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ganache-cli/node_modules/shebang-regex": { - "version": "1.0.0", + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", "dev": true, - "inBundle": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/ganache-cli/node_modules/signal-exit": { - "version": "3.0.3", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/ganache-cli/node_modules/source-map": { - "version": "0.6.1", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "inBundle": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/ganache-cli/node_modules/source-map-support": { - "version": "0.5.12", + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "engines": { + "node": ">=4" } }, - "node_modules/ganache-cli/node_modules/string_decoder": { - "version": "1.3.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } + "node_modules/is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", + "dev": true }, - "node_modules/ganache-cli/node_modules/string-width": { - "version": "3.1.0", + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ganache-cli/node_modules/strip-ansi": { - "version": "5.2.0", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "inBundle": true, - "license": "MIT", "dependencies": { - "ansi-regex": "^4.1.0" + "is-extglob": "^2.1.1" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/strip-eof": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/ganache-cli/node_modules/strip-hex-prefix": { + "node_modules/is-hex-prefixed": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "is-hex-prefixed": "1.0.0" - }, "engines": { "node": ">=6.5.0", "npm": ">=3" } }, - "node_modules/ganache-cli/node_modules/util-deprecate": { - "version": "1.0.2", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-cli/node_modules/which": { - "version": "1.3.1", + "node_modules/is-lower-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", + "integrity": "sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA==", "dev": true, - "inBundle": true, - "license": "ISC", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" + "lower-case": "^1.1.0" } }, - "node_modules/ganache-cli/node_modules/which-module": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/ganache-cli/node_modules/wrap-ansi": { - "version": "5.1.0", + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-cli/node_modules/wrappy": { - "version": "1.0.2", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/ganache-cli/node_modules/y18n": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/ganache-cli/node_modules/yargs": { - "version": "13.2.4", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.0" - } - }, - "node_modules/ganache-cli/node_modules/yargs-parser": { - "version": "13.1.2", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "optional": true, - "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=0.12.0" } }, - "node_modules/gauge/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "number-is-nan": "^1.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gauge/node_modules/string-width": { + "node_modules/is-object": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/get-assigned-identifiers": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", - "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", - "dev": true - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "node_modules/is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", "dev": true, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "call-bind": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "dependencies": { - "pump": "^3.0.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "node_modules/is-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz", + "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==", "dev": true, "dependencies": { + "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "es-abstract": "^1.20.0", + "for-each": "^0.3.3", + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -14597,762 +13687,593 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - } + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true }, - "node_modules/ghost-testrpc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz", - "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==", + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "node-emoji": "^1.10.0" + "engines": { + "node": ">=10" }, - "bin": { - "testrpc-sc": "index.js" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ghost-testrpc/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/is-upper-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", + "integrity": "sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" + "upper-case": "^1.1.0" } }, - "node_modules/ghost-testrpc/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true }, - "node_modules/ghost-testrpc/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "dependencies": { - "color-name": "1.1.3" + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ghost-testrpc/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, - "node_modules/ghost-testrpc/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true }, - "node_modules/ghost-testrpc/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true }, - "node_modules/ghost-testrpc/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" }, "engines": { - "node": ">=4" + "node": ">= 4" } }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 10.14.2" } }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, "engines": { - "node": ">= 6" - } - }, - "node_modules/global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "dev": true, - "dependencies": { - "min-document": "^2.19.0", - "process": "^0.11.10" + "node": ">= 10.14.2" } }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "node_modules/jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", "dev": true, "dependencies": { - "global-prefix": "^3.0.0" + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" }, "engines": { - "node": ">=6" + "node": ">= 10.14.2" } }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "node_modules/jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", "dev": true, "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" }, "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" + "node": ">= 10.14.2" } }, - "node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "node_modules/jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 10.14.2" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" + "argparse": "^2.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/google-protobuf": { - "version": "3.21.2", - "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.2.tgz", - "integrity": "sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA==", + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", "dev": true }, - "node_modules/got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dev": true, - "dependencies": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "engines": { - "node": ">=8.6" - } + "node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", + "dev": true }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true }, - "node_modules/graphql": { - "version": "16.5.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.5.0.tgz", - "integrity": "sha512-qbHgh8Ix+j/qY+a/ZcJnFQ+j8ezakqPiHwPiZhV/3PgGlgf96QMBB5/f2rkiC9sgLoy/xvT6TSiaf2nTHJh5iA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" - } + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true }, - "node_modules/graphql-request": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-5.1.0.tgz", - "integrity": "sha512-0OeRVYigVwIiXhNmqnPDt+JhMzsjinxHE7TVy3Lm6jUzav0guVcL0lfSbi6jVTRAxcbwgyr6yrZioSHxf9gHzw==", + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "cross-fetch": "^3.1.5", - "extract-files": "^9.0.0", - "form-data": "^3.0.0" + "universalify": "^2.0.0" }, - "peerDependencies": { - "graphql": "14 - 16" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/graphql-request/node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } + "engines": [ + "node >= 0.2.0" + ] }, - "node_modules/growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "node_modules/jsonschema": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz", + "integrity": "sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==", "dev": true, "engines": { - "node": ">=4.x" + "node": "*" } }, - "node_modules/handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" }, "bin": { - "handlebars": "bin/handlebars" - }, - "engines": { - "node": ">=0.4.7" + "JSONStream": "bin.js" }, - "optionalDependencies": { - "uglify-js": "^3.1.4" - } - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "dev": true, "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "dev": true, "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" }, "engines": { - "node": ">=6" + "node": ">=0.6.0" } }, - "node_modules/har-validator/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/keccak": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", + "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", "dev": true, + "hasInstallScript": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=10.0.0" } }, - "node_modules/har-validator/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/hardhat": { - "version": "2.9.9", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.9.9.tgz", - "integrity": "sha512-Qv7SXnRc0zq1kGXruNnSKpP3eFccXMR5Qv6GVX9hBIJ5efN0PflKPq92aQ5Cv3jrjJeRevLznWZVz7bttXhVfw==", + "node_modules/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", "dev": true, "dependencies": { - "@ethereumjs/block": "^3.6.2", - "@ethereumjs/blockchain": "^5.5.2", - "@ethereumjs/common": "^2.6.4", - "@ethereumjs/tx": "^3.5.1", - "@ethereumjs/vm": "^5.9.0", - "@ethersproject/abi": "^5.1.2", - "@metamask/eth-sig-util": "^4.0.0", - "@sentry/node": "^5.18.1", - "@solidity-parser/parser": "^0.14.1", - "@types/bn.js": "^5.1.0", - "@types/lru-cache": "^5.1.0", - "abort-controller": "^3.0.0", - "adm-zip": "^0.4.16", - "aggregate-error": "^3.0.0", - "ansi-escapes": "^4.3.0", - "chalk": "^2.4.2", - "chokidar": "^3.4.0", - "ci-info": "^2.0.0", - "debug": "^4.1.1", - "enquirer": "^2.3.0", - "env-paths": "^2.2.0", - "ethereum-cryptography": "^0.1.2", - "ethereumjs-abi": "^0.6.8", - "ethereumjs-util": "^7.1.4", - "find-up": "^2.1.0", - "fp-ts": "1.19.3", - "fs-extra": "^7.0.1", - "glob": "7.2.0", - "immutable": "^4.0.0-rc.12", - "io-ts": "1.10.4", - "lodash": "^4.17.11", - "merkle-patricia-tree": "^4.2.4", - "mnemonist": "^0.38.0", - "mocha": "^9.2.0", - "p-map": "^4.0.0", - "qs": "^6.7.0", - "raw-body": "^2.4.1", - "resolve": "1.17.0", - "semver": "^6.3.0", - "slash": "^3.0.0", - "solc": "0.7.3", - "source-map-support": "^0.5.13", - "stacktrace-parser": "^0.1.10", - "true-case-path": "^2.2.1", - "tsort": "0.0.1", - "undici": "^5.4.0", - "uuid": "^8.3.2", - "ws": "^7.4.6" - }, - "bin": { - "hardhat": "internal/cli/cli.js" - }, - "engines": { - "node": "^12.0.0 || ^14.0.0 || ^16.0.0" - }, - "peerDependencies": { - "ts-node": "*", - "typescript": "*" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - }, - "typescript": { - "optional": true - } + "json-buffer": "3.0.0" } }, - "node_modules/hardhat-deploy": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/hardhat-deploy/-/hardhat-deploy-0.9.8.tgz", - "integrity": "sha512-f7s3mG4wHnZuQWR+W4QVnPIE0OshgBrf19gvqRBqMbH9cDw4IxBXKWYSVTPXHXNITjwE3CA9Rqx+52Ee1ovtAA==", + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "dependencies": { - "@ethersproject/abi": "^5.4.0", - "@ethersproject/abstract-signer": "^5.4.1", - "@ethersproject/address": "^5.4.0", - "@ethersproject/bignumber": "^5.4.1", - "@ethersproject/bytes": "^5.4.0", - "@ethersproject/constants": "^5.4.0", - "@ethersproject/contracts": "^5.4.1", - "@ethersproject/providers": "^5.4.4", - "@ethersproject/solidity": "^5.4.0", - "@ethersproject/transactions": "^5.4.0", - "@ethersproject/wallet": "^5.4.0", - "@types/qs": "^6.9.7", - "axios": "^0.21.1", - "chalk": "^4.1.2", - "chokidar": "^3.5.2", - "debug": "^4.3.2", - "enquirer": "^2.3.6", - "form-data": "^4.0.0", - "fs-extra": "^10.0.0", - "match-all": "^1.2.6", - "murmur-128": "^0.2.1", - "qs": "^6.9.4" - }, - "peerDependencies": { - "@ethersproject/hardware-wallets": "^5.0.14", - "hardhat": "^2.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/hardhat-deploy-ethers": { - "version": "0.3.0-beta.11", - "resolved": "https://registry.npmjs.org/hardhat-deploy-ethers/-/hardhat-deploy-ethers-0.3.0-beta.11.tgz", - "integrity": "sha512-HnniBGBYsFRQDXBy3bQ27i86pQQnHkN0Mxdwiu869jZURY2gDQ4OEZxcXItnWQqBjYiEaavVyw/Xle7qwKOBAg==", + "node_modules/klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", "dev": true, - "peerDependencies": { - "ethers": "^5.0.0", - "hardhat": "^2.0.0" + "optionalDependencies": { + "graceful-fs": "^4.1.9" } }, - "node_modules/hardhat-deploy/node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "node_modules/labeled-stream-splicer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", + "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", "dev": true, "dependencies": { - "follow-redirects": "^1.14.0" + "inherits": "^2.0.1", + "stream-splicer": "^2.0.0" } }, - "node_modules/hardhat-deploy/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "invert-kv": "^1.0.0" }, "engines": { - "node": ">=12" + "node": ">=0.10.0" } }, - "node_modules/hardhat-diamond-abi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/hardhat-diamond-abi/-/hardhat-diamond-abi-3.0.1.tgz", - "integrity": "sha512-t+skBGX8lK3qH/YQB8L/QJVIINyuji/2r4q9JcZQ0rX9oEZzgfJMka2ttZ4gyuNcYRT95KyfDSuCCwSQX1cVDA==", + "node_modules/level-codec": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", + "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", "dev": true, "dependencies": { - "debug": "^4.3.3", - "ethers": "^5.5.2" + "buffer": "^5.6.0" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "hardhat": "^2.0.0" + "node": ">=6" } }, - "node_modules/hardhat-diamond-abi/node_modules/ethers": { - "version": "5.6.9", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.9.tgz", - "integrity": "sha512-lMGC2zv9HC5EC+8r429WaWu3uWJUCgUCt8xxKCFqkrFuBDZXDYIdzDUECxzjf2BMF8IVBByY1EBoGSL3RTm8RA==", + "node_modules/level-codec/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "funding": [ { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + "type": "github", + "url": "https://github.com/sponsors/feross" }, { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } ], "dependencies": { - "@ethersproject/abi": "5.6.4", - "@ethersproject/abstract-provider": "5.6.1", - "@ethersproject/abstract-signer": "5.6.2", - "@ethersproject/address": "5.6.1", - "@ethersproject/base64": "5.6.1", - "@ethersproject/basex": "5.6.1", - "@ethersproject/bignumber": "5.6.2", - "@ethersproject/bytes": "5.6.1", - "@ethersproject/constants": "5.6.1", - "@ethersproject/contracts": "5.6.2", - "@ethersproject/hash": "5.6.1", - "@ethersproject/hdnode": "5.6.2", - "@ethersproject/json-wallets": "5.6.1", - "@ethersproject/keccak256": "5.6.1", - "@ethersproject/logger": "5.6.0", - "@ethersproject/networks": "5.6.4", - "@ethersproject/pbkdf2": "5.6.1", - "@ethersproject/properties": "5.6.0", - "@ethersproject/providers": "5.6.8", - "@ethersproject/random": "5.6.1", - "@ethersproject/rlp": "5.6.1", - "@ethersproject/sha2": "5.6.1", - "@ethersproject/signing-key": "5.6.2", - "@ethersproject/solidity": "5.6.1", - "@ethersproject/strings": "5.6.1", - "@ethersproject/transactions": "5.6.2", - "@ethersproject/units": "5.6.1", - "@ethersproject/wallet": "5.6.2", - "@ethersproject/web": "5.6.1", - "@ethersproject/wordlists": "5.6.1" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/hardhat-gas-reporter": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.3.tgz", - "integrity": "sha512-Xwm26n22ZivKezoYpr90NynCGluo8QrAEtHygAFFMkpyyHSLxzinHFtCzxkJc1VRmzidVOyDoboVtapc8knf8w==", + "node_modules/level-concat-iterator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", + "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==", "dev": true, - "dependencies": { - "eth-gas-reporter": "^0.2.20", - "sha1": "^1.1.1" - }, - "peerDependencies": { - "hardhat": "^2.0.2" + "engines": { + "node": ">=6" } }, - "node_modules/hardhat-tracer": { - "version": "1.1.0-rc.6", - "resolved": "https://registry.npmjs.org/hardhat-tracer/-/hardhat-tracer-1.1.0-rc.6.tgz", - "integrity": "sha512-u1d8YpyYBCj/7xVMPDxsx+H1gBaothk/XNLeTYuEmxC6WmVMEwVjpdnmTYZiRQ2ntUfwSIjwKhDkLOqewBqaQA==", + "node_modules/level-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", + "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", "dev": true, "dependencies": { - "ethers": "^5.6.1" + "errno": "~0.1.1" }, - "peerDependencies": { - "chalk": "4.x", - "ethers": "5.x", - "hardhat": "2.x" + "engines": { + "node": ">=6" } }, - "node_modules/hardhat-tracer/node_modules/ethers": { - "version": "5.6.9", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.9.tgz", - "integrity": "sha512-lMGC2zv9HC5EC+8r429WaWu3uWJUCgUCt8xxKCFqkrFuBDZXDYIdzDUECxzjf2BMF8IVBByY1EBoGSL3RTm8RA==", + "node_modules/level-iterator-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", + "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "dependencies": { - "@ethersproject/abi": "5.6.4", - "@ethersproject/abstract-provider": "5.6.1", - "@ethersproject/abstract-signer": "5.6.2", - "@ethersproject/address": "5.6.1", - "@ethersproject/base64": "5.6.1", - "@ethersproject/basex": "5.6.1", - "@ethersproject/bignumber": "5.6.2", - "@ethersproject/bytes": "5.6.1", - "@ethersproject/constants": "5.6.1", - "@ethersproject/contracts": "5.6.2", - "@ethersproject/hash": "5.6.1", - "@ethersproject/hdnode": "5.6.2", - "@ethersproject/json-wallets": "5.6.1", - "@ethersproject/keccak256": "5.6.1", - "@ethersproject/logger": "5.6.0", - "@ethersproject/networks": "5.6.4", - "@ethersproject/pbkdf2": "5.6.1", - "@ethersproject/properties": "5.6.0", - "@ethersproject/providers": "5.6.8", - "@ethersproject/random": "5.6.1", - "@ethersproject/rlp": "5.6.1", - "@ethersproject/sha2": "5.6.1", - "@ethersproject/signing-key": "5.6.2", - "@ethersproject/solidity": "5.6.1", - "@ethersproject/strings": "5.6.1", - "@ethersproject/transactions": "5.6.2", - "@ethersproject/units": "5.6.1", - "@ethersproject/wallet": "5.6.2", - "@ethersproject/web": "5.6.1", - "@ethersproject/wordlists": "5.6.1" + "inherits": "^2.0.4", + "readable-stream": "^3.4.0", + "xtend": "^4.0.2" + }, + "engines": { + "node": ">=6" } }, - "node_modules/hardhat/node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "node_modules/level-mem": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-5.0.1.tgz", + "integrity": "sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==", "dev": true, + "dependencies": { + "level-packager": "^5.0.3", + "memdown": "^5.0.0" + }, "engines": { "node": ">=6" } }, - "node_modules/hardhat/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/level-packager": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", + "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "encoding-down": "^6.3.0", + "levelup": "^4.3.2" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/hardhat/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/level-supports": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", + "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "xtend": "^4.0.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=6" } }, - "node_modules/hardhat/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/level-ws": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-2.0.0.tgz", + "integrity": "sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "inherits": "^2.0.3", + "readable-stream": "^3.1.0", + "xtend": "^4.0.1" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/hardhat/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/levelup": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz", + "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "deferred-leveldown": "~5.3.0", + "level-errors": "~2.0.0", + "level-iterator-stream": "~4.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/hardhat/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", "dev": true, "dependencies": { - "color-name": "1.1.3" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/hardhat/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "node_modules/hardhat/node_modules/commander": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", + "node_modules/lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==", "dev": true }, - "node_modules/hardhat/node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", + "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", "dev": true, + "dependencies": { + "chalk": "^2.4.2" + }, "engines": { - "node": ">=10" + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" } }, - "node_modules/hardhat/node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "node_modules/log-symbols/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, "engines": { - "node": ">=0.3.1" + "node": ">=4" } }, - "node_modules/hardhat/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "node_modules/log-symbols/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, - "node_modules/hardhat/node_modules/escape-string-regexp": { + "node_modules/log-symbols/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", @@ -15361,1269 +14282,1217 @@ "node": ">=0.8.0" } }, - "node_modules/hardhat/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "node_modules/log-symbols/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { - "locate-path": "^2.0.0" + "has-flag": "^3.0.0" }, "engines": { "node": ">=4" } }, - "node_modules/hardhat/node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, + "peer": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, "bin": { - "flat": "cli.js" + "loose-envify": "cli.js" } }, - "node_modules/hardhat/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "node_modules/loupe": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", + "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" + "get-func-name": "^2.0.0" } }, - "node_modules/hardhat/node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "node_modules/lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", + "dev": true + }, + "node_modules/lower-case-first": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz", + "integrity": "sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "lower-case": "^1.1.2" } }, - "node_modules/hardhat/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/hardhat/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/lru_map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/hardhat/node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "node_modules/ltgt": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", + "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==", + "dev": true + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/markdown-table": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", + "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", + "dev": true + }, + "node_modules/match-all": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/match-all/-/match-all-1.2.6.tgz", + "integrity": "sha512-0EESkXiTkWzrQQntBu2uzKvLu6vVkUGz40nGPbSZuegcfE5UuSzNjLaIu76zJWuaT/2I3Z/8M06OlUOZLGwLlQ==", + "dev": true + }, + "node_modules/mcl-wasm": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", + "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">=8.9.0" } }, - "node_modules/hardhat/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/hardhat/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/hardhat/node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "node_modules/memdown": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/memdown/-/memdown-5.1.0.tgz", + "integrity": "sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==", "dev": true, "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "abstract-leveldown": "~6.2.1", + "functional-red-black-tree": "~1.0.1", + "immediate": "~3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.2.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/hardhat/node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/memdown/node_modules/abstract-leveldown": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", + "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=6" } }, - "node_modules/hardhat/node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/memdown/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/hardhat/node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/memdown/node_modules/immediate": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", + "integrity": "sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg==", + "dev": true + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.10.0" } }, - "node_modules/hardhat/node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", "dev": true }, - "node_modules/hardhat/node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/hardhat/node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/merkle-patricia-tree": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz", + "integrity": "sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@types/levelup": "^4.3.0", + "ethereumjs-util": "^7.1.4", + "level-mem": "^5.0.1", + "level-ws": "^2.0.0", + "readable-stream": "^3.6.0", + "semaphore-async-await": "^1.5.1" } }, - "node_modules/hardhat/node_modules/mocha": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", - "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, - "dependencies": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.3", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "4.2.1", - "ms": "2.1.3", - "nanoid": "3.3.1", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "workerpool": "6.2.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha" - }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" + "node": ">= 0.6" } }, - "node_modules/hardhat/node_modules/mocha/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "dependencies": { - "ms": "2.1.2" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=8.6" } }, - "node_modules/hardhat/node_modules/mocha/node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/hardhat/node_modules/mocha/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "miller-rabin": "bin/miller-rabin" } }, - "node_modules/hardhat/node_modules/mocha/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/hardhat/node_modules/mocha/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/hardhat/node_modules/mocha/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "dependencies": { - "p-locate": "^5.0.0" + "mime-db": "1.52.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/hardhat/node_modules/mocha/node_modules/minimatch": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", - "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/hardhat/node_modules/mocha/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/hardhat/node_modules/mocha/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", "dev": true, "dependencies": { - "p-limit": "^3.0.2" + "dom-walk": "^0.1.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "*" } }, - "node_modules/hardhat/node_modules/mocha/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hardhat/node_modules/mocha/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" } }, - "node_modules/hardhat/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "node_modules/minipass/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, - "node_modules/hardhat/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "node_modules/minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "dev": true, "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" + "minipass": "^2.9.0" } }, - "node_modules/hardhat/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, "dependencies": { - "p-limit": "^1.1.0" + "minimist": "^1.2.5" }, - "engines": { - "node": ">=4" + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/hardhat/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "node_modules/mkdirp-promise": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", + "integrity": "sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==", + "deprecated": "This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.", "dev": true, + "dependencies": { + "mkdirp": "*" + }, "engines": { "node": ">=4" } }, - "node_modules/hardhat/node_modules/resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "node_modules/mnemonist": { + "version": "0.38.5", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", + "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", "dev": true, "dependencies": { - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "obliterator": "^2.0.0" } }, - "node_modules/hardhat/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/mocha": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", + "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "ansi-colors": "3.2.3", + "browser-stdout": "1.3.1", + "chokidar": "3.3.0", + "debug": "3.2.6", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "find-up": "3.0.0", + "glob": "7.1.3", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.13.1", + "log-symbols": "3.0.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.5", + "ms": "2.1.1", + "node-environment-flags": "1.0.6", + "object.assign": "4.1.0", + "strip-json-comments": "2.0.1", + "supports-color": "6.0.0", + "which": "1.3.1", + "wide-align": "1.1.3", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.0" }, "bin": { - "rimraf": "bin.js" + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" } }, - "node_modules/hardhat/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/mocha/node_modules/ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">=6" } }, - "node_modules/hardhat/node_modules/solc": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", - "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", + "node_modules/mocha/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "dependencies": { - "command-exists": "^1.2.8", - "commander": "3.0.2", - "follow-redirects": "^1.12.1", - "fs-extra": "^0.30.0", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "require-from-string": "^2.0.0", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "bin": { - "solcjs": "solcjs" - }, - "engines": { - "node": ">=8.0.0" + "sprintf-js": "~1.0.2" } }, - "node_modules/hardhat/node_modules/solc/node_modules/fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", + "node_modules/mocha/node_modules/chokidar": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.1" } }, - "node_modules/hardhat/node_modules/solc/node_modules/jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", + "node_modules/mocha/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/hardhat/node_modules/solc/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/mocha/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "bin": { - "semver": "bin/semver" + "engines": { + "node": ">=0.8.0" } }, - "node_modules/hardhat/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/mocha/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "deprecated": "\"Please update to latest v2.3 or v2.2\"", "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/hardhat/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/mocha/node_modules/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/hardhat/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/mocha/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { - "node": ">= 4.0.0" + "node": ">=4" } }, - "node_modules/hardhat/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/mocha/node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/hardhat/node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/mocha/node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "*" } }, - "node_modules/hardhat/node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/mocha/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/mocha/node_modules/readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "picomatch": "^2.0.4" }, "engines": { - "node": ">=7.0.0" + "node": ">= 8" } }, - "node_modules/hardhat/node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/hardhat/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "node_modules/mocha/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/hardhat/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "node_modules/mocha/node_modules/supports-color": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", "dev": true, "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/hardhat/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/hardhat/node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "node_modules/mocha/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" + "isexe": "^2.0.0" }, - "engines": { - "node": ">=10" + "bin": { + "which": "bin/which" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/mock-fs": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz", + "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==", + "dev": true + }, + "node_modules/module-deps": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", + "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", "dev": true, "dependencies": { - "function-bind": "^1.1.1" + "browser-resolve": "^2.0.0", + "cached-path-relative": "^1.0.2", + "concat-stream": "~1.6.0", + "defined": "^1.0.0", + "detective": "^5.2.0", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "JSONStream": "^1.0.3", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.4.0", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + }, + "bin": { + "module-deps": "bin/cmd.js" }, "engines": { - "node": ">= 0.4.0" + "node": ">= 0.8.0" } }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "node_modules/module-deps/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } + "node_modules/module-deps/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "node_modules/module-deps/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "safe-buffer": "~5.1.0" } }, - "node_modules/has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", - "dev": true, - "engines": { - "node": "*" - } + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "node_modules/multibase": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", + "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", + "deprecated": "This module has been superseded by the multiformats module", "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" } }, - "node_modules/has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "node_modules/multibase/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "has-symbol-support-x": "^1.4.1" - }, - "engines": { - "node": "*" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "node_modules/multicodec": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", + "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", + "deprecated": "This module has been superseded by the multiformats module", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "varint": "^5.0.0" } }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "node_modules/multihashes": { + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", + "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", "dev": true, "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" + "buffer": "^5.5.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" } }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "node_modules/multihashes/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "node_modules/multihashes/node_modules/multibase": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", + "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", + "deprecated": "This module has been superseded by the multiformats module", "dev": true, - "bin": { - "he": "bin/he" + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" } }, - "node_modules/header-case": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/header-case/-/header-case-1.0.1.tgz", - "integrity": "sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==", + "node_modules/murmur-128": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/murmur-128/-/murmur-128-0.2.1.tgz", + "integrity": "sha512-WseEgiRkI6aMFBbj8Cg9yBj/y+OdipwVC7zUo3W2W1JAJITwouUOtpqsmGSg67EQmwwSyod7hsVsWY5LsrfQVg==", "dev": true, "dependencies": { - "no-case": "^2.2.0", - "upper-case": "^1.1.3" + "encode-utf8": "^1.0.2", + "fmix": "^0.1.0", + "imul": "^1.0.0" } }, - "node_modules/heap": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", - "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, - "node_modules/highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "node_modules/nan": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", + "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/highlightjs-solidity": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/highlightjs-solidity/-/highlightjs-solidity-2.0.5.tgz", - "integrity": "sha512-ReXxQSGQkODMUgHcWzVSnfDCDrL2HshOYgw3OlIYmfHeRzUPkfJTUIp95pK4CmbiNG2eMTOmNLpfCz9Zq7Cwmg==", - "dev": true + "optional": true, + "peer": true }, - "node_modules/hmac-drbg": { + "node_modules/nano-base32": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dev": true, - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } + "resolved": "https://registry.npmjs.org/nano-base32/-/nano-base32-1.0.1.tgz", + "integrity": "sha512-sxEtoTqAPdjWVGv71Q17koMFGsOMSiHsIFEvzOM7cNp8BXB4AnEwmDabm5dorusJf/v1z7QxaZYxUorU9RKaAw==", + "dev": true }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "node_modules/nano-json-stream-parser": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", + "integrity": "sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==", "dev": true }, - "node_modules/htmlescape": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", - "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", + "node_modules/nanoid": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", + "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, "engines": { - "node": ">=0.10" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/htmlparser2": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", - "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "entities": "^4.3.0" - } + "optional": true, + "peer": true }, - "node_modules/http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, - "dependencies": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - }, "engines": { - "node": ">=6.0.0" + "node": ">= 0.6" } }, - "node_modules/http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true }, - "node_modules/http-https": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", - "integrity": "sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==", + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, - "node_modules/http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "node_modules/no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", "dev": true, "dependencies": { - "@types/node": "^10.0.3" + "lower-case": "^1.1.1" } }, - "node_modules/http-response-object/node_modules/@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", - "dev": true - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "node_modules/node-abi": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz", + "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" + "semver": "^5.4.1" } }, - "node_modules/http2-wrapper": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", - "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", + "node_modules/node-abi/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" - }, - "engines": { - "node": ">=10.19.0" + "optional": true, + "peer": true, + "bin": { + "semver": "bin/semver" } }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "node_modules/node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", "dev": true }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", "dev": true, "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" + "lodash": "^4.17.21" } }, - "node_modules/hyperid": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/hyperid/-/hyperid-3.0.1.tgz", - "integrity": "sha512-I+tl7TS5nsoVhkxqX1rS3Qmqlq44eoPUcgPthW8v3IW8CvWL7lwtd6HQbkDUMrBKJTG0vgEaRsjT35imW/D+9Q==", + "node_modules/node-environment-flags": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", "dev": true, "dependencies": { - "uuid": "^8.3.2", - "uuid-parse": "^1.1.0" + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/node-environment-flags/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" + "bin": { + "semver": "bin/semver" } }, - "node_modules/idna-uts46-hx": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dev": true, "dependencies": { - "punycode": "2.1.0" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">=4.0.0" + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/idna-uts46-hx/node_modules/punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==", + "node_modules/node-gyp-build": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", + "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", "dev": true, - "engines": { - "node": ">=6" + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "node_modules/node-hid": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/node-hid/-/node-hid-1.3.0.tgz", + "integrity": "sha512-BA6G4V84kiNd1uAChub/Z/5s/xS3EHBCxotQ0nyYrUG65mXewUDHE1tWOSqA2dp3N+mV0Ffq9wo2AW9t4p/G7g==", "dev": true, + "hasInstallScript": true, + "optional": true, + "peer": true, + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.14.0", + "node-abi": "^2.18.0", + "prebuild-install": "^5.3.4" + }, + "bin": { + "hid-showdevices": "src/show-devices.js" + }, "engines": { - "node": ">= 4" + "node": ">=6.0.0" } }, - "node_modules/immediate": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", - "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==", - "dev": true - }, - "node_modules/immutable": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", - "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", - "dev": true + "node_modules/noop-logger": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", + "integrity": "sha512-6kM8CLXvuW5crTxsAtva2YLrRrDaiTIkIePWs9moLHqbFWT94WpNFjwS/5dfLfECg5i/lkmw3aoqVidxt23TEQ==", + "dev": true, + "optional": true, + "peer": true }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "node_modules/nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", "dev": true, "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" + "abbrev": "1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "nopt": "bin/nopt.js" } }, - "node_modules/imul": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/imul/-/imul-1.0.1.tgz", - "integrity": "sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA==", + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, "engines": { - "node": ">=0.8.19" + "node": ">=0.10.0" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "node_modules/normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "node_modules/npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/inline-source-map": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", - "integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==", + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, "dependencies": { - "source-map": "~0.5.3" + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/inline-source-map/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "node_modules/number-to-bn": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", + "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", "dev": true, "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=6.5.0", + "npm": ">=3" } }, - "node_modules/inquirer/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "node_modules/number-to-bn/node_modules/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", "dev": true }, - "node_modules/inquirer/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true, "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/inquirer/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/insert-module-globals": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", - "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", "dev": true, - "dependencies": { - "acorn-node": "^1.5.2", - "combine-source-map": "^0.8.0", - "concat-stream": "^1.6.1", - "is-buffer": "^1.1.0", - "JSONStream": "^1.0.3", - "path-is-absolute": "^1.0.1", - "process": "~0.11.0", - "through2": "^2.0.0", - "undeclared-identifiers": "^1.1.2", - "xtend": "^4.0.0" - }, - "bin": { - "insert-module-globals": "bin/cmd.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/insert-module-globals/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, "engines": { "node": ">= 0.4" } }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "node_modules/object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", "dev": true, - "peer": true, "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", - "dev": true, + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/io-ts": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", - "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz", + "integrity": "sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==", "dev": true, "dependencies": { - "fp-ts": "^1.0.0" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, + "array.prototype.reduce": "^1.0.4", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.1" + }, "engines": { - "node": ">= 0.10" + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "node_modules/object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.4" @@ -16632,1258 +15501,1231 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "node_modules/obliterator": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz", + "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==", "dev": true }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "node_modules/oboe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", + "integrity": "sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA==", "dev": true, "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "http-https": "^1.0.0" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "dependencies": { - "binary-extensions": "^2.0.0" + "ee-first": "1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" + "wrappy": "1" } }, - "node_modules/is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "node_modules/os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "lcid": "^1.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", "dev": true, "engines": { "node": ">=4" } }, - "node_modules/is-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", - "dev": true - }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "dependencies": { - "is-extglob": "^2.1.1" + "p-limit": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", - "dev": true, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/is-lower-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", - "integrity": "sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA==", + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "dependencies": { - "lower-case": "^1.1.0" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true, + "aggregate-error": "^3.0.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, "engines": { - "node": ">=0.12.0" + "node": ">=6" } }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "no-case": "^2.2.0" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/is-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", - "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "node_modules/parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "path-platform": "~0.11.15" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" } }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "node_modules/parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==", + "dev": true + }, + "node_modules/parse-headers": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", + "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==", + "dev": true + }, + "node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "node_modules/parse5": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz", + "integrity": "sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "entities": "^4.3.0" }, - "engines": { - "node": ">= 0.4" + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dev": true, + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "node_modules/pascal-case": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.1.tgz", + "integrity": "sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "camel-case": "^3.0.0", + "upper-case-first": "^1.1.0" } }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "node_modules/path-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/path-case/-/path-case-2.1.1.tgz", + "integrity": "sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q==", + "dev": true, + "dependencies": { + "no-case": "^2.2.0" + } + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-string": { + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true + }, + "node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==", "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.8.0" } }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/is-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz", - "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==", + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.20.0", - "for-each": "^0.3.3", - "has-tostringtag": "^1.0.0" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.12" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", "dev": true }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "engines": { - "node": ">=10" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/is-upper-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", - "integrity": "sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw==", + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, - "dependencies": { - "upper-case": "^1.1.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", - "dev": true + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "pinkie": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true - }, - "node_modules/isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "node_modules/prebuild-install": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.6.tgz", + "integrity": "sha512-s8Aai8++QQGi4sSbs/M1Qku62PFK49Jm1CbgXklGz4nmHveDq0wzJkg7Na5QbnO1uNH8K7iqx2EQ/mV0MZEmOg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" + "detect-libc": "^1.0.3", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^2.7.0", + "noop-logger": "^0.1.1", + "npmlog": "^4.0.1", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^3.0.3", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0", + "which-pm-runs": "^1.0.0" + }, + "bin": { + "prebuild-install": "bin.js" }, "engines": { - "node": ">= 4" + "node": ">=6" } }, - "node_modules/jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "node_modules/prebuild-install/node_modules/decompress-response": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", + "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "mimic-response": "^2.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=8" } }, - "node_modules/jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "node_modules/prebuild-install/node_modules/mimic-response": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", "dev": true, + "optional": true, + "peer": true, "engines": { - "node": ">= 10.14.2" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "node_modules/prebuild-install/node_modules/simple-get": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", + "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" }, "engines": { - "node": ">= 10.14.2" + "node": ">=4" } }, - "node_modules/jest-message-util": { + "node_modules/pretty-format": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": ">= 10" } }, - "node_modules/jest-regex-util": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/js-sdsl": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", - "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" + "node": ">= 0.6.0" } }, - "node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/promise": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", + "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", "dev": true, "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "asap": "~2.0.6" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true - }, - "node_modules/json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", - "dev": true - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } }, - "node_modules/json-stable-stringify-without-jsonify": { + "node_modules/prr": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, - "engines": [ - "node >= 0.2.0" - ] + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } }, - "node_modules/jsonschema": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz", - "integrity": "sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==", + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true, "engines": { - "node": "*" + "node": ">=6" } }, - "node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "node_modules/pure-rand": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-5.0.1.tgz", + "integrity": "sha512-ksWccjmXOHU2gJBnH0cK1lSYdvSZ0zLoCMSz/nTGh6hDvCSgcRxDyIcOBD6KNxFz3xhMPm/T267Tbe2JRymKEQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dev": true, "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" + "side-channel": "^1.0.4" }, "engines": { - "node": "*" + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jsonwebtoken": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "node_modules/query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, "dependencies": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^5.6.0" + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" }, "engines": { - "node": ">=4", - "npm": ">=1.4.28" + "node": ">=0.10.0" } }, - "node_modules/jsonwebtoken/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", "dev": true, - "bin": { - "semver": "bin/semver" + "engines": { + "node": ">=0.4.x" } }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true, - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, "engines": { - "node": ">=0.6.0" + "node": ">=0.4.x" } }, - "node_modules/just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, - "peer": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" + "safe-buffer": "^5.1.0" } }, - "node_modules/jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "dependencies": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, - "node_modules/keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, - "hasInstallScript": true, - "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, "engines": { - "node": ">=10.0.0" + "node": ">= 0.6" } }, - "node_modules/keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "dependencies": { - "json-buffer": "3.0.0" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.9" + "node": ">= 0.8" } }, - "node_modules/labeled-stream-splicer": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", - "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "inherits": "^2.0.1", - "stream-splicer": "^2.0.0" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" } }, - "node_modules/lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true, - "dependencies": { - "invert-kv": "^1.0.0" - }, + "optional": true, + "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/level-codec": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", - "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/read-only-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", "dev": true, "dependencies": { - "buffer": "^5.6.0" - }, - "engines": { - "node": ">=6" + "readable-stream": "^2.0.2" } }, - "node_modules/level-codec/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "node_modules/read-only-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/level-concat-iterator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", - "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==", + "node_modules/read-only-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/read-only-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "engines": { - "node": ">=6" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/level-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", - "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", + "node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", "dev": true, "dependencies": { - "errno": "~0.1.1" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/level-iterator-stream": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", - "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", + "node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", "dev": true, "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.4.0", - "xtend": "^4.0.2" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/level-mem": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-5.0.1.tgz", - "integrity": "sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==", + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", "dev": true, "dependencies": { - "level-packager": "^5.0.3", - "memdown": "^5.0.0" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/level-packager": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", - "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", "dev": true, "dependencies": { - "encoding-down": "^6.3.0", - "levelup": "^4.3.2" + "pinkie-promise": "^2.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/level-supports": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", - "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "node_modules/read-pkg/node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", "dev": true, "dependencies": { - "xtend": "^4.0.2" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/level-ws": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-2.0.0.tgz", - "integrity": "sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==", + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "dependencies": { "inherits": "^2.0.3", - "readable-stream": "^3.1.0", - "xtend": "^4.0.1" + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=6" + "node": ">= 6" } }, - "node_modules/levelup": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz", - "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "dependencies": { - "deferred-leveldown": "~5.3.0", - "level-errors": "~2.0.0", - "level-iterator-stream": "~4.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=6" + "node": ">=8.10.0" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "dev": true, "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "resolve": "^1.1.6" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.10" } }, - "node_modules/load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "node_modules/recursive-readdir": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", + "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "minimatch": "3.0.4" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "node_modules/recursive-readdir/node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==", - "dev": true - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", - "dev": true - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true, - "peer": true - }, - "node_modules/lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", - "dev": true - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", - "dev": true - }, - "node_modules/lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", - "dev": true - }, - "node_modules/lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", - "dev": true - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", - "dev": true - }, - "node_modules/lodash.memoize": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", - "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "dev": true - }, - "node_modules/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", "dev": true, "dependencies": { - "chalk": "^2.4.2" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/req-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz", + "integrity": "sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "req-from": "^2.0.0" }, "engines": { "node": ">=4" } }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/req-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/req-from/-/req-from-2.0.0.tgz", + "integrity": "sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "resolve-from": "^3.0.0" }, "engines": { "node": ">=4" } }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/req-from/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", "dev": true, - "dependencies": { - "color-name": "1.1.3" + "engines": { + "node": ">=4" } }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/log-symbols/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, "engines": { - "node": ">=0.8.0" + "node": ">= 6" } }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", "dev": true, + "dependencies": { + "lodash": "^4.17.19" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" } }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" }, "engines": { - "node": ">=4" + "node": ">=0.12.0" + }, + "peerDependencies": { + "request": "^2.34" } }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, - "peer": true, "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" }, - "bin": { - "loose-envify": "cli.js" + "engines": { + "node": ">= 0.12" } }, - "node_modules/loupe": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", - "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", + "node_modules/request/node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "dev": true, - "dependencies": { - "get-func-name": "^2.0.0" + "engines": { + "node": ">=0.6" } }, - "node_modules/lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", - "dev": true + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } }, - "node_modules/lower-case-first": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz", - "integrity": "sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA==", + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "dependencies": { - "lower-case": "^1.1.2" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/lru_map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", - "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==", + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": ">=10" + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==", - "dev": true - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } }, - "node_modules/markdown-table": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", - "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", - "dev": true + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "dev": true, + "dependencies": { + "lowercase-keys": "^1.0.0" + } }, - "node_modules/match-all": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/match-all/-/match-all-1.2.6.tgz", - "integrity": "sha512-0EESkXiTkWzrQQntBu2uzKvLu6vVkUGz40nGPbSZuegcfE5UuSzNjLaIu76zJWuaT/2I3Z/8M06OlUOZLGwLlQ==", - "dev": true + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/mcl-wasm": { - "version": "0.7.9", - "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", - "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==", + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, "engines": { - "node": ">=8.9.0" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "dependencies": { "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "inherits": "^2.0.1" } }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "node_modules/ripemd160-min": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/ripemd160-min/-/ripemd160-min-0.0.6.tgz", + "integrity": "sha512-+GcJgQivhs6S9qvLogusiTcS9kQUfgR75whKuy5jIhuiOfQuJ8fjqxV6EGD5duH1Y/FawFUMtMhyeq3Fbnib8A==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/memdown": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-5.1.0.tgz", - "integrity": "sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==", + "node_modules/rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", "dev": true, "dependencies": { - "abstract-leveldown": "~6.2.1", - "functional-red-black-tree": "~1.0.1", - "immediate": "~3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.2.0" + "bn.js": "^5.2.0" }, - "engines": { - "node": ">=6" + "bin": { + "rlp": "bin/rlp" } }, - "node_modules/memdown/node_modules/abstract-leveldown": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", - "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "node_modules/rlp/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "immediate": "^3.2.3", - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - }, "engines": { - "node": ">=6" + "node": ">=0.12.0" } }, - "node_modules/memdown/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { @@ -17900,859 +16742,891 @@ } ], "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "queue-microtask": "^1.2.2" } }, - "node_modules/memdown/node_modules/immediate": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", - "integrity": "sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg==", + "node_modules/rustbn.js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", + "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==", "dev": true }, - "node_modules/memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, "engines": { - "node": ">= 0.10.0" + "npm": ">=2.0.0" } }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/sc-istanbul": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz", + "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==", "dev": true, - "engines": { - "node": ">= 8" + "dependencies": { + "abbrev": "1.0.x", + "async": "1.x", + "escodegen": "1.8.x", + "esprima": "2.7.x", + "glob": "^5.0.15", + "handlebars": "^4.0.1", + "js-yaml": "3.x", + "mkdirp": "0.5.x", + "nopt": "3.x", + "once": "1.x", + "resolve": "1.1.x", + "supports-color": "^3.1.0", + "which": "^1.1.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "istanbul": "lib/cli.js" } }, - "node_modules/merkle-patricia-tree": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz", - "integrity": "sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==", + "node_modules/sc-istanbul/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "dependencies": { - "@types/levelup": "^4.3.0", - "ethereumjs-util": "^7.1.4", - "level-mem": "^5.0.1", - "level-ws": "^2.0.0", - "readable-stream": "^3.6.0", - "semaphore-async-await": "^1.5.1" + "sprintf-js": "~1.0.2" } }, - "node_modules/merkletreejs": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/merkletreejs/-/merkletreejs-0.3.9.tgz", - "integrity": "sha512-NjlATjJr4NEn9s8v/VEHhgwRWaE1eA/Une07d9SEqKzULJi1Wsh0Y3svwJdP2bYLMmgSBHzOrNydMWM1NN9VeQ==", + "node_modules/sc-istanbul/node_modules/async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==", + "dev": true + }, + "node_modules/sc-istanbul/node_modules/esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", "dev": true, - "dependencies": { - "bignumber.js": "^9.0.1", - "buffer-reverse": "^1.0.1", - "crypto-js": "^3.1.9-1", - "treeify": "^1.1.0", - "web3-utils": "^1.3.4" + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">= 7.6.0" + "node": ">=0.10.0" } }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "node_modules/sc-istanbul/node_modules/glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", "dev": true, + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, "engines": { - "node": ">= 0.6" + "node": "*" } }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "node_modules/sc-istanbul/node_modules/has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, "engines": { - "node": ">=8.6" + "node": ">=0.10.0" } }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "node_modules/sc-istanbul/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, "bin": { - "miller-rabin": "bin/miller-rabin" + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "node_modules/sc-istanbul/node_modules/js-yaml/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, "bin": { - "mime": "cli.js" + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { "node": ">=4" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "node_modules/sc-istanbul/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", + "dev": true + }, + "node_modules/sc-istanbul/node_modules/supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", "dev": true, + "dependencies": { + "has-flag": "^1.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=0.8.0" } }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "node_modules/sc-istanbul/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "dependencies": { - "mime-db": "1.52.0" + "isexe": "^2.0.0" }, - "engines": { - "node": ">= 0.6" + "bin": { + "which": "bin/which" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", + "dev": true + }, + "node_modules/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", "dev": true, + "hasInstallScript": true, + "dependencies": { + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + }, "engines": { - "node": ">=6" + "node": ">=10.0.0" } }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "node_modules/semaphore-async-await": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz", + "integrity": "sha512-b/ptP11hETwYWpeilHXXQiV5UJNJl7ZWWooKRE5eBIYWoom6dZ0SluCIdCtKycsMtZgKWE01/qAw6jblw1YVhg==", "dev": true, "engines": { - "node": ">=4" + "node": ">=4.1" } }, - "node_modules/min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "dependencies": { - "dom-walk": "^0.1.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", - "dev": true - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "engines": { - "node": "*" + "node": ">= 0.8.0" } }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "node_modules/minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "ms": "2.0.0" } }, - "node_modules/minipass/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/sentence-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.1.tgz", + "integrity": "sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==", "dev": true, "dependencies": { - "minipass": "^2.9.0" + "no-case": "^2.2.0", + "upper-case-first": "^1.1.2" } }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", "dev": true, "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "randombytes": "^2.1.0" } }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, - "node_modules/mkdirp-promise": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", - "integrity": "sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==", - "deprecated": "This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.", + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "dependencies": { - "mkdirp": "*" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/mnemonist": { - "version": "0.38.5", - "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", - "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", + "node_modules/servify": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", + "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", "dev": true, "dependencies": { - "obliterator": "^2.0.0" + "body-parser": "^1.16.0", + "cors": "^2.8.1", + "express": "^4.14.0", + "request": "^2.79.0", + "xhr": "^2.3.3" + }, + "engines": { + "node": ">=6" } }, - "node_modules/mocha": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", - "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "dependencies": { - "ansi-colors": "3.2.3", - "browser-stdout": "1.3.1", - "chokidar": "3.3.0", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "3.0.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.5", - "ms": "2.1.1", - "node-environment-flags": "1.0.6", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" }, "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha" + "sha.js": "bin.js" + } + }, + "node_modules/sha1": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", + "integrity": "sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==", + "dev": true, + "dependencies": { + "charenc": ">= 0.0.1", + "crypt": ">= 0.0.1" }, "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" + "node": "*" } }, - "node_modules/mocha/node_modules/ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "node_modules/sha3": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/sha3/-/sha3-2.1.4.tgz", + "integrity": "sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg==", "dev": true, - "engines": { - "node": ">=6" + "dependencies": { + "buffer": "6.0.3" } }, - "node_modules/mocha/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/shasum-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", + "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", "dev": true, "dependencies": { - "sprintf-js": "~1.0.2" + "fast-safe-stringify": "^2.0.7" } }, - "node_modules/mocha/node_modules/chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "node_modules/shell-quote": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", + "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", + "dev": true + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", "dev": true, "dependencies": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" }, - "engines": { - "node": ">= 8.10.0" + "bin": { + "shjs": "bin/shjs" }, - "optionalDependencies": { - "fsevents": "~2.1.1" + "engines": { + "node": ">=4" } }, - "node_modules/mocha/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mocha/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, - "node_modules/mocha/node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "deprecated": "\"Please update to latest v2.3 or v2.2\"", + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/mocha/node_modules/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "node_modules/simple-get": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz", + "integrity": "sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" } }, - "node_modules/mocha/node_modules/has-flag": { + "node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/mocha/node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=6" } }, - "node_modules/mocha/node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "color-convert": "^1.9.0" }, "engines": { - "node": "*" + "node": ">=4" } }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "node_modules/mocha/node_modules/readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" + "color-name": "1.1.3" } }, - "node_modules/mocha/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, - "node_modules/mocha/node_modules/supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "node_modules/snake-case": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz", + "integrity": "sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" + "no-case": "^2.2.0" } }, - "node_modules/mocha/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/solc": { + "version": "0.4.26", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", + "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", "dev": true, "dependencies": { - "isexe": "^2.0.0" + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" }, "bin": { - "which": "bin/which" + "solcjs": "solcjs" } }, - "node_modules/mock-fs": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz", - "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==", - "dev": true + "node_modules/solc/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/module-deps": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", - "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", + "node_modules/solc/node_modules/camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", "dev": true, - "dependencies": { - "browser-resolve": "^2.0.0", - "cached-path-relative": "^1.0.2", - "concat-stream": "~1.6.0", - "defined": "^1.0.0", - "detective": "^5.2.0", - "duplexer2": "^0.1.2", - "inherits": "^2.0.1", - "JSONStream": "^1.0.3", - "parents": "^1.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.4.0", - "stream-combiner2": "^1.1.1", - "subarg": "^1.0.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" - }, - "bin": { - "module-deps": "bin/cmd.js" - }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/module-deps/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/solc/node_modules/cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", "dev": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, - "node_modules/module-deps/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/module-deps/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/solc/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" } }, - "node_modules/module-not-found-error": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz", - "integrity": "sha512-pEk4ECWQXV6z2zjhRZUongnLJNUeGQJ3w6OQ5ctGwD+i5o93qjRQUk2Rt6VdNeu3sEP0AB4LcfvdebpxBRVr4g==", - "dev": true - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "node_modules/solc/node_modules/get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", "dev": true }, - "node_modules/multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "deprecated": "This module has been superseded by the multiformats module", + "node_modules/solc/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", "dev": true, "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/multibase/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "node_modules/solc/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "deprecated": "This module has been superseded by the multiformats module", + "node_modules/solc/node_modules/require-from-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "integrity": "sha512-H7AkJWMobeskkttHyhTVtS0fxpFLjxhbfMa6Bk3wimP7sdPRGL3EyCg3sAQenFfAe+xQ+oAc85Nmtvq0ROM83Q==", "dev": true, - "dependencies": { - "varint": "^5.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", + "node_modules/solc/node_modules/require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", + "dev": true + }, + "node_modules/solc/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "dependencies": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "node_modules/multihashes/node_modules/buffer": { + "node_modules/solc/node_modules/semver": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "bin": { + "semver": "bin/semver" } }, - "node_modules/multihashes/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", + "node_modules/solc/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", "dev": true, "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/murmur-128": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/murmur-128/-/murmur-128-0.2.1.tgz", - "integrity": "sha512-WseEgiRkI6aMFBbj8Cg9yBj/y+OdipwVC7zUo3W2W1JAJITwouUOtpqsmGSg67EQmwwSyod7hsVsWY5LsrfQVg==", + "node_modules/solc/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "dev": true, "dependencies": { - "encode-utf8": "^1.0.2", - "fmix": "^0.1.0", - "imul": "^1.0.0" + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "node_modules/solc/node_modules/which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==", "dev": true }, - "node_modules/nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", + "node_modules/solc/node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", "dev": true, - "optional": true, - "peer": true - }, - "node_modules/nano-base32": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nano-base32/-/nano-base32-1.0.1.tgz", - "integrity": "sha512-sxEtoTqAPdjWVGv71Q17koMFGsOMSiHsIFEvzOM7cNp8BXB4AnEwmDabm5dorusJf/v1z7QxaZYxUorU9RKaAw==", - "dev": true + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/nano-json-stream-parser": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", - "integrity": "sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==", + "node_modules/solc/node_modules/y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", "dev": true }, - "node_modules/nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", + "node_modules/solc/node_modules/yargs": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", + "integrity": "sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA==", "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "dependencies": { + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "lodash.assign": "^4.0.3", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.1", + "which-module": "^1.0.0", + "window-size": "^0.2.0", + "y18n": "^3.2.1", + "yargs-parser": "^2.4.1" } }, - "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "node_modules/solc/node_modules/yargs-parser": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", + "integrity": "sha512-9pIKIJhnI5tonzG6OnCFlz/yln8xHYcGl+pn3xR0Vzff0vzN1PbNRaelgfgRUwZ3s4i3jvxT9WhmUGL4whnasA==", "dev": true, - "optional": true, - "peer": true + "dependencies": { + "camelcase": "^3.0.0", + "lodash.assign": "^4.0.6" + } }, - "node_modules/nats": { - "version": "1.4.12", - "resolved": "https://registry.npmjs.org/nats/-/nats-1.4.12.tgz", - "integrity": "sha512-Jf4qesEF0Ay0D4AMw3OZnKMRTQm+6oZ5q8/m4gpy5bTmiDiK6wCXbZpzEslmezGpE93LV3RojNEG6dpK/mysLQ==", + "node_modules/solhint": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/solhint/-/solhint-3.3.7.tgz", + "integrity": "sha512-NjjjVmXI3ehKkb3aNtRJWw55SUVJ8HMKKodwe0HnejA+k0d2kmhw7jvpa+MCTbcEgt8IWSwx0Hu6aCo/iYOZzQ==", "dev": true, "dependencies": { - "nuid": "^1.1.4", - "ts-nkeys": "^1.0.16" + "@solidity-parser/parser": "^0.14.1", + "ajv": "^6.6.1", + "antlr4": "4.7.1", + "ast-parents": "0.0.1", + "chalk": "^2.4.2", + "commander": "2.18.0", + "cosmiconfig": "^5.0.7", + "eslint": "^5.6.0", + "fast-diff": "^1.1.2", + "glob": "^7.1.3", + "ignore": "^4.0.6", + "js-yaml": "^3.12.0", + "lodash": "^4.17.11", + "semver": "^6.3.0" }, "bin": { - "node-pub": "examples/node-pub", - "node-reply": "examples/node-reply", - "node-req": "examples/node-req", - "node-sub": "examples/node-sub" + "solhint": "solhint.js" }, - "engines": { - "node": ">= 8.0.0" + "optionalDependencies": { + "prettier": "^1.14.3" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "node_modules/solhint/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": ">= 0.6" + "node": ">=0.4.0" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", - "dev": true - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node_modules/nise": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz", - "integrity": "sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==", + "node_modules/solhint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "peer": true, "dependencies": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/nise/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "node_modules/solhint/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true, - "peer": true, - "dependencies": { - "type-detect": "4.0.8" + "engines": { + "node": ">=4" } }, - "node_modules/nise/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "node_modules/solhint/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, - "peer": true + "engines": { + "node": ">=6" + } }, - "node_modules/nise/node_modules/path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "node_modules/solhint/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "peer": true, "dependencies": { - "isarray": "0.0.1" + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "node_modules/solhint/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "dependencies": { - "lower-case": "^1.1.1" + "sprintf-js": "~1.0.2" } }, - "node_modules/node-abi": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz", - "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==", + "node_modules/solhint/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "semver": "^5.4.1" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/node-abi/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/solhint/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", "dev": true, - "optional": true, - "peer": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", - "dev": true - }, - "node_modules/node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "node_modules/solhint/node_modules/cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, + "node_modules/solhint/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { - "lodash": "^4.17.21" + "color-name": "1.1.3" } }, - "node_modules/node-environment-flags": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", - "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", + "node_modules/solhint/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/solhint/node_modules/commander": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz", + "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==", + "dev": true + }, + "node_modules/solhint/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "dependencies": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" } }, - "node_modules/node-environment-flags/node_modules/semver": { + "node_modules/solhint/node_modules/cross-spawn/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", @@ -18761,114 +17635,100 @@ "semver": "bin/semver" } }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "node_modules/solhint/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", - "dev": true, - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" + "node": ">=0.8.0" } }, - "node_modules/node-hid": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/node-hid/-/node-hid-1.3.0.tgz", - "integrity": "sha512-BA6G4V84kiNd1uAChub/Z/5s/xS3EHBCxotQ0nyYrUG65mXewUDHE1tWOSqA2dp3N+mV0Ffq9wo2AW9t4p/G7g==", + "node_modules/solhint/node_modules/eslint": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", + "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", "dev": true, - "hasInstallScript": true, - "optional": true, - "peer": true, "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.14.0", - "node-abi": "^2.18.0", - "prebuild-install": "^5.3.4" + "@babel/code-frame": "^7.0.0", + "ajv": "^6.9.1", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^4.0.3", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^5.0.1", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.2.2", + "js-yaml": "^3.13.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.11", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^5.5.1", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0" }, "bin": { - "hid-showdevices": "src/show-devices.js" + "eslint": "bin/eslint.js" }, "engines": { - "node": ">=6.0.0" + "node": "^6.14.0 || ^8.10.0 || >=9.10.0" } }, - "node_modules/node-nats-streaming": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/node-nats-streaming/-/node-nats-streaming-0.2.6.tgz", - "integrity": "sha512-UTS/tHextk+qdXl0fiSKFPU12eWsRkeRzbzo1zk6ZbXu/PnszKtnSwzxhVRYveU7VjDebYsAFpde1MjC5Y3Nvw==", + "node_modules/solhint/node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "dependencies": { - "google-protobuf": "^3.9.0", - "nats": "^1.3.0", - "nuid": "^1.1.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/nofilter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", - "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", - "dev": true, - "engines": { - "node": ">=12.19" + "node": ">=4.0.0" } }, - "node_modules/noop-logger": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", - "integrity": "sha512-6kM8CLXvuW5crTxsAtva2YLrRrDaiTIkIePWs9moLHqbFWT94WpNFjwS/5dfLfECg5i/lkmw3aoqVidxt23TEQ==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", + "node_modules/solhint/node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, "dependencies": { - "abbrev": "1" + "eslint-visitor-keys": "^1.1.0" }, - "bin": { - "nopt": "bin/nopt.js" + "engines": { + "node": ">=6" } }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "node_modules/solhint/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "engines": { + "node": ">=4" } }, - "node_modules/normalize-package-data/node_modules/semver": { + "node_modules/solhint/node_modules/eslint/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", @@ -18877,1118 +17737,945 @@ "semver": "bin/semver" } }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "node_modules/solhint/node_modules/espree": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", + "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "acorn": "^6.0.7", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "node_modules/solhint/node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", "dev": true, "dependencies": { - "boolbase": "^1.0.0" + "escape-string-regexp": "^1.0.5" }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/nuid": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/nuid/-/nuid-1.1.6.tgz", - "integrity": "sha512-Eb3CPCupYscP1/S1FQcO5nxtu6l/F3k0MQ69h7f5osnsemVk5pkc8/5AyalVT+NCfra9M71U8POqF6EZa6IHvg==", - "dev": true, "engines": { - "node": ">= 8.16.0" + "node": ">=4" } }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "node_modules/solhint/node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, + "dependencies": { + "flat-cache": "^2.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", + "node_modules/solhint/node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, "dependencies": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" }, "engines": { - "node": ">=6.5.0", - "npm": ">=3" + "node": ">=4" } }, - "node_modules/number-to-bn/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", + "node_modules/solhint/node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "node_modules/solhint/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, "engines": { - "node": "*" + "node": ">=4" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "node_modules/solhint/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "node_modules/solhint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, "engines": { - "node": ">= 0.4" + "node": ">= 4" } }, - "node_modules/object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "node_modules/solhint/node_modules/inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", "dev": true, "dependencies": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" }, "engines": { - "node": ">= 0.4" + "node": ">=6.0.0" } }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz", - "integrity": "sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==", + "node_modules/solhint/node_modules/inquirer/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "dependencies": { - "array.prototype.reduce": "^1.0.4", - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.1" + "ansi-regex": "^4.1.0" }, "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "node_modules/solhint/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obliterator": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz", - "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==", - "dev": true - }, - "node_modules/oboe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", - "integrity": "sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA==", - "dev": true, - "dependencies": { - "http-https": "^1.0.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/on-exit-leak-free": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.0.tgz", - "integrity": "sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==", + "node_modules/solhint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "node_modules/solhint/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, "dependencies": { - "ee-first": "1.1.1" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8.0" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "node_modules/solhint/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true, - "dependencies": { - "wrappy": "1" + "engines": { + "node": ">=4" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/solhint/node_modules/mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", + "dev": true + }, + "node_modules/solhint/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", "dev": true, "dependencies": { - "mimic-fn": "^2.1.0" + "mimic-fn": "^1.0.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "node_modules/solhint/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", - "dev": true - }, - "node_modules/os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", + "node_modules/solhint/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", "dev": true, - "dependencies": { - "lcid": "^1.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "node_modules/solhint/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "node_modules/solhint/node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", "dev": true, "engines": { - "node": ">=6" + "node": ">=6.5.0" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "node_modules/solhint/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, "engines": { "node": ">=4" } }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/solhint/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" + "glob": "^7.1.3" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "rimraf": "bin.js" } }, - "node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "node_modules/solhint/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "node_modules/solhint/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, "dependencies": { - "aggregate-error": "^3.0.0" + "shebang-regex": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/p-queue": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", - "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", + "node_modules/solhint/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true, - "dependencies": { - "eventemitter3": "^4.0.4", - "p-timeout": "^3.2.0" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "node_modules/solhint/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dev": true, "dependencies": { - "p-finally": "^1.0.0" + "ansi-regex": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "node_modules/solhint/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "node_modules/solhint/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "node_modules/solhint/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { - "no-case": "^2.2.0" + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node_modules/solhint/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dev": true, "dependencies": { - "callsites": "^3.0.0" + "prelude-ls": "~1.1.2" }, "engines": { - "node": ">=6" + "node": ">= 0.8.0" } }, - "node_modules/parents": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", - "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==", + "node_modules/solhint/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "dependencies": { - "path-platform": "~0.11.15" + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "node_modules/solidity-coverage": { + "version": "0.8.0-beta.1", + "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.0-beta.1.tgz", + "integrity": "sha512-OsdzW0K0v7osWyDUPP82wNehKOsZ4o+2yfVnjtI9PX5tmEbBzNHxKmmef+pRxy9kkqhJRV8AcdM7G0qu7W8gXA==", "dev": true, "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" + "@ethersproject/abi": "^5.0.9", + "@solidity-parser/parser": "^0.14.1", + "@truffle/provider": "^0.2.24", + "chalk": "^2.4.2", + "death": "^1.1.0", + "detect-port": "^1.3.0", + "difflib": "^0.2.4", + "fs-extra": "^8.1.0", + "ganache-cli": "^6.11.0", + "ghost-testrpc": "^0.0.2", + "global-modules": "^2.0.0", + "globby": "^10.0.1", + "jsonschema": "^1.2.4", + "lodash": "^4.17.15", + "mocha": "7.1.2", + "node-emoji": "^1.10.0", + "pify": "^4.0.1", + "recursive-readdir": "^2.2.2", + "sc-istanbul": "^0.4.5", + "semver": "^7.3.4", + "shelljs": "^0.8.3", + "web3-utils": "^1.3.0" + }, + "bin": { + "solidity-coverage": "plugins/bin.js" } }, - "node_modules/parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==", - "dev": true - }, - "node_modules/parse-headers": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", - "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==", - "dev": true + "node_modules/solidity-coverage/node_modules/ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "dev": true, + "engines": { + "node": ">=6" + } }, - "node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "node_modules/solidity-coverage/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { - "error-ex": "^1.2.0" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/parse5": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz", - "integrity": "sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==", + "node_modules/solidity-coverage/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "dependencies": { - "entities": "^4.3.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "sprintf-js": "~1.0.2" } }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "node_modules/solidity-coverage/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { - "domhandler": "^5.0.2", - "parse5": "^7.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "engines": { + "node": ">=4" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "node_modules/solidity-coverage/node_modules/chokidar": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", "dev": true, + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + }, "engines": { - "node": ">= 0.8" + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.1" } }, - "node_modules/pascal-case": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.1.tgz", - "integrity": "sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==", + "node_modules/solidity-coverage/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { - "camel-case": "^3.0.0", - "upper-case-first": "^1.1.0" + "color-name": "1.1.3" } }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "node_modules/solidity-coverage/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, - "node_modules/path-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/path-case/-/path-case-2.1.1.tgz", - "integrity": "sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q==", + "node_modules/solidity-coverage/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", "dev": true, "dependencies": { - "no-case": "^2.2.0" + "ms": "^2.1.1" } }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "node_modules/solidity-coverage/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.8.0" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/solidity-coverage/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6 <7 || >=8" } }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "dev": true + "node_modules/solidity-coverage/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "deprecated": "\"Please update to latest v2.3 or v2.2\"", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "node_modules/solidity-coverage/node_modules/globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-platform": { - "version": "0.11.15", - "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", - "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==", + "node_modules/solidity-coverage/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { - "node": ">= 0.8.0" + "node": ">=4" } }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true + "node_modules/solidity-coverage/node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } }, - "node_modules/path-type": { + "node_modules/solidity-coverage/node_modules/jsonfile": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, - "engines": { - "node": ">=8" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "node_modules/solidity-coverage/node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { "node": "*" } }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "node_modules/solidity-coverage/node_modules/mocha": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.1.2.tgz", + "integrity": "sha512-o96kdRKMKI3E8U0bjnfqW4QMk12MwZ4mhdBTf+B5a1q9+aq2HRnj+3ZdJu0B/ZhJeK78MgYuv6L8d/rA5AeBJA==", "dev": true, "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "ansi-colors": "3.2.3", + "browser-stdout": "1.3.1", + "chokidar": "3.3.0", + "debug": "3.2.6", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "find-up": "3.0.0", + "glob": "7.1.3", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.13.1", + "log-symbols": "3.0.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.5", + "ms": "2.1.1", + "node-environment-flags": "1.0.6", + "object.assign": "4.1.0", + "strip-json-comments": "2.0.1", + "supports-color": "6.0.0", + "which": "1.3.1", + "wide-align": "1.1.3", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" }, "engines": { - "node": ">=0.12" + "node": ">= 8.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" } }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/solidity-coverage/node_modules/mocha/node_modules/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, - "engines": { - "node": ">=8.6" + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "engines": { + "node": "*" } }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "node_modules/solidity-coverage/node_modules/mocha/node_modules/supports-color": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "node_modules/solidity-coverage/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/solidity-coverage/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "node_modules/solidity-coverage/node_modules/readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", "dev": true, "dependencies": { - "pinkie": "^2.0.0" + "picomatch": "^2.0.4" }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/solidity-coverage/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/pino": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-8.8.0.tgz", - "integrity": "sha512-cF8iGYeu2ODg2gIwgAHcPrtR63ILJz3f7gkogaHC/TXVVXxZgInmNYiIpDYEwgEkxZti2Se6P2W2DxlBIZe6eQ==", - "dev": true, - "dependencies": { - "atomic-sleep": "^1.0.0", - "fast-redact": "^3.1.1", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "v1.0.0", - "pino-std-serializers": "^6.0.0", - "process-warning": "^2.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^3.1.0", - "thread-stream": "^2.0.0" - }, - "bin": { - "pino": "bin.js" - } - }, - "node_modules/pino-abstract-transport": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz", - "integrity": "sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==", - "dev": true, - "dependencies": { - "readable-stream": "^4.0.0", - "split2": "^4.0.0" - } - }, - "node_modules/pino-abstract-transport/node_modules/readable-stream": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.3.0.tgz", - "integrity": "sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==", + "node_modules/solidity-coverage/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10" + "has-flag": "^3.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=4" } }, - "node_modules/pino-std-serializers": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.0.tgz", - "integrity": "sha512-IWgSzUL8X1w4BIWTwErRgtV8PyOGOOi60uqv0oKuS/fOA8Nco/OeI6lBuc4dyP8MMfdFwyHqTMcBIA7nDiqEqA==", - "dev": true - }, - "node_modules/prebuild-install": { - "version": "5.3.6", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.6.tgz", - "integrity": "sha512-s8Aai8++QQGi4sSbs/M1Qku62PFK49Jm1CbgXklGz4nmHveDq0wzJkg7Na5QbnO1uNH8K7iqx2EQ/mV0MZEmOg==", + "node_modules/solidity-coverage/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "detect-libc": "^1.0.3", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^2.7.0", - "noop-logger": "^0.1.1", - "npmlog": "^4.0.1", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^3.0.3", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0", - "which-pm-runs": "^1.0.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, "engines": { - "node": ">=6" + "node": ">= 4.0.0" } }, - "node_modules/prebuild-install/node_modules/decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "node_modules/solidity-coverage/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "mimic-response": "^2.0.0" + "isexe": "^2.0.0" }, - "engines": { - "node": ">=8" + "bin": { + "which": "bin/which" } }, - "node_modules/prebuild-install/node_modules/mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "optional": true, - "peer": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/prebuild-install/node_modules/simple-get": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", - "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "decompress-response": "^4.2.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=4" - } + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true }, - "node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true, - "engines": { - "node": ">= 0.6.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "node_modules/spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", "dev": true }, - "node_modules/process-warning": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.2.0.tgz", - "integrity": "sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg==", + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "dev": true, - "dependencies": { - "asap": "~2.0.6" - } - }, - "node_modules/proper-lockfile": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", - "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "retry": "^0.12.0", - "signal-exit": "^3.0.2" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "dev": true, "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" }, "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, - "node_modules/proxyquire": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-2.1.3.tgz", - "integrity": "sha512-BQWfCqYM+QINd+yawJz23tbBM40VIGXOdDw3X344KcclI/gtBbdWF6SlQ4nK/bYhF9d27KYug9WzljHC6B9Ysg==", - "dev": true, - "dependencies": { - "fill-keys": "^1.0.2", - "module-not-found-error": "^1.0.1", - "resolve": "^1.11.1" + "node": ">=0.10.0" } }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "node_modules/sshpk/node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", "dev": true }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" + "engines": { + "node": "*" } }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", "dev": true, "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, + "escape-string-regexp": "^2.0.0" + }, "engines": { - "node": ">=6" - } - }, - "node_modules/pure-rand": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-5.0.1.tgz", - "integrity": "sha512-ksWccjmXOHU2gJBnH0cK1lSYdvSZ0zLoCMSz/nTGh6hDvCSgcRxDyIcOBD6KNxFz3xhMPm/T267Tbe2JRymKEQ==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" + "node": ">=10" } }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "node_modules/stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", "dev": true, "dependencies": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" + "type-fest": "^0.7.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "node_modules/stacktrace-parser/node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", "dev": true, "engines": { - "node": ">=0.4.x" + "node": ">=8" } }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, "engines": { - "node": ">=0.4.x" + "node": ">= 0.8" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/quick-format-unescaped": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", - "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", - "dev": true - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "node_modules/stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", "dev": true, "dependencies": { - "safe-buffer": "^5.1.0" + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" } }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "node_modules/stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", "dev": true, "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" } }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "node_modules/stream-combiner2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, - "engines": { - "node": ">= 0.6" + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "node_modules/stream-combiner2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/stream-combiner2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" + "safe-buffer": "~5.1.0" } }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "node_modules/stream-http": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" } }, - "node_modules/rc/node_modules/strip-json-comments": { + "node_modules/stream-splicer": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "node_modules/read-only-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", - "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", + "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", "dev": true, "dependencies": { + "inherits": "^2.0.1", "readable-stream": "^2.0.2" } }, - "node_modules/read-only-stream/node_modules/readable-stream": { + "node_modules/stream-splicer/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", @@ -20003,13 +18690,13 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/read-only-stream/node_modules/safe-buffer": { + "node_modules/stream-splicer/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "node_modules/read-only-stream/node_modules/string_decoder": { + "node_modules/stream-splicer/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", @@ -20018,6696 +18705,3106 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/read-pkg": { + "node_modules/streamsearch": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", "dev": true, - "dependencies": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "dependencies": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "safe-buffer": "~5.2.0" } }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/read-pkg-up/node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true, - "dependencies": { - "pinkie-promise": "^2.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/read-pkg/node_modules/path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "ansi-regex": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" }, - "engines": { - "node": ">= 6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", "dev": true, "dependencies": { - "picomatch": "^2.2.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/real-require": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", - "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", - "dev": true, - "engines": { - "node": ">= 12.13.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "resolve": "^1.1.6" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">= 0.10" + "node": ">=8" } }, - "node_modules/recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", + "node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", "dev": true, "dependencies": { - "minimatch": "3.0.4" + "is-utf8": "^0.2.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/recursive-readdir/node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "node_modules/strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "is-hex-prefixed": "1.0.0" }, "engines": { - "node": "*" + "node": ">=6.5.0", + "npm": ">=3" } }, - "node_modules/reduce-flatten": { + "node_modules/strip-indent": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", - "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", "dev": true, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true - }, - "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "node_modules/subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==", + "dev": true, + "dependencies": { + "minimist": "^1.1.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/req-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz", - "integrity": "sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==", + "node_modules/swap-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", + "integrity": "sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==", "dev": true, "dependencies": { - "req-from": "^2.0.0" - }, - "engines": { - "node": ">=4" + "lower-case": "^1.1.1", + "upper-case": "^1.1.1" } }, - "node_modules/req-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/req-from/-/req-from-2.0.0.tgz", - "integrity": "sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==", + "node_modules/swarm-js": { + "version": "0.1.40", + "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.40.tgz", + "integrity": "sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==", "dev": true, "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" + "bluebird": "^3.5.0", + "buffer": "^5.0.5", + "eth-lib": "^0.1.26", + "fs-extra": "^4.0.2", + "got": "^7.1.0", + "mime-types": "^2.1.16", + "mkdirp-promise": "^5.0.1", + "mock-fs": "^4.1.0", + "setimmediate": "^1.0.5", + "tar": "^4.0.2", + "xhr-request": "^1.0.1" } }, - "node_modules/req-from/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "node_modules/swarm-js/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, - "engines": { - "node": ">=4" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "node_modules/swarm-js/node_modules/eth-lib": { + "version": "0.1.29", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", + "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", "dev": true, "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "nano-json-stream-parser": "^0.1.2", + "servify": "^0.1.12", + "ws": "^3.0.0", + "xhr-request-promise": "^0.1.2" } }, - "node_modules/request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "node_modules/swarm-js/node_modules/fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", "dev": true, "dependencies": { - "lodash": "^4.17.19" - }, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "request": "^2.34" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, - "node_modules/request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "node_modules/swarm-js/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", "dev": true, - "dependencies": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, "engines": { - "node": ">=0.12.0" - }, - "peerDependencies": { - "request": "^2.34" + "node": ">=4" } }, - "node_modules/request/node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "node_modules/swarm-js/node_modules/got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", "dev": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" }, "engines": { - "node": ">= 0.12" + "node": ">=4" } }, - "node_modules/request/node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "node_modules/swarm-js/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, - "engines": { - "node": ">=0.6" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "node_modules/swarm-js/node_modules/p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", "dev": true, - "bin": { - "uuid": "bin/uuid" + "engines": { + "node": ">=4" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "node_modules/swarm-js/node_modules/p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha512-gb0ryzr+K2qFqFv6qi3khoeqMZF/+ajxQipEF6NteZVnvz9tzdsfAVj3lYtn1gAXvH5lfLwfxEII799gt/mRIA==", "dev": true, + "dependencies": { + "p-finally": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "node_modules/swarm-js/node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "node_modules/swarm-js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "node_modules/swarm-js/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 4.0.0" } }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "dev": true - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "node_modules/swarm-js/node_modules/url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==", "dev": true, + "dependencies": { + "prepend-http": "^1.0.1" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "node_modules/swarm-js/node_modules/ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "dev": true, "dependencies": { - "lowercase-keys": "^1.0.0" + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/sync-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", "dev": true, "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" }, "engines": { - "node": ">=8" + "node": ">=8.0.0" } }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "node_modules/sync-rpc": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", "dev": true, - "engines": { - "node": ">= 4" + "dependencies": { + "get-port": "^3.1.0" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "node_modules/syntax-error": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "dependencies": { + "acorn-node": "^1.2.0" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "node_modules/table/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ripemd160-min": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/ripemd160-min/-/ripemd160-min-0.0.6.tgz", - "integrity": "sha512-+GcJgQivhs6S9qvLogusiTcS9kQUfgR75whKuy5jIhuiOfQuJ8fjqxV6EGD5duH1Y/FawFUMtMhyeq3Fbnib8A==", + "node_modules/table/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, "engines": { - "node": ">=8" - } - }, - "node_modules/rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "dev": true, - "dependencies": { - "bn.js": "^5.2.0" - }, - "bin": { - "rlp": "bin/rlp" + "node": ">=6" } }, - "node_modules/rlp/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "node_modules/table/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, "engines": { - "node": ">=0.12.0" + "node": ">=6" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "node_modules/table/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "dependencies": { - "queue-microtask": "^1.2.2" + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/rustbn.js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==", - "dev": true - }, - "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "node_modules/tar": { + "version": "4.4.19", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", + "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", "dev": true, "dependencies": { - "tslib": "^1.9.0" + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" }, "engines": { - "npm": ">=2.0.0" + "node": ">=4.5" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "optional": true, + "peer": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } }, - "node_modules/safe-stable-stringify": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", - "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "node_modules/tar/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, - "node_modules/sc-istanbul": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz", - "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==", + "node_modules/test-value": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz", + "integrity": "sha512-+1epbAxtKeXttkGFMTX9H42oqzOTufR1ceCF+GYA5aOmvaPq9wd4PUS8329fn2RRLGNeUkgRLnVpycjx8DsO2w==", "dev": true, "dependencies": { - "abbrev": "1.0.x", - "async": "1.x", - "escodegen": "1.8.x", - "esprima": "2.7.x", - "glob": "^5.0.15", - "handlebars": "^4.0.1", - "js-yaml": "3.x", - "mkdirp": "0.5.x", - "nopt": "3.x", - "once": "1.x", - "resolve": "1.1.x", - "supports-color": "^3.1.0", - "which": "^1.1.1", - "wordwrap": "^1.0.0" + "array-back": "^1.0.3", + "typical": "^2.6.0" }, - "bin": { - "istanbul": "lib/cli.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/sc-istanbul/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/test-value/node_modules/array-back": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", + "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==", "dev": true, "dependencies": { - "sprintf-js": "~1.0.2" + "typical": "^2.6.0" + }, + "engines": { + "node": ">=0.12.0" } }, - "node_modules/sc-istanbul/node_modules/async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==", + "node_modules/test-value/node_modules/typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==", "dev": true }, - "node_modules/sc-istanbul/node_modules/esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", + "node_modules/testrpc": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", + "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==", + "deprecated": "testrpc has been renamed to ganache-cli, please use this package from now on.", + "dev": true + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/then-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "dependencies": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^8.1.1", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" } }, - "node_modules/sc-istanbul/node_modules/glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", + "node_modules/then-request/node_modules/@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", + "dev": true + }, + "node_modules/then-request/node_modules/form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", "dev": true, "dependencies": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" }, "engines": { - "node": "*" + "node": ">= 0.12" } }, - "node_modules/sc-istanbul/node_modules/has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/sc-istanbul/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/sc-istanbul/node_modules/js-yaml/node_modules/esprima": { + "node_modules/through2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/timed-out": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/sc-istanbul/node_modules/resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", - "dev": true - }, - "node_modules/sc-istanbul/node_modules/supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", + "node_modules/timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==", "dev": true, "dependencies": { - "has-flag": "^1.0.0" + "process": "~0.11.0" }, "engines": { - "node": ">=0.8.0" + "node": ">=0.6.0" } }, - "node_modules/sc-istanbul/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/title-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz", + "integrity": "sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==", "dev": true, "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" + "no-case": "^2.2.0", + "upper-case": "^1.0.3" } }, - "node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", - "dev": true - }, - "node_modules/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, - "hasInstallScript": true, "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" + "os-tmpdir": "~1.0.2" }, "engines": { - "node": ">=10.0.0" + "node": ">=0.6.0" } }, - "node_modules/semaphore-async-await": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz", - "integrity": "sha512-b/ptP11hETwYWpeilHXXQiV5UJNJl7ZWWooKRE5eBIYWoom6dZ0SluCIdCtKycsMtZgKWE01/qAw6jblw1YVhg==", + "node_modules/to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", "dev": true, "engines": { - "node": ">=4.1" + "node": ">=6" } }, - "node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "is-number": "^7.0.0" }, "engines": { - "node": ">=10" + "node": ">=8.0" } }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.6" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "dependencies": { - "ms": "2.0.0" + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "dev": true }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "node_modules/true-case-path": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", + "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==", "dev": true }, - "node_modules/sentence-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.1.tgz", - "integrity": "sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==", + "node_modules/ts-essentials": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", + "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", "dev": true, - "dependencies": { - "no-case": "^2.2.0", - "upper-case-first": "^1.1.2" + "peerDependencies": { + "typescript": ">=3.7.0" } }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "node_modules/ts-generator": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ts-generator/-/ts-generator-0.1.1.tgz", + "integrity": "sha512-N+ahhZxTLYu1HNTQetwWcx3so8hcYbkKBHTr4b4/YgObFTIKkOSSsaa+nal12w8mfrJAyzJfETXawbNjSfP2gQ==", "dev": true, "dependencies": { - "randombytes": "^2.1.0" + "@types/mkdirp": "^0.5.2", + "@types/prettier": "^2.1.1", + "@types/resolve": "^0.0.8", + "chalk": "^2.4.1", + "glob": "^7.1.2", + "mkdirp": "^0.5.1", + "prettier": "^2.1.2", + "resolve": "^1.8.1", + "ts-essentials": "^1.0.0" + }, + "bin": { + "ts-generator": "dist/cli/run.js" } }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "node_modules/ts-generator/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" + "color-convert": "^1.9.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=4" } }, - "node_modules/servify": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", - "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", + "node_modules/ts-generator/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { - "body-parser": "^1.16.0", - "cors": "^2.8.1", - "express": "^4.14.0", - "request": "^2.79.0", - "xhr": "^2.3.3" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "node_modules/ts-generator/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" + "color-name": "1.1.3" } }, - "node_modules/sha1": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", - "integrity": "sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==", - "dev": true, - "dependencies": { - "charenc": ">= 0.0.1", - "crypt": ">= 0.0.1" - }, - "engines": { - "node": "*" - } + "node_modules/ts-generator/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, - "node_modules/sha3": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/sha3/-/sha3-2.1.4.tgz", - "integrity": "sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg==", + "node_modules/ts-generator/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "dependencies": { - "buffer": "6.0.3" + "engines": { + "node": ">=0.8.0" } }, - "node_modules/shasum-object": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", - "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", + "node_modules/ts-generator/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "dependencies": { - "fast-safe-stringify": "^2.0.7" + "engines": { + "node": ">=4" } }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/ts-generator/node_modules/prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" + "bin": { + "prettier": "bin-prettier.js" }, "engines": { - "node": ">=8" + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "node_modules/ts-generator/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/shell-quote": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", - "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", + "node_modules/ts-generator/node_modules/ts-essentials": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-1.0.4.tgz", + "integrity": "sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==", "dev": true }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "node_modules/ts-node": { + "version": "8.10.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", + "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", "dev": true, "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" + "arg": "^4.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" }, "bin": { - "shjs": "bin/shjs" + "ts-node": "dist/bin.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" }, "engines": { - "node": ">=4" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "node": ">=6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "typescript": ">=2.7" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/simple-get": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz", - "integrity": "sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==", + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, - "dependencies": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" + "engines": { + "node": ">=0.3.1" } }, - "node_modules/sinon": { - "version": "15.0.4", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.0.4.tgz", - "integrity": "sha512-uzmfN6zx3GQaria1kwgWGeKiXSSbShBbue6Dcj0SI8fiCNFbiUDqKl57WFlY5lyhxZVUKmXvzgG2pilRQCBwWg==", + "node_modules/tsconfig": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-5.0.3.tgz", + "integrity": "sha512-Cq65A3kVp6BbsUgg9DRHafaGmbMb9EhAc7fjWvudNWKjkbWrt43FnrtZt6awshH1R0ocfF2Z0uxock3lVqEgOg==", "dev": true, - "peer": true, "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.4", - "supports-color": "^7.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/sinon" + "any-promise": "^1.3.0", + "parse-json": "^2.2.0", + "strip-bom": "^2.0.0", + "strip-json-comments": "^2.0.0" } }, - "node_modules/sinon-chai": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz", - "integrity": "sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==", + "node_modules/tsconfig/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true, - "peerDependencies": { - "chai": "^4.0.0", - "sinon": ">=4.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/sinon/node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "node_modules/tsify": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/tsify/-/tsify-5.0.4.tgz", + "integrity": "sha512-XAZtQ5OMPsJFclkZ9xMZWkSNyMhMxEPsz3D2zu79yoKorH9j/DT4xCloJeXk5+cDhosEibu4bseMVjyPOAyLJA==", "dev": true, - "peer": true, + "dependencies": { + "convert-source-map": "^1.1.0", + "fs.realpath": "^1.0.0", + "object-assign": "^4.1.0", + "semver": "^6.1.0", + "through2": "^2.0.0", + "tsconfig": "^5.0.3" + }, "engines": { - "node": ">=0.3.1" + "node": ">=0.12" + }, + "peerDependencies": { + "browserify": ">= 10.x", + "typescript": ">= 2.8" } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/tsify/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "engines": { - "node": ">=8" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsort": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", + "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" + "tslib": "^1.8.1" }, "engines": { - "node": ">=6" + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "safe-buffer": "^5.0.1" }, "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/slice-ansi/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } + "node_modules/tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", + "dev": true }, - "node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "node_modules/tweetnacl-util": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==", "dev": true }, - "node_modules/snake-case": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz", - "integrity": "sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q==", + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "dependencies": { - "no-case": "^2.2.0" + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/solc": { - "version": "0.4.26", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", - "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", + "node_modules/typechain": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typechain/-/typechain-6.0.3.tgz", + "integrity": "sha512-NPyCl4bvUtcd2g5Xlqznv6w6i9N5nQLG/UOkazkkyMkjKmo7smpub5UIJ8DLUc/nrZSiV75jEmOjvC2W7d+qvg==", "dev": true, "dependencies": { - "fs-extra": "^0.30.0", - "memorystream": "^0.3.1", - "require-from-string": "^1.1.0", - "semver": "^5.3.0", - "yargs": "^4.7.1" + "@types/prettier": "^2.1.1", + "command-line-args": "^4.0.7", + "debug": "^4.1.1", + "fs-extra": "^7.0.0", + "glob": "^7.1.6", + "js-sha3": "^0.8.0", + "lodash": "^4.17.15", + "mkdirp": "^1.0.4", + "prettier": "^2.1.2", + "ts-essentials": "^7.0.1" }, "bin": { - "solcjs": "solcjs" + "typechain": "dist/cli/cli.js" + }, + "peerDependencies": { + "typescript": ">=4.1.0" } }, - "node_modules/solc/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "node_modules/typechain/node_modules/array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", "dev": true, + "dependencies": { + "typical": "^2.6.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/solc/node_modules/camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", + "node_modules/typechain/node_modules/command-line-args": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-4.0.7.tgz", + "integrity": "sha512-aUdPvQRAyBvQd2n7jXcsMDz68ckBJELXNzBybCHOibUWEg0mWTnaYCSRU8h9R+aNRSvDihJtssSRCiDRpLaezA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "array-back": "^2.0.0", + "find-replace": "^1.0.3", + "typical": "^2.6.1" + }, + "bin": { + "command-line-args": "bin/cli.js" } }, - "node_modules/solc/node_modules/cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", + "node_modules/typechain/node_modules/find-replace": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-1.0.3.tgz", + "integrity": "sha512-KrUnjzDCD9426YnCP56zGYy/eieTnhtK6Vn++j+JJzmlsWWwEkDnsyVF575spT6HJ6Ow9tlbT3TQTDsa+O4UWA==", "dev": true, "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "array-back": "^1.0.4", + "test-value": "^2.1.0" + }, + "engines": { + "node": ">=4.0.0" } }, - "node_modules/solc/node_modules/fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", + "node_modules/typechain/node_modules/find-replace/node_modules/array-back": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", + "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" + "typical": "^2.6.0" + }, + "engines": { + "node": ">=0.12.0" } }, - "node_modules/solc/node_modules/get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "node_modules/solc/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "node_modules/typechain/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "dependencies": { - "number-is-nan": "^1.0.0" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6 <7 || >=8" } }, - "node_modules/solc/node_modules/jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", + "node_modules/typechain/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, - "node_modules/solc/node_modules/require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha512-H7AkJWMobeskkttHyhTVtS0fxpFLjxhbfMa6Bk3wimP7sdPRGL3EyCg3sAQenFfAe+xQ+oAc85Nmtvq0ROM83Q==", + "node_modules/typechain/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/solc/node_modules/require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", - "dev": true - }, - "node_modules/solc/node_modules/rimraf": { + "node_modules/typechain/node_modules/prettier": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/solc/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/solc/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "node_modules/typechain/node_modules/typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==", + "dev": true + }, + "node_modules/typechain/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 4.0.0" } }, - "node_modules/solc/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dev": true, "dependencies": { - "ansi-regex": "^2.0.0" + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz", + "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=0.10.0" + "node": ">=4.2.0" } }, - "node_modules/solc/node_modules/which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==", - "dev": true + "node_modules/u2f-api": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/u2f-api/-/u2f-api-0.2.7.tgz", + "integrity": "sha512-fqLNg8vpvLOD5J/z4B6wpPg4Lvowz1nJ9xdHcCzdUPKcFE/qNCceV2gNZxSJd5vhAZemHr/K/hbzVA0zxB5mkg==", + "dev": true, + "peer": true }, - "node_modules/solc/node_modules/wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", + "node_modules/uglify-js": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.1.tgz", + "integrity": "sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ==", "dev": true, - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.8.0" } }, - "node_modules/solc/node_modules/y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "node_modules/ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", "dev": true }, - "node_modules/solc/node_modules/yargs": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA==", + "node_modules/umd": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", + "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", "dev": true, - "dependencies": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "lodash.assign": "^4.0.3", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.1", - "which-module": "^1.0.0", - "window-size": "^0.2.0", - "y18n": "^3.2.1", - "yargs-parser": "^2.4.1" + "bin": { + "umd": "bin/cli.js" } }, - "node_modules/solc/node_modules/yargs-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha512-9pIKIJhnI5tonzG6OnCFlz/yln8xHYcGl+pn3xR0Vzff0vzN1PbNRaelgfgRUwZ3s4i3jvxT9WhmUGL4whnasA==", + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, "dependencies": { - "camelcase": "^3.0.0", - "lodash.assign": "^4.0.6" + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/solhint": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/solhint/-/solhint-3.3.7.tgz", - "integrity": "sha512-NjjjVmXI3ehKkb3aNtRJWw55SUVJ8HMKKodwe0HnejA+k0d2kmhw7jvpa+MCTbcEgt8IWSwx0Hu6aCo/iYOZzQ==", + "node_modules/undeclared-identifiers": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", + "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", "dev": true, "dependencies": { - "@solidity-parser/parser": "^0.14.1", - "ajv": "^6.6.1", - "antlr4": "4.7.1", - "ast-parents": "0.0.1", - "chalk": "^2.4.2", - "commander": "2.18.0", - "cosmiconfig": "^5.0.7", - "eslint": "^5.6.0", - "fast-diff": "^1.1.2", - "glob": "^7.1.3", - "ignore": "^4.0.6", - "js-yaml": "^3.12.0", - "lodash": "^4.17.11", - "semver": "^6.3.0" - }, - "bin": { - "solhint": "solhint.js" + "acorn-node": "^1.3.0", + "dash-ast": "^1.0.0", + "get-assigned-identifiers": "^1.2.0", + "simple-concat": "^1.0.0", + "xtend": "^4.0.1" }, - "optionalDependencies": { - "prettier": "^1.14.3" - } - }, - "node_modules/solhint/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true, "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" + "undeclared-identifiers": "bin.js" } }, - "node_modules/solhint/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/undici": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.22.0.tgz", + "integrity": "sha512-fR9RXCc+6Dxav4P9VV/sp5w3eFiSdOjJYsbtWfd4s5L5C4ogyuVpdKIVHeW0vV1MloM65/f7W45nR9ZxwVdyiA==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "busboy": "^1.6.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=14.0" } }, - "node_modules/solhint/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">= 10.0.0" } }, - "node_modules/solhint/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, "engines": { - "node": ">=6" + "node": ">= 0.8" } }, - "node_modules/solhint/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", + "dev": true + }, + "node_modules/upper-case-first": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", + "integrity": "sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" + "upper-case": "^1.1.1" } }, - "node_modules/solhint/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "dependencies": { - "sprintf-js": "~1.0.2" + "punycode": "^2.1.0" } }, - "node_modules/solhint/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" + "punycode": "1.3.2", + "querystring": "0.2.0" } }, - "node_modules/solhint/node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", "dev": true, "dependencies": { - "restore-cursor": "^2.0.0" + "prepend-http": "^2.0.0" }, "engines": { "node": ">=4" } }, - "node_modules/solhint/node_modules/cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "node_modules/url-set-query": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", + "integrity": "sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==", "dev": true }, - "node_modules/solhint/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==", "dev": true, - "dependencies": { - "color-name": "1.1.3" + "engines": { + "node": ">= 4" } }, - "node_modules/solhint/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/solhint/node_modules/commander": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz", - "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==", + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", "dev": true }, - "node_modules/solhint/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "node_modules/usb": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/usb/-/usb-1.9.2.tgz", + "integrity": "sha512-dryNz030LWBPAf6gj8vyq0Iev3vPbCLHCT8dBw3gQRXRzVNsIdeuU+VjPp3ksmSPkeMAl1k+kQ14Ij0QHyeiAg==", "dev": true, + "hasInstallScript": true, + "optional": true, + "peer": true, "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "node-addon-api": "^4.2.0", + "node-gyp-build": "^4.3.0" }, "engines": { - "node": ">=4.8" - } - }, - "node_modules/solhint/node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" + "node": ">=10.16.0" } }, - "node_modules/solhint/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/usb/node_modules/node-addon-api": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", + "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", "dev": true, - "engines": { - "node": ">=0.8.0" - } + "optional": true, + "peer": true }, - "node_modules/solhint/node_modules/eslint": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", - "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", + "node_modules/utf-8-validate": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", + "integrity": "sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==", "dev": true, + "hasInstallScript": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.9.1", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^4.0.3", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^5.0.1", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.7.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^6.2.2", - "js-yaml": "^3.13.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.11", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^5.5.1", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" + "node-gyp-build": "^4.3.0" }, "engines": { - "node": "^6.14.0 || ^8.10.0 || >=9.10.0" + "node": ">=6.14.2" } }, - "node_modules/solhint/node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" - } + "node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "dev": true }, - "node_modules/solhint/node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" } }, - "node_modules/solhint/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true, "engines": { - "node": ">=4" + "node": ">= 0.4.0" } }, - "node_modules/solhint/node_modules/eslint/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, "bin": { - "semver": "bin/semver" + "uuid": "dist/bin/uuid" } }, - "node_modules/solhint/node_modules/espree": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", - "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "dependencies": { - "acorn": "^6.0.7", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^1.0.0" - }, - "engines": { - "node": ">=6.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, - "node_modules/solhint/node_modules/figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "node_modules/varint": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", + "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==", + "dev": true + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "node_modules/solhint/node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "dev": true, + "engines": [ + "node >=0.6.0" + ], "dependencies": { - "flat-cache": "^2.0.1" + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "node_modules/web3": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.7.3.tgz", + "integrity": "sha512-UgBvQnKIXncGYzsiGacaiHtm0xzQ/JtGqcSO/ddzQHYxnNuwI72j1Pb4gskztLYihizV9qPNQYHMSCiBlStI9A==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "web3-bzz": "1.7.3", + "web3-core": "1.7.3", + "web3-eth": "1.7.3", + "web3-eth-personal": "1.7.3", + "web3-net": "1.7.3", + "web3-shh": "1.7.3", + "web3-utils": "1.7.3" }, "engines": { - "node": ">=4" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "node_modules/web3-bzz": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.5.3.tgz", + "integrity": "sha512-SlIkAqG0eS6cBS9Q2eBOTI1XFzqh83RqGJWnyrNZMDxUwsTVHL+zNnaPShVPvrWQA1Ub5b0bx1Kc5+qJVxsTJg==", "dev": true, + "hasInstallScript": true, "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" + "@types/node": "^12.12.6", + "got": "9.6.0", + "swarm-js": "^0.1.40" }, "engines": { - "node": ">=4" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "node_modules/web3-bzz/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", "dev": true }, - "node_modules/solhint/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "node_modules/web3-core": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.5.3.tgz", + "integrity": "sha512-ACTbu8COCu+0eUNmd9pG7Q9EVsNkAg2w3Y7SqhDr+zjTgbSHZV01jXKlapm9z+G3AN/BziV3zGwudClJ4u4xXQ==", "dev": true, + "dependencies": { + "@types/bn.js": "^4.11.5", + "@types/node": "^12.12.6", + "bignumber.js": "^9.0.0", + "web3-core-helpers": "1.5.3", + "web3-core-method": "1.5.3", + "web3-core-requestmanager": "1.5.3", + "web3-utils": "1.5.3" + }, "engines": { - "node": ">=4" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/web3-core-helpers": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.3.tgz", + "integrity": "sha512-Ip1IjB3S8vN7Kf1PPjK41U5gskmMk6IJQlxIVuS8/1U7n/o0jC8krqtpRwiMfAgYyw3TXwBFtxSRTvJtnLyXZw==", "dev": true, + "dependencies": { + "web3-eth-iban": "1.5.3", + "web3-utils": "1.5.3" + }, "engines": { - "node": ">=4" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "node_modules/web3-core-helpers/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, "engines": { - "node": ">= 4" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "node_modules/web3-core-method": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.5.3.tgz", + "integrity": "sha512-8wJrwQ2qD9ibWieF9oHXwrJsUGrv3XAtEkNeyvyNMpktNTIjxJ2jaFGQUuLiyUrMubD18XXgLk4JS6PJU4Loeg==", "dev": true, "dependencies": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" + "@ethereumjs/common": "^2.4.0", + "@ethersproject/transactions": "^5.0.0-beta.135", + "web3-core-helpers": "1.5.3", + "web3-core-promievent": "1.5.3", + "web3-core-subscriptions": "1.5.3", + "web3-utils": "1.5.3" }, "engines": { - "node": ">=6.0.0" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/inquirer/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/web3-core-method/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" }, "engines": { - "node": ">=6" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/web3-core-promievent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.3.tgz", + "integrity": "sha512-CFfgqvk3Vk6PIAxtLLuX+pOMozxkKCY+/GdGr7weMh033mDXEPvwyVjoSRO1PqIKj668/hMGQsVoIgbyxkJ9Mg==", "dev": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "eventemitter3": "4.0.4" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "node_modules/web3-core-promievent/node_modules/eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", "dev": true }, - "node_modules/solhint/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "node_modules/web3-core-requestmanager": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.5.3.tgz", + "integrity": "sha512-9k/Bze2rs8ONix5IZR+hYdMNQv+ark2Ek2kVcrFgWO+LdLgZui/rn8FikPunjE+ub7x7pJaKCgVRbYFXjo3ZWg==", "dev": true, "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "util": "^0.12.0", + "web3-core-helpers": "1.5.3", + "web3-providers-http": "1.5.3", + "web3-providers-ipc": "1.5.3", + "web3-providers-ws": "1.5.3" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "node_modules/web3-core-subscriptions": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.5.3.tgz", + "integrity": "sha512-L2m9vG1iRN6thvmv/HQwO2YLhOQlmZU8dpLG6GSo9FBN14Uch868Swk0dYVr3rFSYjZ/GETevSXU+O+vhCummA==", "dev": true, + "dependencies": { + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.5.3" + }, "engines": { - "node": ">=4" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", + "node_modules/web3-core-subscriptions/node_modules/eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", "dev": true }, - "node_modules/solhint/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "node_modules/web3-core/node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", "dev": true, "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" + "@types/node": "*" } }, - "node_modules/solhint/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "node_modules/web3-core/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + }, + "node_modules/web3-core/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "node_modules/web3-eth": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.5.3.tgz", + "integrity": "sha512-saFurA1L23Bd7MEf7cBli6/jRdMhD4X/NaMiO2mdMMCXlPujoudlIJf+VWpRWJpsbDFdu7XJ2WHkmBYT5R3p1Q==", "dev": true, + "dependencies": { + "web3-core": "1.5.3", + "web3-core-helpers": "1.5.3", + "web3-core-method": "1.5.3", + "web3-core-subscriptions": "1.5.3", + "web3-eth-abi": "1.5.3", + "web3-eth-accounts": "1.5.3", + "web3-eth-contract": "1.5.3", + "web3-eth-ens": "1.5.3", + "web3-eth-iban": "1.5.3", + "web3-eth-personal": "1.5.3", + "web3-net": "1.5.3", + "web3-utils": "1.5.3" + }, "engines": { - "node": ">=4" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "node_modules/web3-eth-abi": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.5.3.tgz", + "integrity": "sha512-i/qhuFsoNrnV130CSRYX/z4SlCfSQ4mHntti5yTmmQpt70xZKYZ57BsU0R29ueSQ9/P+aQrL2t2rqkQkAloUxg==", "dev": true, + "dependencies": { + "@ethersproject/abi": "5.0.7", + "web3-utils": "1.5.3" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "node_modules/web3-eth-abi/node_modules/@ethersproject/abi": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", + "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", "dev": true, - "engines": { - "node": ">=6.5.0" + "dependencies": { + "@ethersproject/address": "^5.0.4", + "@ethersproject/bignumber": "^5.0.7", + "@ethersproject/bytes": "^5.0.4", + "@ethersproject/constants": "^5.0.4", + "@ethersproject/hash": "^5.0.4", + "@ethersproject/keccak256": "^5.0.3", + "@ethersproject/logger": "^5.0.5", + "@ethersproject/properties": "^5.0.3", + "@ethersproject/strings": "^5.0.4" } }, - "node_modules/solhint/node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "node_modules/web3-eth-abi/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" }, "engines": { - "node": ">=4" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "node_modules/web3-eth-accounts": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.5.3.tgz", + "integrity": "sha512-pdGhXgeBaEJENMvRT6W9cmji3Zz/46ugFSvmnLLw79qi5EH7XJhKISNVb41eWCrs4am5GhI67GLx5d2s2a72iw==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "@ethereumjs/common": "^2.3.0", + "@ethereumjs/tx": "^3.2.1", + "crypto-browserify": "3.12.0", + "eth-lib": "0.2.8", + "ethereumjs-util": "^7.0.10", + "scrypt-js": "^3.0.1", + "uuid": "3.3.2", + "web3-core": "1.5.3", + "web3-core-helpers": "1.5.3", + "web3-core-method": "1.5.3", + "web3-utils": "1.5.3" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/web3-eth-accounts/node_modules/uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "dev": true, "bin": { - "semver": "bin/semver.js" + "uuid": "bin/uuid" } }, - "node_modules/solhint/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "node_modules/web3-eth-accounts/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, "dependencies": { - "shebang-regex": "^1.0.0" + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "node_modules/web3-eth-contract": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.5.3.tgz", + "integrity": "sha512-Gdlt1L6cdHe83k7SdV6xhqCytVtOZkjD0kY/15x441AuuJ4JLubCHuqu69k2Dr3tWifHYVys/vG8QE/W16syGg==", "dev": true, + "dependencies": { + "@types/bn.js": "^4.11.5", + "web3-core": "1.5.3", + "web3-core-helpers": "1.5.3", + "web3-core-method": "1.5.3", + "web3-core-promievent": "1.5.3", + "web3-core-subscriptions": "1.5.3", + "web3-eth-abi": "1.5.3", + "web3-utils": "1.5.3" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "node_modules/web3-eth-contract/node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", "dev": true, "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" + "@types/node": "*" } }, - "node_modules/solhint/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "node_modules/web3-eth-contract/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, "engines": { - "node": ">=4" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "node_modules/web3-eth-ens": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.5.3.tgz", + "integrity": "sha512-QmGFFtTGElg0E+3xfCIFhiUF+1imFi9eg/cdsRMUZU4F1+MZCC/ee+IAelYLfNTGsEslCqfAusliKOT9DdGGnw==", "dev": true, + "dependencies": { + "content-hash": "^2.5.2", + "eth-ens-namehash": "2.0.8", + "web3-core": "1.5.3", + "web3-core-helpers": "1.5.3", + "web3-core-promievent": "1.5.3", + "web3-eth-abi": "1.5.3", + "web3-eth-contract": "1.5.3", + "web3-utils": "1.5.3" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/web3-eth-ens/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" }, "engines": { - "node": ">=4" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "node_modules/web3-eth-iban": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.3.tgz", + "integrity": "sha512-vMzmGqolYZvRHwP9P4Nf6G8uYM5aTLlQu2a34vz78p0KlDC+eV1th3+90Qeaupa28EG7OO0IT1F0BejiIauOPw==", "dev": true, "dependencies": { - "prelude-ls": "~1.1.2" + "bn.js": "^4.11.9", + "web3-utils": "1.5.3" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8.0.0" } }, - "node_modules/solhint/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/web3-eth-iban/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, "dependencies": { - "isexe": "^2.0.0" + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" }, - "bin": { - "which": "bin/which" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/solidity-ast": { - "version": "0.4.35", - "resolved": "https://registry.npmjs.org/solidity-ast/-/solidity-ast-0.4.35.tgz", - "integrity": "sha512-F5bTDLh3rmDxRmLSrs3qt3nvxJprWSEkS7h2KmuXDx7XTfJ6ZKVTV1rtPIYCqJAuPsU/qa8YUeFn7jdOAZcTPA==", - "dev": true - }, - "node_modules/solidity-coverage": { - "version": "0.8.0-beta.1", - "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.0-beta.1.tgz", - "integrity": "sha512-OsdzW0K0v7osWyDUPP82wNehKOsZ4o+2yfVnjtI9PX5tmEbBzNHxKmmef+pRxy9kkqhJRV8AcdM7G0qu7W8gXA==", + "node_modules/web3-eth-personal": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.5.3.tgz", + "integrity": "sha512-JzibJafR7ak/Icas8uvos3BmUNrZw1vShuNR5Cxjo+vteOC8XMqz1Vr7RH65B4bmlfb3bm9xLxetUHO894+Sew==", "dev": true, "dependencies": { - "@ethersproject/abi": "^5.0.9", - "@solidity-parser/parser": "^0.14.1", - "@truffle/provider": "^0.2.24", - "chalk": "^2.4.2", - "death": "^1.1.0", - "detect-port": "^1.3.0", - "difflib": "^0.2.4", - "fs-extra": "^8.1.0", - "ganache-cli": "^6.11.0", - "ghost-testrpc": "^0.0.2", - "global-modules": "^2.0.0", - "globby": "^10.0.1", - "jsonschema": "^1.2.4", - "lodash": "^4.17.15", - "mocha": "7.1.2", - "node-emoji": "^1.10.0", - "pify": "^4.0.1", - "recursive-readdir": "^2.2.2", - "sc-istanbul": "^0.4.5", - "semver": "^7.3.4", - "shelljs": "^0.8.3", - "web3-utils": "^1.3.0" + "@types/node": "^12.12.6", + "web3-core": "1.5.3", + "web3-core-helpers": "1.5.3", + "web3-core-method": "1.5.3", + "web3-net": "1.5.3", + "web3-utils": "1.5.3" }, - "bin": { - "solidity-coverage": "plugins/bin.js" - } - }, - "node_modules/solidity-coverage/node_modules/ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true, "engines": { - "node": ">=6" + "node": ">=8.0.0" } }, - "node_modules/solidity-coverage/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/web3-eth-personal/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + }, + "node_modules/web3-eth-personal/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" }, "engines": { - "node": ">=4" + "node": ">=8.0.0" } }, - "node_modules/solidity-coverage/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/web3-eth/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, "dependencies": { - "sprintf-js": "~1.0.2" + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/solidity-coverage/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/web3-net": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.5.3.tgz", + "integrity": "sha512-0W/xHIPvgVXPSdLu0iZYnpcrgNnhzHMC888uMlGP5+qMCt8VuflUZHy7tYXae9Mzsg1kxaJAS5lHVNyeNw4CoQ==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "web3-core": "1.5.3", + "web3-core-method": "1.5.3", + "web3-utils": "1.5.3" }, "engines": { - "node": ">=4" + "node": ">=8.0.0" } }, - "node_modules/solidity-coverage/node_modules/chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "node_modules/web3-net/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", "dev": true, "dependencies": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" }, "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.1.1" + "node": ">=8.0.0" } }, - "node_modules/solidity-coverage/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/web3-providers-http": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.5.3.tgz", + "integrity": "sha512-5DpUyWGHtDAr2RYmBu34Fu+4gJuBAuNx2POeiJIooUtJ+Mu6pIx4XkONWH6V+Ez87tZAVAsFOkJRTYuzMr3rPw==", "dev": true, "dependencies": { - "color-name": "1.1.3" + "web3-core-helpers": "1.5.3", + "xhr2-cookies": "1.1.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/solidity-coverage/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/solidity-coverage/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "node_modules/web3-providers-ipc": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.5.3.tgz", + "integrity": "sha512-JmeAptugVpmXI39LGxUSAymx0NOFdgpuI1hGQfIhbEAcd4sv7fhfd5D+ZU4oLHbRI8IFr4qfGU0uhR8BXhDzlg==", "dev": true, "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/solidity-coverage/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, + "oboe": "2.1.5", + "web3-core-helpers": "1.5.3" + }, "engines": { - "node": ">=0.8.0" + "node": ">=8.0.0" } }, - "node_modules/solidity-coverage/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "node_modules/web3-providers-ws": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.5.3.tgz", + "integrity": "sha512-6DhTw4Q7nm5CFYEUHOJM0gAb3xFx+9gWpVveg3YxJ/ybR1BUvEWo3bLgIJJtX56cYX0WyY6DS35a7f0LOI1kVg==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.5.3", + "websocket": "^1.0.32" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">=8.0.0" } }, - "node_modules/solidity-coverage/node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "deprecated": "\"Please update to latest v2.3 or v2.2\"", + "node_modules/web3-providers-ws/node_modules/eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", + "dev": true + }, + "node_modules/web3-shh": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.5.3.tgz", + "integrity": "sha512-COfEXfsqoV/BkcsNLRxQqnWc1Teb8/9GxdGag5GtPC5gQC/vsN+7hYVJUwNxY9LtJPKYTij2DHHnx6UkITng+Q==", "dev": true, "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "web3-core": "1.5.3", + "web3-core-method": "1.5.3", + "web3-core-subscriptions": "1.5.3", + "web3-net": "1.5.3" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=8.0.0" } }, - "node_modules/solidity-coverage/node_modules/globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "node_modules/web3-utils": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.9.0.tgz", + "integrity": "sha512-p++69rCNNfu2jM9n5+VD/g26l+qkEOQ1m6cfRQCbH8ZRrtquTmrirJMgTmyOoax5a5XRYOuws14aypCOs51pdQ==", "dev": true, "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereumjs-util": "^7.1.0", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" }, "engines": { - "node": ">=8" + "node": ">=8.0.0" } }, - "node_modules/solidity-coverage/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/web3-utils/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/web3/node_modules/@ethersproject/abi": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", + "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "@ethersproject/address": "^5.0.4", + "@ethersproject/bignumber": "^5.0.7", + "@ethersproject/bytes": "^5.0.4", + "@ethersproject/constants": "^5.0.4", + "@ethersproject/hash": "^5.0.4", + "@ethersproject/keccak256": "^5.0.3", + "@ethersproject/logger": "^5.0.5", + "@ethersproject/properties": "^5.0.3", + "@ethersproject/strings": "^5.0.4" } }, - "node_modules/solidity-coverage/node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "node_modules/web3/node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", "dev": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "@types/node": "*" } }, - "node_modules/solidity-coverage/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "node_modules/web3/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + }, + "node_modules/web3/node_modules/eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", + "dev": true + }, + "node_modules/web3/node_modules/uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "bin": { + "uuid": "bin/uuid" } }, - "node_modules/solidity-coverage/node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "node_modules/web3/node_modules/web3-bzz": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.7.3.tgz", + "integrity": "sha512-y2i2IW0MfSqFc1JBhBSQ59Ts9xE30hhxSmLS13jLKWzie24/An5dnoGarp2rFAy20tevJu1zJVPYrEl14jiL5w==", "dev": true, + "hasInstallScript": true, "dependencies": { - "brace-expansion": "^1.1.7" + "@types/node": "^12.12.6", + "got": "9.6.0", + "swarm-js": "^0.1.40" }, "engines": { - "node": "*" + "node": ">=8.0.0" } }, - "node_modules/solidity-coverage/node_modules/mocha": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.1.2.tgz", - "integrity": "sha512-o96kdRKMKI3E8U0bjnfqW4QMk12MwZ4mhdBTf+B5a1q9+aq2HRnj+3ZdJu0B/ZhJeK78MgYuv6L8d/rA5AeBJA==", + "node_modules/web3/node_modules/web3-core": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.7.3.tgz", + "integrity": "sha512-4RNxueGyevD1XSjdHE57vz/YWRHybpcd3wfQS33fgMyHZBVLFDNwhn+4dX4BeofVlK/9/cmPAokLfBUStZMLdw==", "dev": true, "dependencies": { - "ansi-colors": "3.2.3", - "browser-stdout": "1.3.1", - "chokidar": "3.3.0", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "3.0.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.5", - "ms": "2.1.1", - "node-environment-flags": "1.0.6", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha" + "@types/bn.js": "^4.11.5", + "@types/node": "^12.12.6", + "bignumber.js": "^9.0.0", + "web3-core-helpers": "1.7.3", + "web3-core-method": "1.7.3", + "web3-core-requestmanager": "1.7.3", + "web3-utils": "1.7.3" }, "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" + "node": ">=8.0.0" } }, - "node_modules/solidity-coverage/node_modules/mocha/node_modules/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "node_modules/web3/node_modules/web3-core-helpers": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.7.3.tgz", + "integrity": "sha512-qS2t6UKLhRV/6C7OFHtMeoHphkcA+CKUr2vfpxy4hubs3+Nj28K9pgiqFuvZiXmtEEwIAE2A28GBOC3RdcSuFg==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "web3-eth-iban": "1.7.3", + "web3-utils": "1.7.3" }, "engines": { - "node": "*" + "node": ">=8.0.0" } }, - "node_modules/solidity-coverage/node_modules/mocha/node_modules/supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "node_modules/web3/node_modules/web3-core-method": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.7.3.tgz", + "integrity": "sha512-SeF8YL/NVFbj/ddwLhJeS0io8y7wXaPYA2AVT0h2C2ESYkpvOtQmyw2Bc3aXxBmBErKcbOJjE2ABOKdUmLSmMA==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "@ethersproject/transactions": "^5.0.0-beta.135", + "web3-core-helpers": "1.7.3", + "web3-core-promievent": "1.7.3", + "web3-core-subscriptions": "1.7.3", + "web3-utils": "1.7.3" }, "engines": { - "node": ">=6" - } - }, - "node_modules/solidity-coverage/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "node_modules/solidity-coverage/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" + "node": ">=8.0.0" } }, - "node_modules/solidity-coverage/node_modules/readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "node_modules/web3/node_modules/web3-core-promievent": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.7.3.tgz", + "integrity": "sha512-+mcfNJLP8h2JqcL/UdMGdRVfTdm+bsoLzAFtLpazE4u9kU7yJUgMMAqnK59fKD3Zpke3DjaUJKwz1TyiGM5wig==", "dev": true, "dependencies": { - "picomatch": "^2.0.4" + "eventemitter3": "4.0.4" }, "engines": { - "node": ">= 8" + "node": ">=8.0.0" } }, - "node_modules/solidity-coverage/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "node_modules/web3/node_modules/web3-core-requestmanager": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.7.3.tgz", + "integrity": "sha512-bC+jeOjPbagZi2IuL1J5d44f3zfPcgX+GWYUpE9vicNkPUxFBWRG+olhMo7L+BIcD57cTmukDlnz+1xBULAjFg==", "dev": true, + "dependencies": { + "util": "^0.12.0", + "web3-core-helpers": "1.7.3", + "web3-providers-http": "1.7.3", + "web3-providers-ipc": "1.7.3", + "web3-providers-ws": "1.7.3" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.0" } }, - "node_modules/solidity-coverage/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/web3/node_modules/web3-core-subscriptions": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.7.3.tgz", + "integrity": "sha512-/i1ZCLW3SDxEs5mu7HW8KL4Vq7x4/fDXY+yf/vPoDljlpvcLEOnI8y9r7om+0kYwvuTlM6DUHHafvW0221TyRQ==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.7.3" }, "engines": { - "node": ">=4" + "node": ">=8.0.0" } }, - "node_modules/solidity-coverage/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/web3/node_modules/web3-eth": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.7.3.tgz", + "integrity": "sha512-BCIRMPwaMlTCbswXyGT6jj9chCh9RirbDFkPtvqozfQ73HGW7kP78TXXf9+Xdo1GjutQfxi/fQ9yPdxtDJEpDA==", "dev": true, + "dependencies": { + "web3-core": "1.7.3", + "web3-core-helpers": "1.7.3", + "web3-core-method": "1.7.3", + "web3-core-subscriptions": "1.7.3", + "web3-eth-abi": "1.7.3", + "web3-eth-accounts": "1.7.3", + "web3-eth-contract": "1.7.3", + "web3-eth-ens": "1.7.3", + "web3-eth-iban": "1.7.3", + "web3-eth-personal": "1.7.3", + "web3-net": "1.7.3", + "web3-utils": "1.7.3" + }, "engines": { - "node": ">= 4.0.0" + "node": ">=8.0.0" } }, - "node_modules/solidity-coverage/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/web3/node_modules/web3-eth-abi": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.3.tgz", + "integrity": "sha512-ZlD8DrJro0ocnbZViZpAoMX44x5aYAb73u2tMq557rMmpiluZNnhcCYF/NnVMy6UIkn7SF/qEA45GXA1ne6Tnw==", "dev": true, "dependencies": { - "isexe": "^2.0.0" + "@ethersproject/abi": "5.0.7", + "web3-utils": "1.7.3" }, - "bin": { - "which": "bin/which" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/sonic-boom": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.3.0.tgz", - "integrity": "sha512-LYxp34KlZ1a2Jb8ZQgFCK3niIHzibdwtwNUWKg0qQRzsDoJ3Gfgkf8KdBTFU3SkejDEIlWwnSnpVdOZIhFMl/g==", + "node_modules/web3/node_modules/web3-eth-accounts": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.7.3.tgz", + "integrity": "sha512-aDaWjW1oJeh0LeSGRVyEBiTe/UD2/cMY4dD6pQYa8dOhwgMtNQjxIQ7kacBBXe7ZKhjbIFZDhvXN4mjXZ82R2Q==", "dev": true, "dependencies": { - "atomic-sleep": "^1.0.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, + "@ethereumjs/common": "^2.5.0", + "@ethereumjs/tx": "^3.3.2", + "crypto-browserify": "3.12.0", + "eth-lib": "0.2.8", + "ethereumjs-util": "^7.0.10", + "scrypt-js": "^3.0.1", + "uuid": "3.3.2", + "web3-core": "1.7.3", + "web3-core-helpers": "1.7.3", + "web3-core-method": "1.7.3", + "web3-utils": "1.7.3" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.0" } }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "node_modules/web3/node_modules/web3-eth-contract": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.7.3.tgz", + "integrity": "sha512-7mjkLxCNMWlQrlfM/MmNnlKRHwFk5XrZcbndoMt3KejcqDP6dPHi2PZLutEcw07n/Sk8OMpSamyF3QiGfmyRxw==", "dev": true, "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "@types/bn.js": "^4.11.5", + "web3-core": "1.7.3", + "web3-core-helpers": "1.7.3", + "web3-core-method": "1.7.3", + "web3-core-promievent": "1.7.3", + "web3-core-subscriptions": "1.7.3", + "web3-eth-abi": "1.7.3", + "web3-utils": "1.7.3" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "node_modules/web3/node_modules/web3-eth-ens": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.7.3.tgz", + "integrity": "sha512-q7+hFGHIc0mBI3LwgRVcLCQmp6GItsWgUtEZ5bjwdjOnJdbjYddm7PO9RDcTDQ6LIr7hqYaY4WTRnDHZ6BEt5Q==", "dev": true, "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "content-hash": "^2.5.2", + "eth-ens-namehash": "2.0.8", + "web3-core": "1.7.3", + "web3-core-helpers": "1.7.3", + "web3-core-promievent": "1.7.3", + "web3-eth-abi": "1.7.3", + "web3-eth-contract": "1.7.3", + "web3-utils": "1.7.3" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "node_modules/web3/node_modules/web3-eth-iban": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.7.3.tgz", + "integrity": "sha512-1GPVWgajwhh7g53mmYDD1YxcftQniIixMiRfOqlnA1w0mFGrTbCoPeVaSQ3XtSf+rYehNJIZAUeDBnONVjXXmg==", "dev": true, "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "bn.js": "^4.11.9", + "web3-utils": "1.7.3" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", - "dev": true - }, - "node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "node_modules/web3/node_modules/web3-eth-personal": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.7.3.tgz", + "integrity": "sha512-iTLz2OYzEsJj2qGE4iXC1Gw+KZN924fTAl0ESBFs2VmRhvVaM7GFqZz/wx7/XESl3GVxGxlRje3gNK0oGIoYYQ==", "dev": true, + "dependencies": { + "@types/node": "^12.12.6", + "web3-core": "1.7.3", + "web3-core-helpers": "1.7.3", + "web3-core-method": "1.7.3", + "web3-net": "1.7.3", + "web3-utils": "1.7.3" + }, "engines": { - "node": ">= 10.x" + "node": ">=8.0.0" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "node_modules/web3/node_modules/web3-net": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.7.3.tgz", + "integrity": "sha512-zAByK0Qrr71k9XW0Adtn+EOuhS9bt77vhBO6epAeQ2/VKl8rCGLAwrl3GbeEl7kWa8s/su72cjI5OetG7cYR0g==", "dev": true, "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" + "web3-core": "1.7.3", + "web3-core-method": "1.7.3", + "web3-utils": "1.7.3" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.0" } }, - "node_modules/sshpk/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true - }, - "node_modules/stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "node_modules/web3/node_modules/web3-providers-http": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.7.3.tgz", + "integrity": "sha512-TQJfMsDQ5Uq9zGMYlu7azx1L7EvxW+Llks3MaWn3cazzr5tnrDbGh6V17x6LN4t8tFDHWx0rYKr3mDPqyTjOZw==", "dev": true, + "dependencies": { + "web3-core-helpers": "1.7.3", + "xhr2-cookies": "1.1.0" + }, "engines": { - "node": "*" + "node": ">=8.0.0" } }, - "node_modules/stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "node_modules/web3/node_modules/web3-providers-ipc": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.7.3.tgz", + "integrity": "sha512-Z4EGdLKzz6I1Bw+VcSyqVN4EJiT2uAro48Am1eRvxUi4vktGoZtge1ixiyfrRIVb6nPe7KnTFl30eQBtMqS0zA==", "dev": true, "dependencies": { - "escape-string-regexp": "^2.0.0" + "oboe": "2.1.5", + "web3-core-helpers": "1.7.3" }, "engines": { - "node": ">=10" + "node": ">=8.0.0" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "node_modules/web3/node_modules/web3-providers-ws": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.7.3.tgz", + "integrity": "sha512-PpykGbkkkKtxPgv7U4ny4UhnkqSZDfLgBEvFTXuXLAngbX/qdgfYkhIuz3MiGplfL7Yh93SQw3xDjImXmn2Rgw==", "dev": true, + "dependencies": { + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.7.3", + "websocket": "^1.0.32" + }, "engines": { - "node": ">=8" + "node": ">=8.0.0" } }, - "node_modules/stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "node_modules/web3/node_modules/web3-shh": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.7.3.tgz", + "integrity": "sha512-bQTSKkyG7GkuULdZInJ0osHjnmkHij9tAySibpev1XjYdjLiQnd0J9YGF4HjvxoG3glNROpuCyTaRLrsLwaZuw==", "dev": true, + "hasInstallScript": true, "dependencies": { - "type-fest": "^0.7.1" + "web3-core": "1.7.3", + "web3-core-method": "1.7.3", + "web3-core-subscriptions": "1.7.3", + "web3-net": "1.7.3" }, "engines": { - "node": ">=6" + "node": ">=8.0.0" } }, - "node_modules/stacktrace-parser/node_modules/type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "node_modules/web3/node_modules/web3-utils": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.3.tgz", + "integrity": "sha512-g6nQgvb/bUpVUIxJE+ezVN+rYwYmlFyMvMIRSuqpi1dk6ApDD00YNArrk7sPcZnjvxOJ76813Xs2vIN2rgh4lg==", "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "ethereum-bloom-filters": "^1.0.6", + "ethereumjs-util": "^7.1.0", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, "engines": { - "node": ">=8" + "node": ">=8.0.0" } }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/websocket": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", + "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", "dev": true, + "dependencies": { + "bufferutil": "^4.0.1", + "debug": "^2.2.0", + "es5-ext": "^0.10.50", + "typedarray-to-buffer": "^3.1.5", + "utf-8-validate": "^5.0.2", + "yaeti": "^0.0.6" + }, "engines": { - "node": ">= 0.8" + "node": ">=4.0.0" } }, - "node_modules/stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", + "node_modules/websocket/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/stream-browserify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", - "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "node_modules/websocket/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, "dependencies": { - "inherits": "~2.0.4", - "readable-stream": "^3.5.0" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, - "node_modules/stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/stream-combiner2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/stream-combiner2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", "dev": true }, - "node_modules/stream-combiner2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "optional": true, + "peer": true, + "engines": { + "node": ">=4" } }, - "node_modules/stream-http": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", - "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", + "node_modules/which-typed-array": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz", + "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==", "dev": true, "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "xtend": "^4.0.2" + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.20.0", + "for-each": "^0.3.3", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/stream-splicer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", - "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", + "node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" + "string-width": "^1.0.2 || 2" } }, - "node_modules/stream-splicer/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/window-size": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", + "integrity": "sha512-UD7d8HFA2+PZsbKyaOCEy8gMh1oDtHgJh1LfgjQ4zVXmYjAT/kvz3PueITKuqDiIXQe7yzpPnxX3lNc+AhQMyw==", "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "bin": { + "window-size": "cli.js" + }, + "engines": { + "node": ">= 0.10.0" } }, - "node_modules/stream-splicer/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", "dev": true }, - "node_modules/stream-splicer/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/workerpool": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", + "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, "engines": { - "node": ">=10.0.0" + "node": ">=6" } }, - "node_modules/strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { - "safe-buffer": "~5.2.0" + "color-name": "1.1.3" } }, - "node_modules/string-format": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", - "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==", + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, - "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "dependencies": { + "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "strip-ansi": "^5.1.0" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", "dev": true, "dependencies": { - "ansi-regex": "^3.0.0" + "mkdirp": "^0.5.1" }, "engines": { "node": ">=4" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", - "dev": true, - "dependencies": { - "is-utf8": "^0.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", - "dev": true, - "dependencies": { - "is-hex-prefixed": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", "dev": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/subarg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", - "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==", - "dev": true, - "dependencies": { - "minimist": "^1.1.0" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" + "node": ">=8.3.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/swap-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", - "integrity": "sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==", - "dev": true, - "dependencies": { - "lower-case": "^1.1.1", - "upper-case": "^1.1.1" - } - }, - "node_modules/swarm-js": { - "version": "0.1.40", - "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.40.tgz", - "integrity": "sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==", - "dev": true, - "dependencies": { - "bluebird": "^3.5.0", - "buffer": "^5.0.5", - "eth-lib": "^0.1.26", - "fs-extra": "^4.0.2", - "got": "^7.1.0", - "mime-types": "^2.1.16", - "mkdirp-promise": "^5.0.1", - "mock-fs": "^4.1.0", - "setimmediate": "^1.0.5", - "tar": "^4.0.2", - "xhr-request": "^1.0.1" - } - }, - "node_modules/swarm-js/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "peerDependenciesMeta": { + "bufferutil": { + "optional": true }, - { - "type": "consulting", - "url": "https://feross.org/support" + "utf-8-validate": { + "optional": true } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/swarm-js/node_modules/eth-lib": { - "version": "0.1.29", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", - "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/swarm-js/node_modules/fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "node_modules/swarm-js/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/swarm-js/node_modules/got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "dev": true, - "dependencies": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/swarm-js/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/swarm-js/node_modules/p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/swarm-js/node_modules/p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha512-gb0ryzr+K2qFqFv6qi3khoeqMZF/+ajxQipEF6NteZVnvz9tzdsfAVj3lYtn1gAXvH5lfLwfxEII799gt/mRIA==", - "dev": true, - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/swarm-js/node_modules/prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/swarm-js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/swarm-js/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/swarm-js/node_modules/url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==", - "dev": true, - "dependencies": { - "prepend-http": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/swarm-js/node_modules/ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, - "dependencies": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - }, - "node_modules/sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "dev": true, - "dependencies": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "dev": true, - "dependencies": { - "get-port": "^3.1.0" - } - }, - "node_modules/syntax-error": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", - "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", - "dev": true, - "dependencies": { - "acorn-node": "^1.2.0" - } - }, - "node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/table-layout": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", - "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", - "dev": true, - "dependencies": { - "array-back": "^4.0.1", - "deep-extend": "~0.6.0", - "typical": "^5.2.0", - "wordwrapjs": "^4.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/table-layout/node_modules/array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/table-layout/node_modules/typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/table/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/table/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "dev": true, - "dependencies": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" - }, - "engines": { - "node": ">=4.5" - } - }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" } }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "node_modules/xhr": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" } }, - "node_modules/tar/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/test-value": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz", - "integrity": "sha512-+1epbAxtKeXttkGFMTX9H42oqzOTufR1ceCF+GYA5aOmvaPq9wd4PUS8329fn2RRLGNeUkgRLnVpycjx8DsO2w==", + "node_modules/xhr-request": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", + "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", "dev": true, "dependencies": { - "array-back": "^1.0.3", - "typical": "^2.6.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/test-value/node_modules/array-back": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", - "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==", - "dev": true, - "dependencies": { - "typical": "^2.6.0" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/test-value/node_modules/typical": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", - "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==", - "dev": true - }, - "node_modules/testrpc": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", - "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==", - "deprecated": "testrpc has been renamed to ganache-cli, please use this package from now on.", - "dev": true - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "dev": true, - "dependencies": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/then-request/node_modules/@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", - "dev": true - }, - "node_modules/then-request/node_modules/form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/thread-stream": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.3.0.tgz", - "integrity": "sha512-kaDqm1DET9pp3NXwR8382WHbnpXnRkN9xGN9dQt3B2+dmXiW8X1SOwmFOxAErEQ47ObhZ96J6yhZNXuyCOL7KA==", - "dev": true, - "dependencies": { - "real-require": "^0.2.0" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/through2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/through2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/timers-browserify": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==", - "dev": true, - "dependencies": { - "process": "~0.11.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/title-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz", - "integrity": "sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==", - "dev": true, - "dependencies": { - "no-case": "^2.2.0", - "upper-case": "^1.0.3" - } - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "node_modules/treeify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz", - "integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/true-case-path": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", - "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==", - "dev": true - }, - "node_modules/ts-command-line-args": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.5.0.tgz", - "integrity": "sha512-Ff7Xt04WWCjj/cmPO9eWTJX3qpBZWuPWyQYG1vnxJao+alWWYjwJBc5aYz3h5p5dE08A6AnpkgiCtP/0KXXBYw==", - "dev": true, - "dependencies": { - "@morgan-stanley/ts-mocking-bird": "^0.6.2", - "chalk": "^4.1.0", - "command-line-args": "^5.1.1", - "command-line-usage": "^6.1.0", - "string-format": "^2.0.0" - }, - "bin": { - "write-markdown": "dist/write-markdown.js" - } - }, - "node_modules/ts-essentials": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", - "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", - "dev": true, - "peerDependencies": { - "typescript": ">=3.7.0" - } - }, - "node_modules/ts-generator": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ts-generator/-/ts-generator-0.1.1.tgz", - "integrity": "sha512-N+ahhZxTLYu1HNTQetwWcx3so8hcYbkKBHTr4b4/YgObFTIKkOSSsaa+nal12w8mfrJAyzJfETXawbNjSfP2gQ==", - "dev": true, - "dependencies": { - "@types/mkdirp": "^0.5.2", - "@types/prettier": "^2.1.1", - "@types/resolve": "^0.0.8", - "chalk": "^2.4.1", - "glob": "^7.1.2", - "mkdirp": "^0.5.1", - "prettier": "^2.1.2", - "resolve": "^1.8.1", - "ts-essentials": "^1.0.0" - }, - "bin": { - "ts-generator": "dist/cli/run.js" - } - }, - "node_modules/ts-generator/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ts-generator/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ts-generator/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/ts-generator/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/ts-generator/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ts-generator/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ts-generator/node_modules/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/ts-generator/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ts-generator/node_modules/ts-essentials": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-1.0.4.tgz", - "integrity": "sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==", - "dev": true - }, - "node_modules/ts-nats": { - "version": "1.2.14-2", - "resolved": "https://registry.npmjs.org/ts-nats/-/ts-nats-1.2.14-2.tgz", - "integrity": "sha512-b0nPczfd8Z4+LQ5C7xWW391qiPsWNidhZRB9yrumQ0hfRHAos4NVwodPIZd78e/so3zBW5LRifejaAJE/UzNXA==", - "deprecated": "nats now offers the async functionality directly", - "dev": true, - "dependencies": { - "nuid": "^1.1.2", - "ts-nkeys": "^1.0.16" - }, - "engines": { - "node": ">= 8.17.0" - } - }, - "node_modules/ts-natsutil": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ts-natsutil/-/ts-natsutil-1.1.1.tgz", - "integrity": "sha512-HWwOGCwdLl1qqpGDiGaNHaezZ0Ae36MJ0VrRa1Vr7KsnDj73SjL3o6bNbZT5cojW7Qzq9Zd+OAVuMaxVHTDNmQ==", - "dev": true, - "dependencies": { - "@provide/nats.ws": "^1.0.6", - "jsonwebtoken": "8.5.1", - "node-nats-streaming": "0.2.6", - "ts-nats": "1.2.14-2", - "uuid": "3.4.0" - } - }, - "node_modules/ts-natsutil/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/ts-nkeys": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/ts-nkeys/-/ts-nkeys-1.0.16.tgz", - "integrity": "sha512-1qrhAlavbm36wtW+7NtKOgxpzl+70NTF8xlz9mEhiA5zHMlMxjj3sEVKWm3pGZhHXE0Q3ykjrj+OSRVaYw+Dqg==", - "dev": true, - "dependencies": { - "tweetnacl": "^1.0.3" - } - }, - "node_modules/ts-node": { - "version": "8.10.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", - "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", - "dev": true, - "dependencies": { - "arg": "^4.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "typescript": ">=2.7" - } - }, - "node_modules/ts-node/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/tsconfig": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-5.0.3.tgz", - "integrity": "sha512-Cq65A3kVp6BbsUgg9DRHafaGmbMb9EhAc7fjWvudNWKjkbWrt43FnrtZt6awshH1R0ocfF2Z0uxock3lVqEgOg==", - "dev": true, - "dependencies": { - "any-promise": "^1.3.0", - "parse-json": "^2.2.0", - "strip-bom": "^2.0.0", - "strip-json-comments": "^2.0.0" - } - }, - "node_modules/tsconfig/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tsify": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/tsify/-/tsify-5.0.4.tgz", - "integrity": "sha512-XAZtQ5OMPsJFclkZ9xMZWkSNyMhMxEPsz3D2zu79yoKorH9j/DT4xCloJeXk5+cDhosEibu4bseMVjyPOAyLJA==", - "dev": true, - "dependencies": { - "convert-source-map": "^1.1.0", - "fs.realpath": "^1.0.0", - "object-assign": "^4.1.0", - "semver": "^6.1.0", - "through2": "^2.0.0", - "tsconfig": "^5.0.3" - }, - "engines": { - "node": ">=0.12" - }, - "peerDependencies": { - "browserify": ">= 10.x", - "typescript": ">= 2.8" - } - }, - "node_modules/tsify/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tsort": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", - "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tty-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", - "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", - "dev": true - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", - "dev": true - }, - "node_modules/tweetnacl-util": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==", - "dev": true - }, - "node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typechain": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/typechain/-/typechain-6.0.3.tgz", - "integrity": "sha512-NPyCl4bvUtcd2g5Xlqznv6w6i9N5nQLG/UOkazkkyMkjKmo7smpub5UIJ8DLUc/nrZSiV75jEmOjvC2W7d+qvg==", - "dev": true, - "dependencies": { - "@types/prettier": "^2.1.1", - "command-line-args": "^4.0.7", - "debug": "^4.1.1", - "fs-extra": "^7.0.0", - "glob": "^7.1.6", - "js-sha3": "^0.8.0", - "lodash": "^4.17.15", - "mkdirp": "^1.0.4", - "prettier": "^2.1.2", - "ts-essentials": "^7.0.1" - }, - "bin": { - "typechain": "dist/cli/cli.js" - }, - "peerDependencies": { - "typescript": ">=4.1.0" - } - }, - "node_modules/typechain/node_modules/array-back": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", - "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", - "dev": true, - "dependencies": { - "typical": "^2.6.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/typechain/node_modules/command-line-args": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-4.0.7.tgz", - "integrity": "sha512-aUdPvQRAyBvQd2n7jXcsMDz68ckBJELXNzBybCHOibUWEg0mWTnaYCSRU8h9R+aNRSvDihJtssSRCiDRpLaezA==", - "dev": true, - "dependencies": { - "array-back": "^2.0.0", - "find-replace": "^1.0.3", - "typical": "^2.6.1" - }, - "bin": { - "command-line-args": "bin/cli.js" - } - }, - "node_modules/typechain/node_modules/find-replace": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-1.0.3.tgz", - "integrity": "sha512-KrUnjzDCD9426YnCP56zGYy/eieTnhtK6Vn++j+JJzmlsWWwEkDnsyVF575spT6HJ6Ow9tlbT3TQTDsa+O4UWA==", - "dev": true, - "dependencies": { - "array-back": "^1.0.4", - "test-value": "^2.1.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/typechain/node_modules/find-replace/node_modules/array-back": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", - "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==", - "dev": true, - "dependencies": { - "typical": "^2.6.0" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/typechain/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/typechain/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/typechain/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/typechain/node_modules/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/typechain/node_modules/typical": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", - "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==", - "dev": true - }, - "node_modules/typechain/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz", - "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/u2f-api": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/u2f-api/-/u2f-api-0.2.7.tgz", - "integrity": "sha512-fqLNg8vpvLOD5J/z4B6wpPg4Lvowz1nJ9xdHcCzdUPKcFE/qNCceV2gNZxSJd5vhAZemHr/K/hbzVA0zxB5mkg==", - "dev": true, - "peer": true - }, - "node_modules/uglify-js": { - "version": "3.16.1", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.1.tgz", - "integrity": "sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ==", - "dev": true, - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", - "dev": true - }, - "node_modules/umd": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", - "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", - "dev": true, - "bin": { - "umd": "bin/cli.js" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undeclared-identifiers": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", - "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", - "dev": true, - "dependencies": { - "acorn-node": "^1.3.0", - "dash-ast": "^1.0.0", - "get-assigned-identifiers": "^1.2.0", - "simple-concat": "^1.0.0", - "xtend": "^4.0.1" - }, - "bin": { - "undeclared-identifiers": "bin.js" - } - }, - "node_modules/undici": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.22.0.tgz", - "integrity": "sha512-fR9RXCc+6Dxav4P9VV/sp5w3eFiSdOjJYsbtWfd4s5L5C4ogyuVpdKIVHeW0vV1MloM65/f7W45nR9ZxwVdyiA==", - "dev": true, - "dependencies": { - "busboy": "^1.6.0" - }, - "engines": { - "node": ">=14.0" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", - "dev": true - }, - "node_modules/upper-case-first": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", - "integrity": "sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ==", - "dev": true, - "dependencies": { - "upper-case": "^1.1.1" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", - "dev": true, - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", - "dev": true, - "dependencies": { - "prepend-http": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/url-set-query": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", - "integrity": "sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==", - "dev": true - }, - "node_modules/url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", - "dev": true - }, - "node_modules/usb": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/usb/-/usb-1.9.2.tgz", - "integrity": "sha512-dryNz030LWBPAf6gj8vyq0Iev3vPbCLHCT8dBw3gQRXRzVNsIdeuU+VjPp3ksmSPkeMAl1k+kQ14Ij0QHyeiAg==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "peer": true, - "dependencies": { - "node-addon-api": "^4.2.0", - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=10.16.0" - } - }, - "node_modules/usb/node_modules/node-addon-api": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", - "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/utf-8-validate": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", - "integrity": "sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } - }, - "node_modules/utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", - "dev": true - }, - "node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/uuid-parse": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uuid-parse/-/uuid-parse-1.1.0.tgz", - "integrity": "sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==", - "dev": true - }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==", - "dev": true - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "node_modules/web3": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.7.3.tgz", - "integrity": "sha512-UgBvQnKIXncGYzsiGacaiHtm0xzQ/JtGqcSO/ddzQHYxnNuwI72j1Pb4gskztLYihizV9qPNQYHMSCiBlStI9A==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "web3-bzz": "1.7.3", - "web3-core": "1.7.3", - "web3-eth": "1.7.3", - "web3-eth-personal": "1.7.3", - "web3-net": "1.7.3", - "web3-shh": "1.7.3", - "web3-utils": "1.7.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-bzz": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.5.3.tgz", - "integrity": "sha512-SlIkAqG0eS6cBS9Q2eBOTI1XFzqh83RqGJWnyrNZMDxUwsTVHL+zNnaPShVPvrWQA1Ub5b0bx1Kc5+qJVxsTJg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@types/node": "^12.12.6", - "got": "9.6.0", - "swarm-js": "^0.1.40" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-bzz/node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "node_modules/web3-core": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.5.3.tgz", - "integrity": "sha512-ACTbu8COCu+0eUNmd9pG7Q9EVsNkAg2w3Y7SqhDr+zjTgbSHZV01jXKlapm9z+G3AN/BziV3zGwudClJ4u4xXQ==", - "dev": true, - "dependencies": { - "@types/bn.js": "^4.11.5", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.5.3", - "web3-core-method": "1.5.3", - "web3-core-requestmanager": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-helpers": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.3.tgz", - "integrity": "sha512-Ip1IjB3S8vN7Kf1PPjK41U5gskmMk6IJQlxIVuS8/1U7n/o0jC8krqtpRwiMfAgYyw3TXwBFtxSRTvJtnLyXZw==", - "dev": true, - "dependencies": { - "web3-eth-iban": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-helpers/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-core-helpers/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-method": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.5.3.tgz", - "integrity": "sha512-8wJrwQ2qD9ibWieF9oHXwrJsUGrv3XAtEkNeyvyNMpktNTIjxJ2jaFGQUuLiyUrMubD18XXgLk4JS6PJU4Loeg==", - "dev": true, - "dependencies": { - "@ethereumjs/common": "^2.4.0", - "@ethersproject/transactions": "^5.0.0-beta.135", - "web3-core-helpers": "1.5.3", - "web3-core-promievent": "1.5.3", - "web3-core-subscriptions": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-method/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-core-method/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-promievent": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.3.tgz", - "integrity": "sha512-CFfgqvk3Vk6PIAxtLLuX+pOMozxkKCY+/GdGr7weMh033mDXEPvwyVjoSRO1PqIKj668/hMGQsVoIgbyxkJ9Mg==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-promievent/node_modules/eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - }, - "node_modules/web3-core-requestmanager": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.5.3.tgz", - "integrity": "sha512-9k/Bze2rs8ONix5IZR+hYdMNQv+ark2Ek2kVcrFgWO+LdLgZui/rn8FikPunjE+ub7x7pJaKCgVRbYFXjo3ZWg==", - "dev": true, - "dependencies": { - "util": "^0.12.0", - "web3-core-helpers": "1.5.3", - "web3-providers-http": "1.5.3", - "web3-providers-ipc": "1.5.3", - "web3-providers-ws": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-subscriptions": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.5.3.tgz", - "integrity": "sha512-L2m9vG1iRN6thvmv/HQwO2YLhOQlmZU8dpLG6GSo9FBN14Uch868Swk0dYVr3rFSYjZ/GETevSXU+O+vhCummA==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-subscriptions/node_modules/eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - }, - "node_modules/web3-core/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/web3-core/node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "node_modules/web3-core/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-core/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.5.3.tgz", - "integrity": "sha512-saFurA1L23Bd7MEf7cBli6/jRdMhD4X/NaMiO2mdMMCXlPujoudlIJf+VWpRWJpsbDFdu7XJ2WHkmBYT5R3p1Q==", - "dev": true, - "dependencies": { - "web3-core": "1.5.3", - "web3-core-helpers": "1.5.3", - "web3-core-method": "1.5.3", - "web3-core-subscriptions": "1.5.3", - "web3-eth-abi": "1.5.3", - "web3-eth-accounts": "1.5.3", - "web3-eth-contract": "1.5.3", - "web3-eth-ens": "1.5.3", - "web3-eth-iban": "1.5.3", - "web3-eth-personal": "1.5.3", - "web3-net": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-abi": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.5.3.tgz", - "integrity": "sha512-i/qhuFsoNrnV130CSRYX/z4SlCfSQ4mHntti5yTmmQpt70xZKYZ57BsU0R29ueSQ9/P+aQrL2t2rqkQkAloUxg==", - "dev": true, - "dependencies": { - "@ethersproject/abi": "5.0.7", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-abi/node_modules/@ethersproject/abi": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "dev": true, - "dependencies": { - "@ethersproject/address": "^5.0.4", - "@ethersproject/bignumber": "^5.0.7", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.4", - "@ethersproject/hash": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/strings": "^5.0.4" - } - }, - "node_modules/web3-eth-abi/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-eth-abi/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-accounts": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.5.3.tgz", - "integrity": "sha512-pdGhXgeBaEJENMvRT6W9cmji3Zz/46ugFSvmnLLw79qi5EH7XJhKISNVb41eWCrs4am5GhI67GLx5d2s2a72iw==", - "dev": true, - "dependencies": { - "@ethereumjs/common": "^2.3.0", - "@ethereumjs/tx": "^3.2.1", - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.8", - "ethereumjs-util": "^7.0.10", - "scrypt-js": "^3.0.1", - "uuid": "3.3.2", - "web3-core": "1.5.3", - "web3-core-helpers": "1.5.3", - "web3-core-method": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-accounts/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-eth-accounts/node_modules/uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/web3-eth-accounts/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-contract": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.5.3.tgz", - "integrity": "sha512-Gdlt1L6cdHe83k7SdV6xhqCytVtOZkjD0kY/15x441AuuJ4JLubCHuqu69k2Dr3tWifHYVys/vG8QE/W16syGg==", - "dev": true, - "dependencies": { - "@types/bn.js": "^4.11.5", - "web3-core": "1.5.3", - "web3-core-helpers": "1.5.3", - "web3-core-method": "1.5.3", - "web3-core-promievent": "1.5.3", - "web3-core-subscriptions": "1.5.3", - "web3-eth-abi": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-contract/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/web3-eth-contract/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-eth-contract/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-ens": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.5.3.tgz", - "integrity": "sha512-QmGFFtTGElg0E+3xfCIFhiUF+1imFi9eg/cdsRMUZU4F1+MZCC/ee+IAelYLfNTGsEslCqfAusliKOT9DdGGnw==", - "dev": true, - "dependencies": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "web3-core": "1.5.3", - "web3-core-helpers": "1.5.3", - "web3-core-promievent": "1.5.3", - "web3-eth-abi": "1.5.3", - "web3-eth-contract": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-ens/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-eth-ens/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-iban": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.3.tgz", - "integrity": "sha512-vMzmGqolYZvRHwP9P4Nf6G8uYM5aTLlQu2a34vz78p0KlDC+eV1th3+90Qeaupa28EG7OO0IT1F0BejiIauOPw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-iban/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-eth-iban/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-personal": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.5.3.tgz", - "integrity": "sha512-JzibJafR7ak/Icas8uvos3BmUNrZw1vShuNR5Cxjo+vteOC8XMqz1Vr7RH65B4bmlfb3bm9xLxetUHO894+Sew==", - "dev": true, - "dependencies": { - "@types/node": "^12.12.6", - "web3-core": "1.5.3", - "web3-core-helpers": "1.5.3", - "web3-core-method": "1.5.3", - "web3-net": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-personal/node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "node_modules/web3-eth-personal/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-eth-personal/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-eth/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-net": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.5.3.tgz", - "integrity": "sha512-0W/xHIPvgVXPSdLu0iZYnpcrgNnhzHMC888uMlGP5+qMCt8VuflUZHy7tYXae9Mzsg1kxaJAS5lHVNyeNw4CoQ==", - "dev": true, - "dependencies": { - "web3-core": "1.5.3", - "web3-core-method": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-net/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3-net/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-http": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.5.3.tgz", - "integrity": "sha512-5DpUyWGHtDAr2RYmBu34Fu+4gJuBAuNx2POeiJIooUtJ+Mu6pIx4XkONWH6V+Ez87tZAVAsFOkJRTYuzMr3rPw==", - "dev": true, - "dependencies": { - "web3-core-helpers": "1.5.3", - "xhr2-cookies": "1.1.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-ipc": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.5.3.tgz", - "integrity": "sha512-JmeAptugVpmXI39LGxUSAymx0NOFdgpuI1hGQfIhbEAcd4sv7fhfd5D+ZU4oLHbRI8IFr4qfGU0uhR8BXhDzlg==", - "dev": true, - "dependencies": { - "oboe": "2.1.5", - "web3-core-helpers": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-ws": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.5.3.tgz", - "integrity": "sha512-6DhTw4Q7nm5CFYEUHOJM0gAb3xFx+9gWpVveg3YxJ/ybR1BUvEWo3bLgIJJtX56cYX0WyY6DS35a7f0LOI1kVg==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.3", - "websocket": "^1.0.32" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-ws/node_modules/eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - }, - "node_modules/web3-shh": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.5.3.tgz", - "integrity": "sha512-COfEXfsqoV/BkcsNLRxQqnWc1Teb8/9GxdGag5GtPC5gQC/vsN+7hYVJUwNxY9LtJPKYTij2DHHnx6UkITng+Q==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "web3-core": "1.5.3", - "web3-core-method": "1.5.3", - "web3-core-subscriptions": "1.5.3", - "web3-net": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-utils": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.9.0.tgz", - "integrity": "sha512-p++69rCNNfu2jM9n5+VD/g26l+qkEOQ1m6cfRQCbH8ZRrtquTmrirJMgTmyOoax5a5XRYOuws14aypCOs51pdQ==", - "dev": true, - "dependencies": { - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-utils/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "node_modules/web3/node_modules/@ethersproject/abi": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "dev": true, - "dependencies": { - "@ethersproject/address": "^5.0.4", - "@ethersproject/bignumber": "^5.0.7", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.4", - "@ethersproject/hash": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/strings": "^5.0.4" - } - }, - "node_modules/web3/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/web3/node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "node_modules/web3/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/web3/node_modules/eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - }, - "node_modules/web3/node_modules/uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/web3/node_modules/web3-bzz": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.7.3.tgz", - "integrity": "sha512-y2i2IW0MfSqFc1JBhBSQ59Ts9xE30hhxSmLS13jLKWzie24/An5dnoGarp2rFAy20tevJu1zJVPYrEl14jiL5w==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@types/node": "^12.12.6", - "got": "9.6.0", - "swarm-js": "^0.1.40" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-core": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.7.3.tgz", - "integrity": "sha512-4RNxueGyevD1XSjdHE57vz/YWRHybpcd3wfQS33fgMyHZBVLFDNwhn+4dX4BeofVlK/9/cmPAokLfBUStZMLdw==", - "dev": true, - "dependencies": { - "@types/bn.js": "^4.11.5", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.7.3", - "web3-core-method": "1.7.3", - "web3-core-requestmanager": "1.7.3", - "web3-utils": "1.7.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-core-helpers": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.7.3.tgz", - "integrity": "sha512-qS2t6UKLhRV/6C7OFHtMeoHphkcA+CKUr2vfpxy4hubs3+Nj28K9pgiqFuvZiXmtEEwIAE2A28GBOC3RdcSuFg==", - "dev": true, - "dependencies": { - "web3-eth-iban": "1.7.3", - "web3-utils": "1.7.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-core-method": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.7.3.tgz", - "integrity": "sha512-SeF8YL/NVFbj/ddwLhJeS0io8y7wXaPYA2AVT0h2C2ESYkpvOtQmyw2Bc3aXxBmBErKcbOJjE2ABOKdUmLSmMA==", - "dev": true, - "dependencies": { - "@ethersproject/transactions": "^5.0.0-beta.135", - "web3-core-helpers": "1.7.3", - "web3-core-promievent": "1.7.3", - "web3-core-subscriptions": "1.7.3", - "web3-utils": "1.7.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-core-promievent": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.7.3.tgz", - "integrity": "sha512-+mcfNJLP8h2JqcL/UdMGdRVfTdm+bsoLzAFtLpazE4u9kU7yJUgMMAqnK59fKD3Zpke3DjaUJKwz1TyiGM5wig==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-core-requestmanager": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.7.3.tgz", - "integrity": "sha512-bC+jeOjPbagZi2IuL1J5d44f3zfPcgX+GWYUpE9vicNkPUxFBWRG+olhMo7L+BIcD57cTmukDlnz+1xBULAjFg==", - "dev": true, - "dependencies": { - "util": "^0.12.0", - "web3-core-helpers": "1.7.3", - "web3-providers-http": "1.7.3", - "web3-providers-ipc": "1.7.3", - "web3-providers-ws": "1.7.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-core-subscriptions": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.7.3.tgz", - "integrity": "sha512-/i1ZCLW3SDxEs5mu7HW8KL4Vq7x4/fDXY+yf/vPoDljlpvcLEOnI8y9r7om+0kYwvuTlM6DUHHafvW0221TyRQ==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.7.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-eth": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.7.3.tgz", - "integrity": "sha512-BCIRMPwaMlTCbswXyGT6jj9chCh9RirbDFkPtvqozfQ73HGW7kP78TXXf9+Xdo1GjutQfxi/fQ9yPdxtDJEpDA==", - "dev": true, - "dependencies": { - "web3-core": "1.7.3", - "web3-core-helpers": "1.7.3", - "web3-core-method": "1.7.3", - "web3-core-subscriptions": "1.7.3", - "web3-eth-abi": "1.7.3", - "web3-eth-accounts": "1.7.3", - "web3-eth-contract": "1.7.3", - "web3-eth-ens": "1.7.3", - "web3-eth-iban": "1.7.3", - "web3-eth-personal": "1.7.3", - "web3-net": "1.7.3", - "web3-utils": "1.7.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-eth-abi": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.3.tgz", - "integrity": "sha512-ZlD8DrJro0ocnbZViZpAoMX44x5aYAb73u2tMq557rMmpiluZNnhcCYF/NnVMy6UIkn7SF/qEA45GXA1ne6Tnw==", - "dev": true, - "dependencies": { - "@ethersproject/abi": "5.0.7", - "web3-utils": "1.7.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-eth-accounts": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.7.3.tgz", - "integrity": "sha512-aDaWjW1oJeh0LeSGRVyEBiTe/UD2/cMY4dD6pQYa8dOhwgMtNQjxIQ7kacBBXe7ZKhjbIFZDhvXN4mjXZ82R2Q==", - "dev": true, - "dependencies": { - "@ethereumjs/common": "^2.5.0", - "@ethereumjs/tx": "^3.3.2", - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.8", - "ethereumjs-util": "^7.0.10", - "scrypt-js": "^3.0.1", - "uuid": "3.3.2", - "web3-core": "1.7.3", - "web3-core-helpers": "1.7.3", - "web3-core-method": "1.7.3", - "web3-utils": "1.7.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-eth-contract": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.7.3.tgz", - "integrity": "sha512-7mjkLxCNMWlQrlfM/MmNnlKRHwFk5XrZcbndoMt3KejcqDP6dPHi2PZLutEcw07n/Sk8OMpSamyF3QiGfmyRxw==", - "dev": true, - "dependencies": { - "@types/bn.js": "^4.11.5", - "web3-core": "1.7.3", - "web3-core-helpers": "1.7.3", - "web3-core-method": "1.7.3", - "web3-core-promievent": "1.7.3", - "web3-core-subscriptions": "1.7.3", - "web3-eth-abi": "1.7.3", - "web3-utils": "1.7.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-eth-ens": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.7.3.tgz", - "integrity": "sha512-q7+hFGHIc0mBI3LwgRVcLCQmp6GItsWgUtEZ5bjwdjOnJdbjYddm7PO9RDcTDQ6LIr7hqYaY4WTRnDHZ6BEt5Q==", - "dev": true, - "dependencies": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "web3-core": "1.7.3", - "web3-core-helpers": "1.7.3", - "web3-core-promievent": "1.7.3", - "web3-eth-abi": "1.7.3", - "web3-eth-contract": "1.7.3", - "web3-utils": "1.7.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-eth-iban": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.7.3.tgz", - "integrity": "sha512-1GPVWgajwhh7g53mmYDD1YxcftQniIixMiRfOqlnA1w0mFGrTbCoPeVaSQ3XtSf+rYehNJIZAUeDBnONVjXXmg==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "web3-utils": "1.7.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-eth-personal": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.7.3.tgz", - "integrity": "sha512-iTLz2OYzEsJj2qGE4iXC1Gw+KZN924fTAl0ESBFs2VmRhvVaM7GFqZz/wx7/XESl3GVxGxlRje3gNK0oGIoYYQ==", - "dev": true, - "dependencies": { - "@types/node": "^12.12.6", - "web3-core": "1.7.3", - "web3-core-helpers": "1.7.3", - "web3-core-method": "1.7.3", - "web3-net": "1.7.3", - "web3-utils": "1.7.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-net": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.7.3.tgz", - "integrity": "sha512-zAByK0Qrr71k9XW0Adtn+EOuhS9bt77vhBO6epAeQ2/VKl8rCGLAwrl3GbeEl7kWa8s/su72cjI5OetG7cYR0g==", - "dev": true, - "dependencies": { - "web3-core": "1.7.3", - "web3-core-method": "1.7.3", - "web3-utils": "1.7.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-providers-http": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.7.3.tgz", - "integrity": "sha512-TQJfMsDQ5Uq9zGMYlu7azx1L7EvxW+Llks3MaWn3cazzr5tnrDbGh6V17x6LN4t8tFDHWx0rYKr3mDPqyTjOZw==", - "dev": true, - "dependencies": { - "web3-core-helpers": "1.7.3", - "xhr2-cookies": "1.1.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-providers-ipc": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.7.3.tgz", - "integrity": "sha512-Z4EGdLKzz6I1Bw+VcSyqVN4EJiT2uAro48Am1eRvxUi4vktGoZtge1ixiyfrRIVb6nPe7KnTFl30eQBtMqS0zA==", - "dev": true, - "dependencies": { - "oboe": "2.1.5", - "web3-core-helpers": "1.7.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-providers-ws": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.7.3.tgz", - "integrity": "sha512-PpykGbkkkKtxPgv7U4ny4UhnkqSZDfLgBEvFTXuXLAngbX/qdgfYkhIuz3MiGplfL7Yh93SQw3xDjImXmn2Rgw==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.7.3", - "websocket": "^1.0.32" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-shh": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.7.3.tgz", - "integrity": "sha512-bQTSKkyG7GkuULdZInJ0osHjnmkHij9tAySibpev1XjYdjLiQnd0J9YGF4HjvxoG3glNROpuCyTaRLrsLwaZuw==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "web3-core": "1.7.3", - "web3-core-method": "1.7.3", - "web3-core-subscriptions": "1.7.3", - "web3-net": "1.7.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/web3-utils": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.3.tgz", - "integrity": "sha512-g6nQgvb/bUpVUIxJE+ezVN+rYwYmlFyMvMIRSuqpi1dk6ApDD00YNArrk7sPcZnjvxOJ76813Xs2vIN2rgh4lg==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "node_modules/websocket": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", - "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", - "dev": true, - "dependencies": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/websocket/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/websocket/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", - "dev": true - }, - "node_modules/which-pm-runs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", - "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz", - "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.20.0", - "for-each": "^0.3.3", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, - "node_modules/window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha512-UD7d8HFA2+PZsbKyaOCEy8gMh1oDtHgJh1LfgjQ4zVXmYjAT/kvz3PueITKuqDiIXQe7yzpPnxX3lNc+AhQMyw==", - "dev": true, - "bin": { - "window-size": "cli.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "dev": true - }, - "node_modules/wordwrapjs": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", - "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", - "dev": true, - "dependencies": { - "reduce-flatten": "^2.0.0", - "typical": "^5.2.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/wordwrapjs/node_modules/typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/workerpool": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", - "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==", - "dev": true - }, - "node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "dependencies": { - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xhr": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", - "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", - "dev": true, - "dependencies": { - "global": "~4.4.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/xhr-request": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", - "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", - "dev": true, - "dependencies": { - "buffer-to-arraybuffer": "^0.0.5", - "object-assign": "^4.1.1", - "query-string": "^5.0.1", - "simple-get": "^2.7.0", - "timed-out": "^4.0.1", - "url-set-query": "^1.0.0", - "xhr": "^2.0.4" - } - }, - "node_modules/xhr-request-promise": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", - "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", - "dev": true, - "dependencies": { - "xhr-request": "^1.1.0" - } - }, - "node_modules/xhr2-cookies": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", - "integrity": "sha512-hjXUA6q+jl/bd8ADHcVfFsSPIf+tyLIjuO9TwJC9WI6JP2zKcS7C+p56I9kCLLsaCiNT035iYvEUUzdEFj/8+g==", - "dev": true, - "dependencies": { - "cookiejar": "^2.1.1" - } - }, - "node_modules/xmlhttprequest": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", - "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==", - "dev": true, - "engines": { - "node": ">=0.10.32" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", - "dev": true, - "dependencies": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "dev": true - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", - "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@connext/nxtp-contracts": { - "version": "0.2.1-rc.16", - "resolved": "https://registry.npmjs.org/@connext/nxtp-contracts/-/nxtp-contracts-0.2.1-rc.16.tgz", - "integrity": "sha512-TTI2oGca3C/vRlO8/N1b+LvOuZNmLL0vmteHrEay1YuqHvwIij4hFP8yc9ub83WNSzbIlIVYygdkDKn6H9Rtww==", - "dev": true, - "requires": { - "@connext/nxtp-utils": "0.2.1-rc.16", - "@gelatonetwork/relay-context": "2.1.0", - "@openzeppelin/hardhat-upgrades": "1.17.0", - "@typescript-eslint/eslint-plugin": "5.47.0", - "adv": "0.1.5", - "ajv": "8.11.2", - "dotenv": "16.0.3", - "eslint": "8.30.0", - "hardhat-deploy": "0.11.22", - "hardhat-diamond-abi": "3.0.1", - "hardhat-gas-reporter": "1.0.9", - "typechain": "8.1.1" - }, - "dependencies": { - "@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", - "dev": true, - "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", - "dev": true, - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", - "dev": true, - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "@ethersproject/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", - "dev": true, - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/rlp": "^5.7.0" - } - }, - "@ethersproject/base64": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0" - } - }, - "@ethersproject/basex": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" - } - }, - "@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", - "dev": true, - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", - "dev": true, - "requires": { - "@ethersproject/bignumber": "^5.7.0" - } - }, - "@ethersproject/contracts": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", - "dev": true, - "requires": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0" - } - }, - "@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", - "dev": true, - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", - "dev": true, - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "@ethersproject/json-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", - "dev": true, - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "@ethersproject/keccak256": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "js-sha3": "0.8.0" - } - }, - "@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", - "dev": true - }, - "@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", - "dev": true, - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" - } - }, - "@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", - "dev": true, - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", - "dev": true, - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "@ethersproject/random": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "hash.js": "1.1.7" - } - }, - "@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "@ethersproject/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", - "dev": true, - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", - "dev": true, - "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0" - } - }, - "@ethersproject/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", - "dev": true, - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", - "dev": true, - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/json-wallets": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "@ethersproject/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", - "dev": true, - "requires": { - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.47.0.tgz", - "integrity": "sha512-AHZtlXAMGkDmyLuLZsRpH3p4G/1iARIwc/T0vIem2YB+xW6pZaXYXzCBnZSF/5fdM97R9QqZWZ+h3iW10XgevQ==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.47.0", - "@typescript-eslint/type-utils": "5.47.0", - "@typescript-eslint/utils": "5.47.0", - "debug": "^4.3.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/parser": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.1.tgz", - "integrity": "sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==", - "dev": true, - "peer": true, - "requires": { - "@typescript-eslint/scope-manager": "5.59.1", - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/typescript-estree": "5.59.1", - "debug": "^4.3.4" - }, - "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz", - "integrity": "sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==", - "dev": true, - "peer": true, - "requires": { - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/visitor-keys": "5.59.1" - } - } - } - }, - "@typescript-eslint/types": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.1.tgz", - "integrity": "sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==", - "dev": true, - "peer": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz", - "integrity": "sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==", - "dev": true, - "peer": true, - "requires": { - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/visitor-keys": "5.59.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz", - "integrity": "sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==", - "dev": true, - "peer": true, - "requires": { - "@typescript-eslint/types": "5.59.1", - "eslint-visitor-keys": "^3.3.0" - } - }, - "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dev": true, - "requires": { - "follow-redirects": "^1.14.0" - } - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", - "dev": true - }, - "eslint": { - "version": "8.30.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.30.0.tgz", - "integrity": "sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==", - "dev": true, - "requires": { - "@eslint/eslintrc": "^1.4.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - } - } - }, - "eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "dev": true, - "requires": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "hardhat-deploy": { - "version": "0.11.22", - "resolved": "https://registry.npmjs.org/hardhat-deploy/-/hardhat-deploy-0.11.22.tgz", - "integrity": "sha512-ZhHVNB7Jo2l8Is+KIAk9F8Q3d7pptyiX+nsNbIFXztCz81kaP+6kxNODRBqRCy7SOD3It4+iKCL6tWsPAA/jVQ==", + "buffer-to-arraybuffer": "^0.0.5", + "object-assign": "^4.1.1", + "query-string": "^5.0.1", + "simple-get": "^2.7.0", + "timed-out": "^4.0.1", + "url-set-query": "^1.0.0", + "xhr": "^2.0.4" + } + }, + "node_modules/xhr-request-promise": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", + "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", + "dev": true, + "dependencies": { + "xhr-request": "^1.1.0" + } + }, + "node_modules/xhr2-cookies": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", + "integrity": "sha512-hjXUA6q+jl/bd8ADHcVfFsSPIf+tyLIjuO9TwJC9WI6JP2zKcS7C+p56I9kCLLsaCiNT035iYvEUUzdEFj/8+g==", + "dev": true, + "dependencies": { + "cookiejar": "^2.1.1" + } + }, + "node_modules/xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==", + "dev": true, + "engines": { + "node": ">=0.10.32" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/yargs-unparser": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "dev": true, + "dependencies": { + "flat": "^4.1.0", + "lodash": "^4.17.15", + "yargs": "^13.3.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "dev": true + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "@types/qs": "^6.9.7", - "axios": "^0.21.1", - "chalk": "^4.1.2", - "chokidar": "^3.5.2", - "debug": "^4.3.2", - "enquirer": "^2.3.6", - "ethers": "^5.5.3", - "form-data": "^4.0.0", - "fs-extra": "^10.0.0", - "match-all": "^1.2.6", - "murmur-128": "^0.2.1", - "qs": "^6.9.4", - "zksync-web3": "^0.8.1" + "color-convert": "^1.9.0" } }, - "hardhat-gas-reporter": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.9.tgz", - "integrity": "sha512-INN26G3EW43adGKBNzYWOlI3+rlLnasXTwW79YNnUhXPDa+yHESgt639dJEs37gCjhkbNKcRRJnomXEuMFBXJg==", + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { - "array-uniq": "1.0.3", - "eth-gas-reporter": "^0.2.25", - "sha1": "^1.1.1" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { - "p-locate": "^5.0.0" + "color-name": "1.1.3" } }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, - "prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, - "typechain": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.1.1.tgz", - "integrity": "sha512-uF/sUvnXTOVF2FHKhQYnxHk4su4JjZR8vr4mA2mBaRwHTbwh0jIlqARz9XJr1tA0l7afJGvEa1dTSi4zt039LQ==", + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "@types/prettier": "^2.1.1", - "debug": "^4.3.1", - "fs-extra": "^7.0.0", - "glob": "7.1.7", - "js-sha3": "^0.8.0", - "lodash": "^4.17.15", - "mkdirp": "^1.0.4", - "prettier": "^2.3.1", - "ts-command-line-args": "^2.2.0", - "ts-essentials": "^7.0.1" - }, - "dependencies": { - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } + "has-flag": "^3.0.0" } - }, - "zksync-web3": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/zksync-web3/-/zksync-web3-0.8.1.tgz", - "integrity": "sha512-1A4aHPQ3MyuGjpv5X/8pVEN+MdZqMjfVmiweQSRjOlklXYu65wT9BGEOtCmMs5d3gIvLp4ssfTeuR5OCKOD2kw==", - "dev": true, - "requires": {} - } - } - }, - "@connext/nxtp-utils": { - "version": "0.2.1-rc.16", - "resolved": "https://registry.npmjs.org/@connext/nxtp-utils/-/nxtp-utils-0.2.1-rc.16.tgz", - "integrity": "sha512-xiAvZAbI8g5cBpkGEci8RYwHPAojsWioK45adZd1jsG2CFQJk0WAIV6XtHxDf+6q5CbqmZWARgn6lhxN9CfI9A==", - "dev": true, - "requires": { - "@maticnetwork/maticjs": "3.5.0", - "@maticnetwork/maticjs-web3": "1.0.4", - "@sinclair/typebox": "0.25.16", - "@typescript-eslint/eslint-plugin": "5.47.0", - "ajv": "8.11.2", - "ajv-formats": "2.1.1", - "axios": "1.2.1", - "chai": "4.3.7", - "chai-as-promised": "7.1.1", - "chai-subset": "1.6.0", - "eslint": "8.30.0", - "ethers": "5.7.2", - "graphql-request": "5.1.0", - "hyperid": "3.0.1", - "merkletreejs": "0.3.9", - "p-queue": "6.6.2", - "pino": "8.8.0", - "proxyquire": "2.1.3", - "secp256k1": "4.0.3", - "sinon-chai": "3.7.0", - "ts-natsutil": "1.1.1" + } + } + }, + "@babel/runtime": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", + "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@decentral.ee/web3-helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@decentral.ee/web3-helpers/-/web3-helpers-0.5.3.tgz", + "integrity": "sha512-6ZS2zpAUdWXhyZ8U7A4HzianIk3v5n051+QEezNdF3uOI7hJ7ty/MjNhxL3QqfiR+4cxKEz20UiAyZkU6/e2jA==", + "dev": true, + "requires": { + "web3-utils": "^1.3.4" + } + }, + "@ensdomains/address-encoder": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/@ensdomains/address-encoder/-/address-encoder-0.1.9.tgz", + "integrity": "sha512-E2d2gP4uxJQnDu2Kfg1tHNspefzbLT8Tyjrm5sEuim32UkU2sm5xL4VXtgc2X33fmPEw9+jUMpGs4veMbf+PYg==", + "dev": true, + "requires": { + "bech32": "^1.1.3", + "blakejs": "^1.1.0", + "bn.js": "^4.11.8", + "bs58": "^4.0.1", + "crypto-addr-codec": "^0.1.7", + "nano-base32": "^1.0.1", + "ripemd160": "^2.0.2" + } + }, + "@ensdomains/ens": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", + "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", + "dev": true, + "requires": { + "bluebird": "^3.5.2", + "eth-ens-namehash": "^2.0.8", + "solc": "^0.4.20", + "testrpc": "0.0.1", + "web3-utils": "^1.0.0-beta.31" + } + }, + "@ensdomains/ensjs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@ensdomains/ensjs/-/ensjs-2.1.0.tgz", + "integrity": "sha512-GRbGPT8Z/OJMDuxs75U/jUNEC0tbL0aj7/L/QQznGYKm/tiasp+ndLOaoULy9kKJFC0TBByqfFliEHDgoLhyog==", + "dev": true, + "requires": { + "@babel/runtime": "^7.4.4", + "@ensdomains/address-encoder": "^0.1.7", + "@ensdomains/ens": "0.4.5", + "@ensdomains/resolver": "0.2.4", + "content-hash": "^2.5.2", + "eth-ens-namehash": "^2.0.8", + "ethers": "^5.0.13", + "js-sha3": "^0.8.0" }, "dependencies": { "@ethersproject/abi": { @@ -27111,166 +22208,12 @@ "@ethersproject/strings": "^5.7.0" } }, - "@typescript-eslint/eslint-plugin": { - "version": "5.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.47.0.tgz", - "integrity": "sha512-AHZtlXAMGkDmyLuLZsRpH3p4G/1iARIwc/T0vIem2YB+xW6pZaXYXzCBnZSF/5fdM97R9QqZWZ+h3iW10XgevQ==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.47.0", - "@typescript-eslint/type-utils": "5.47.0", - "@typescript-eslint/utils": "5.47.0", - "debug": "^4.3.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/parser": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.1.tgz", - "integrity": "sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==", - "dev": true, - "peer": true, - "requires": { - "@typescript-eslint/scope-manager": "5.59.1", - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/typescript-estree": "5.59.1", - "debug": "^4.3.4" - }, - "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz", - "integrity": "sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==", - "dev": true, - "peer": true, - "requires": { - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/visitor-keys": "5.59.1" - } - } - } - }, - "@typescript-eslint/types": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.1.tgz", - "integrity": "sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==", - "dev": true, - "peer": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz", - "integrity": "sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==", - "dev": true, - "peer": true, - "requires": { - "@typescript-eslint/types": "5.59.1", - "@typescript-eslint/visitor-keys": "5.59.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz", - "integrity": "sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==", - "dev": true, - "peer": true, - "requires": { - "@typescript-eslint/types": "5.59.1", - "eslint-visitor-keys": "^3.3.0" - } - }, "bn.js": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", "dev": true }, - "eslint": { - "version": "8.30.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.30.0.tgz", - "integrity": "sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==", - "dev": true, - "requires": { - "@eslint/eslintrc": "^1.4.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - } - } - }, - "eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, "ethers": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", @@ -27308,163 +22251,15 @@ "@ethersproject/web": "5.7.1", "@ethersproject/wordlists": "5.7.0" } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true } } }, - "@decentral.ee/web3-helpers": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@decentral.ee/web3-helpers/-/web3-helpers-0.5.3.tgz", - "integrity": "sha512-6ZS2zpAUdWXhyZ8U7A4HzianIk3v5n051+QEezNdF3uOI7hJ7ty/MjNhxL3QqfiR+4cxKEz20UiAyZkU6/e2jA==", - "dev": true, - "requires": { - "web3-utils": "^1.3.4" - } - }, - "@ensdomains/address-encoder": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/@ensdomains/address-encoder/-/address-encoder-0.1.9.tgz", - "integrity": "sha512-E2d2gP4uxJQnDu2Kfg1tHNspefzbLT8Tyjrm5sEuim32UkU2sm5xL4VXtgc2X33fmPEw9+jUMpGs4veMbf+PYg==", - "dev": true, - "requires": { - "bech32": "^1.1.3", - "blakejs": "^1.1.0", - "bn.js": "^4.11.8", - "bs58": "^4.0.1", - "crypto-addr-codec": "^0.1.7", - "nano-base32": "^1.0.1", - "ripemd160": "^2.0.2" - } - }, - "@ensdomains/ens": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", - "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", - "dev": true, - "requires": { - "bluebird": "^3.5.2", - "eth-ens-namehash": "^2.0.8", - "solc": "^0.4.20", - "testrpc": "0.0.1", - "web3-utils": "^1.0.0-beta.31" - } - }, - "@ensdomains/ensjs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@ensdomains/ensjs/-/ensjs-2.1.0.tgz", - "integrity": "sha512-GRbGPT8Z/OJMDuxs75U/jUNEC0tbL0aj7/L/QQznGYKm/tiasp+ndLOaoULy9kKJFC0TBByqfFliEHDgoLhyog==", - "dev": true, - "requires": { - "@babel/runtime": "^7.4.4", - "@ensdomains/address-encoder": "^0.1.7", - "@ensdomains/ens": "0.4.5", - "@ensdomains/resolver": "0.2.4", - "content-hash": "^2.5.2", - "eth-ens-namehash": "^2.0.8", - "ethers": "^5.0.13", - "js-sha3": "^0.8.0" - } - }, "@ensdomains/resolver": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==", "dev": true }, - "@eslint/eslintrc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", - "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - } - } - }, "@ethereumjs/block": { "version": "3.6.3", "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.6.3.tgz", @@ -28483,53 +23278,6 @@ "@ethersproject/strings": "^5.6.1" } }, - "@gelatonetwork/relay-context": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@gelatonetwork/relay-context/-/relay-context-2.1.0.tgz", - "integrity": "sha512-Pisn66Haq1OEBqrj9t8aPS2B7qX1j/AI0mDZNczeAws8JMn7PhZXLKcWYleAWUitlzFS59w4qS3Y/l7/8oWEiw==", - "dev": true, - "requires": { - "@openzeppelin/contracts": "4.8.0" - }, - "dependencies": { - "@openzeppelin/contracts": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.8.0.tgz", - "integrity": "sha512-AGuwhRRL+NaKx73WKRNzeCxOCOCxpaqF+kp8TJ89QzAipSwZy/NoflkWaL9bywXFRhIzXt8j38sfF7KBKCPWLw==", - "dev": true - } - } - }, - "@graphql-typed-document-node/core": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", - "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", - "dev": true, - "requires": {} - }, - "@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, "@jest/types": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", @@ -28743,474 +23491,6 @@ "dev": true, "peer": true }, - "@maticnetwork/maticjs": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@maticnetwork/maticjs/-/maticjs-3.5.0.tgz", - "integrity": "sha512-f7wZucF38Ii/nIBV9qqQzlEE33/IWCVaToSXIhGC3DaZZME9VlUf4cgt/n43hQouwYpmkpgEoTDDs3QzTr5UcQ==", - "dev": true, - "requires": { - "@ethereumjs/block": "^3.6.2", - "ethereumjs-util": "^7.1.4", - "merkle-patricia-tree": "^4.2.4", - "node-fetch": "^2.6.1" - } - }, - "@maticnetwork/maticjs-web3": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@maticnetwork/maticjs-web3/-/maticjs-web3-1.0.4.tgz", - "integrity": "sha512-cMnp42jjGNfVZRL80yUYfD9abcyUC2VpKvjFQtU44A3A0M9sbCtOOMMkE4k8FWoccxIPi891rtc+nowdNahKxg==", - "dev": true, - "requires": { - "web3": "^1.8.0" - }, - "dependencies": { - "@ethereumjs/common": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.5.0.tgz", - "integrity": "sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg==", - "dev": true, - "requires": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.1" - } - }, - "@ethereumjs/tx": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.3.2.tgz", - "integrity": "sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog==", - "dev": true, - "requires": { - "@ethereumjs/common": "^2.5.0", - "ethereumjs-util": "^7.1.2" - } - }, - "@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "dev": true - }, - "@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", - "dev": true, - "requires": { - "defer-to-connect": "^2.0.1" - } - }, - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "cacheable-request": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", - "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", - "dev": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true - } - } - }, - "decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dev": true, - "requires": { - "mimic-response": "^3.1.0" - } - }, - "defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "dev": true - }, - "eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "got": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-12.1.0.tgz", - "integrity": "sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig==", - "dev": true, - "requires": { - "@sindresorhus/is": "^4.6.0", - "@szmarczak/http-timer": "^5.0.1", - "@types/cacheable-request": "^6.0.2", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^6.0.4", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "form-data-encoder": "1.7.1", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^2.0.0" - } - }, - "json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "keyv": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", - "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", - "dev": true, - "requires": { - "json-buffer": "3.0.1" - } - }, - "lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", - "dev": true - }, - "mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "dev": true - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true - }, - "p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", - "dev": true - }, - "responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "dev": true, - "requires": { - "lowercase-keys": "^2.0.0" - }, - "dependencies": { - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true - } - } - }, - "uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", - "dev": true - }, - "web3": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.9.0.tgz", - "integrity": "sha512-E9IvVy/d2ozfQQsCiV+zh/LmlZGv9fQxI0UedDVjm87yOKf4AYbBNEn1iWtHveiGzAk2CEMZMUzAZzaQNSSYog==", - "dev": true, - "requires": { - "web3-bzz": "1.9.0", - "web3-core": "1.9.0", - "web3-eth": "1.9.0", - "web3-eth-personal": "1.9.0", - "web3-net": "1.9.0", - "web3-shh": "1.9.0", - "web3-utils": "1.9.0" - } - }, - "web3-bzz": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.9.0.tgz", - "integrity": "sha512-9Zli9dikX8GdHwBb5/WPzpSVuy3EWMKY3P4EokCQra31fD7DLizqAAaTUsFwnK7xYkw5ogpHgelw9uKHHzNajg==", - "dev": true, - "requires": { - "@types/node": "^12.12.6", - "got": "12.1.0", - "swarm-js": "^0.1.40" - } - }, - "web3-core": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.9.0.tgz", - "integrity": "sha512-DZ+TPmq/ZLlx4LSVzFgrHCP/QFpKDbGWO4HoquZSdu24cjk5SZ+FEU1SZB2OaK3/bgBh+25mRbmv8y56ysUu1w==", - "dev": true, - "requires": { - "@types/bn.js": "^5.1.1", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-core-requestmanager": "1.9.0", - "web3-utils": "1.9.0" - } - }, - "web3-core-helpers": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.9.0.tgz", - "integrity": "sha512-NeJzylAp9Yj9xAt2uTT+kyug3X0DLnfBdnAcGZuY6HhoNPDIfQRA9CkJjLngVRlGTLZGjNp9x9eR+RyZQgUlXg==", - "dev": true, - "requires": { - "web3-eth-iban": "1.9.0", - "web3-utils": "1.9.0" - } - }, - "web3-core-method": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.9.0.tgz", - "integrity": "sha512-sswbNsY2xRBBhGeaLt9c/eDc+0yDDhi6keUBAkgIRa9ueSx/VKzUY9HMqiV6bXDcGT2fJyejq74FfEB4lc/+/w==", - "dev": true, - "requires": { - "@ethersproject/transactions": "^5.6.2", - "web3-core-helpers": "1.9.0", - "web3-core-promievent": "1.9.0", - "web3-core-subscriptions": "1.9.0", - "web3-utils": "1.9.0" - } - }, - "web3-core-promievent": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.9.0.tgz", - "integrity": "sha512-PHG1Mn23IGwMZhnPDN8dETKypqsFbHfiyRqP+XsVMPmTHkVfzDQTCBU/c2r6hUktBDoGKut5xZQpGfhFk71KbQ==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4" - } - }, - "web3-core-requestmanager": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.9.0.tgz", - "integrity": "sha512-hcJ5PCtTIJpj+8qWxoseqlCovDo94JJjTX7dZOLXgwp8ah7E3WRYozhGyZocerx+KebKyg1mCQIhkDpMwjfo9Q==", - "dev": true, - "requires": { - "util": "^0.12.5", - "web3-core-helpers": "1.9.0", - "web3-providers-http": "1.9.0", - "web3-providers-ipc": "1.9.0", - "web3-providers-ws": "1.9.0" - } - }, - "web3-core-subscriptions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.9.0.tgz", - "integrity": "sha512-MaIo29yz7hTV8X8bioclPDbHFOVuHmnbMv+D3PDH12ceJFJAXGyW8GL5KU1DYyWIj4TD1HM4WknyVA/YWBiiLA==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.9.0" - } - }, - "web3-eth": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.9.0.tgz", - "integrity": "sha512-c5gSWk9bLNr6VPATHmZ1n7LTIefIZQnJMzfnvkoBcIFGKJbGmsuRhv6lEXsKdAO/FlqYnSbaw3fOq1fVFiIOFQ==", - "dev": true, - "requires": { - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-core-subscriptions": "1.9.0", - "web3-eth-abi": "1.9.0", - "web3-eth-accounts": "1.9.0", - "web3-eth-contract": "1.9.0", - "web3-eth-ens": "1.9.0", - "web3-eth-iban": "1.9.0", - "web3-eth-personal": "1.9.0", - "web3-net": "1.9.0", - "web3-utils": "1.9.0" - } - }, - "web3-eth-abi": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.9.0.tgz", - "integrity": "sha512-0BLQ3FKMrzJkA930jOX3fMaybAyubk06HChclLpiR0NWmgWXm1tmBrJdkyRy2ZTZpmfuZc9xTFRfl0yZID1voA==", - "dev": true, - "requires": { - "@ethersproject/abi": "^5.6.3", - "web3-utils": "1.9.0" - } - }, - "web3-eth-accounts": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.9.0.tgz", - "integrity": "sha512-VeIZVevmnSll0AC1k5F/y398ZE89d1SRuYk8IewLUhL/tVAsFEsjl2SGgm0+aDcHmgPrkW+qsCJ+C7rWg/N4ZA==", - "dev": true, - "requires": { - "@ethereumjs/common": "2.5.0", - "@ethereumjs/tx": "3.3.2", - "eth-lib": "0.2.8", - "ethereumjs-util": "^7.1.5", - "scrypt-js": "^3.0.1", - "uuid": "^9.0.0", - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-utils": "1.9.0" - } - }, - "web3-eth-contract": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.9.0.tgz", - "integrity": "sha512-+j26hpSaEtAdUed0TN5rnc+YZOcjPxMjFX4ZBKatvFkImdbVv/tzTvcHlltubSpgb2ZLyZ89lSL6phKYwd2zNQ==", - "dev": true, - "requires": { - "@types/bn.js": "^5.1.1", - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-core-promievent": "1.9.0", - "web3-core-subscriptions": "1.9.0", - "web3-eth-abi": "1.9.0", - "web3-utils": "1.9.0" - } - }, - "web3-eth-ens": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.9.0.tgz", - "integrity": "sha512-LOJZeN+AGe9arhuExnrPPFYQr4WSxXEkpvYIlst/joOEUNLDwfndHnJIK6PI5mXaYSROBtTx6erv+HupzGo7vA==", - "dev": true, - "requires": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-promievent": "1.9.0", - "web3-eth-abi": "1.9.0", - "web3-eth-contract": "1.9.0", - "web3-utils": "1.9.0" - } - }, - "web3-eth-iban": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.9.0.tgz", - "integrity": "sha512-jPAm77PuEs1kE/UrrBFJdPD2PN42pwfXA0gFuuw35bZezhskYML9W4QCxcqnUtceyEA4FUn7K2qTMuCk+23fog==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.9.0" - } - }, - "web3-eth-personal": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.9.0.tgz", - "integrity": "sha512-r9Ldo/luBqJlv1vCUEQnUS+C3a3ZdbYxVHyfDkj6RWMyCqqo8JE41HWE+pfa0RmB1xnGL2g8TbYcHcqItck/qg==", - "dev": true, - "requires": { - "@types/node": "^12.12.6", - "web3-core": "1.9.0", - "web3-core-helpers": "1.9.0", - "web3-core-method": "1.9.0", - "web3-net": "1.9.0", - "web3-utils": "1.9.0" - } - }, - "web3-net": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.9.0.tgz", - "integrity": "sha512-L+fDZFgrLM5Y15aonl2q6L+RvfaImAngmC0Jv45hV2FJ5IfRT0/2ob9etxZmvEBWvOpbqSvghfOhJIT3XZ37Pg==", - "dev": true, - "requires": { - "web3-core": "1.9.0", - "web3-core-method": "1.9.0", - "web3-utils": "1.9.0" - } - }, - "web3-providers-http": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.9.0.tgz", - "integrity": "sha512-5+dMNDAE0rRFz6SJpfnBqlVi2J5bB/Ivr2SanMt2YUrkxW5t8betZbzVwRkTbwtUvkqgj3xeUQzqpOttiv+IqQ==", - "dev": true, - "requires": { - "abortcontroller-polyfill": "^1.7.3", - "cross-fetch": "^3.1.4", - "es6-promise": "^4.2.8", - "web3-core-helpers": "1.9.0" - } - }, - "web3-providers-ipc": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.9.0.tgz", - "integrity": "sha512-cPXU93Du40HCylvjaa5x62DbnGqH+86HpK/+kMcFIzF6sDUBhKpag2tSbYhGbj7GMpfkmDTUiiMLdWnFV6+uBA==", - "dev": true, - "requires": { - "oboe": "2.1.5", - "web3-core-helpers": "1.9.0" - } - }, - "web3-providers-ws": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.9.0.tgz", - "integrity": "sha512-JRVsnQZ7j2k1a2yzBNHe39xqk1ijOv01dfIBFw52VeEkSRzvrOcsPIM/ttSyBuJqt70ntMxXY0ekCrqfleKH/w==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.9.0", - "websocket": "^1.0.32" - } - }, - "web3-shh": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.9.0.tgz", - "integrity": "sha512-bIBZlralgz4ICCrwkefB2nPPJWfx28NuHIpjB7d9ADKynElubQuqudYhKtSEkKXACuME/BJm0pIFJcJs/gDnMg==", - "dev": true, - "requires": { - "web3-core": "1.9.0", - "web3-core-method": "1.9.0", - "web3-core-subscriptions": "1.9.0", - "web3-net": "1.9.0" - } - } - } - }, "@metamask/eth-sig-util": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", @@ -29250,24 +23530,6 @@ } } }, - "@morgan-stanley/ts-mocking-bird": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@morgan-stanley/ts-mocking-bird/-/ts-mocking-bird-0.6.4.tgz", - "integrity": "sha512-57VJIflP8eR2xXa9cD1LUawh+Gh+BVQfVu0n6GALyg/AqV/Nz25kDRvws3i9kIe1PTrbsZZOYpsYp6bXPd6nVA==", - "dev": true, - "requires": { - "lodash": "^4.17.16", - "uuid": "^7.0.3" - }, - "dependencies": { - "uuid": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", - "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", - "dev": true - } - } - }, "@noble/hashes": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.1.tgz", @@ -29306,13 +23568,14 @@ "fastq": "^1.6.0" } }, - "@nomiclabs/hardhat-ethers": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.2.1.tgz", - "integrity": "sha512-RHWYwnxryWR8hzRmU4Jm/q4gzvXpetUOJ4OPlwH2YARcDB+j79+yAYCwO0lN1SUOb4++oOTJEe6AWLEc42LIvg==", + "@nomicfoundation/hardhat-network-helpers": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.8.tgz", + "integrity": "sha512-MNqQbzUJZnCMIYvlniC3U+kcavz/PhhQSsY90tbEtUyMj/IQqsLwIRZa4ctjABh3Bz0KCh9OXUZ7Yk/d9hr45Q==", "dev": true, - "peer": true, - "requires": {} + "requires": { + "ethereumjs-util": "^7.1.4" + } }, "@nomiclabs/hardhat-etherscan": { "version": "2.1.7", @@ -29472,17 +23735,6 @@ "integrity": "sha512-5OnVuO4HlkjSCJO165a4i2Pu1zQGzMs//o54LPrwUgxvEO2P3ax1QuaSI0cEHHTveA77guS0PnNugpR2JMsPfA==", "dev": true }, - "@openzeppelin/hardhat-upgrades": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/hardhat-upgrades/-/hardhat-upgrades-1.17.0.tgz", - "integrity": "sha512-GNxR3/3fCKQsFpBi/r+5ib6U81UM9KCypmcOQxuCkVp9JKJ80/3hQdg1R+AQku/dlnhutPsfkCokH2LZFc5mNA==", - "dev": true, - "requires": { - "@openzeppelin/upgrades-core": "^1.14.1", - "chalk": "^4.1.0", - "proper-lockfile": "^4.1.1" - } - }, "@openzeppelin/test-helpers": { "version": "0.5.15", "resolved": "https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.15.tgz", @@ -29515,36 +23767,6 @@ } } }, - "@openzeppelin/upgrades-core": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/@openzeppelin/upgrades-core/-/upgrades-core-1.16.1.tgz", - "integrity": "sha512-+hejbeAfsZWIQL5Ih13gkdm2KO6kbERc1ektzcyb25/OtUwaRjIIHxW++LdC/3Hg5uzThVOzJBfiLdAbgwD+OA==", - "dev": true, - "requires": { - "bn.js": "^5.1.2", - "cbor": "^8.0.0", - "chalk": "^4.1.0", - "compare-versions": "^4.0.0", - "debug": "^4.1.1", - "ethereumjs-util": "^7.0.3", - "proper-lockfile": "^4.1.1", - "solidity-ast": "^0.4.15" - }, - "dependencies": { - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - } - } - }, - "@provide/nats.ws": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@provide/nats.ws/-/nats.ws-1.0.6.tgz", - "integrity": "sha512-gUn7rBuCCmQlPGDK9hee6Pp0NRRAr2tsBOHN6YIv30L/ytZ2VHiCo1BtbQgoBesaMu3qK3/+GBhmpr2dd+YcXA==", - "dev": true - }, "@scure/base": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", @@ -29661,81 +23883,12 @@ "tslib": "^1.9.3" } }, - "@sinclair/typebox": { - "version": "0.25.16", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.16.tgz", - "integrity": "sha512-5sclbtYBKQ0W5hY8ovF/cBbQV+FWBZArd738hQpLgWUdlWyuOA0HOuYN178jUJRz0pXuL1+UYR+LCMvoR47osg==", - "dev": true - }, "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", "dev": true }, - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "peer": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz", - "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==", - "dev": true, - "peer": true, - "requires": { - "@sinonjs/commons": "^2.0.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "peer": true, - "requires": { - "type-detect": "4.0.8" - } - } - } - }, - "@sinonjs/samsam": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", - "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", - "dev": true, - "peer": true, - "requires": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "peer": true, - "requires": { - "type-detect": "4.0.8" - } - } - } - }, - "@sinonjs/text-encoding": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", - "dev": true, - "peer": true - }, "@solidity-parser/parser": { "version": "0.14.2", "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.2.tgz", @@ -29795,12 +23948,6 @@ "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==", "dev": true }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "ethereumjs-util": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.4.tgz", @@ -29946,12 +24093,6 @@ "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==", "dev": true }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "ethers": { "version": "4.0.49", "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", @@ -30240,12 +24381,6 @@ "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==", "dev": true }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "ethers": { "version": "4.0.49", "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", @@ -30570,12 +24705,6 @@ "web3": "1.5.3" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "web3": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3/-/web3-1.5.3.tgz", @@ -30760,18 +24889,6 @@ "@types/node": "*" } }, - "@types/cacheable-request": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", - "dev": true, - "requires": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" - } - }, "@types/concat-stream": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", @@ -30815,12 +24932,6 @@ "@types/node": "*" } }, - "@types/http-cache-semantics": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", - "dev": true - }, "@types/istanbul-lib-coverage": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", @@ -30851,15 +24962,6 @@ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, - "@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/level-errors": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.0.tgz", @@ -30940,15 +25042,6 @@ "@types/node": "*" } }, - "@types/responselike": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", - "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/secp256k1": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", @@ -30958,12 +25051,6 @@ "@types/node": "*" } }, - "@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", - "dev": true - }, "@types/stack-utils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", @@ -31076,75 +25163,6 @@ } } }, - "@typescript-eslint/scope-manager": { - "version": "5.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.47.0.tgz", - "integrity": "sha512-dvJab4bFf7JVvjPuh3sfBUWsiD73aiftKBpWSfi3sUkysDQ4W8x+ZcFpNp7Kgv0weldhpmMOZBjx1wKN8uWvAw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.47.0", - "@typescript-eslint/visitor-keys": "5.47.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.47.0.tgz", - "integrity": "sha512-1J+DFFrYoDUXQE1b7QjrNGARZE6uVhBqIvdaXTe5IN+NmEyD68qXR1qX1g2u4voA+nCaelQyG8w30SAOihhEYg==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.47.0", - "@typescript-eslint/utils": "5.47.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.47.0.tgz", - "integrity": "sha512-eslFG0Qy8wpGzDdYKu58CEr3WLkjwC5Usa6XbuV89ce/yN5RITLe1O8e+WFEuxnfftHiJImkkOBADj58ahRxSg==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.47.0.tgz", - "integrity": "sha512-LxfKCG4bsRGq60Sqqu+34QT5qT2TEAHvSCCJ321uBWywgE2dS0LKcu5u+3sMGo+Vy9UmLOhdTw5JHzePV/1y4Q==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.47.0", - "@typescript-eslint/visitor-keys": "5.47.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.47.0.tgz", - "integrity": "sha512-U9xcc0N7xINrCdGVPwABjbAKqx4GK67xuMV87toI+HUqgXj26m6RBp9UshEXcTrgCkdGYFzgKLt8kxu49RilDw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.47.0", - "@typescript-eslint/types": "5.47.0", - "@typescript-eslint/typescript-estree": "5.47.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", - "semver": "^7.3.7" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.47.0.tgz", - "integrity": "sha512-ByPi5iMa6QqDXe/GmT/hR6MZtVPi0SqMQPDx15FczCBXJo/7M8T88xReOALAfpBLm+zxpPfmhuEvPb577JRAEg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.47.0", - "eslint-visitor-keys": "^3.3.0" - } - }, "@ungap/promise-all-settled": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", @@ -31166,12 +25184,6 @@ "event-target-shim": "^5.0.0" } }, - "abortcontroller-polyfill": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", - "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", - "dev": true - }, "abstract-leveldown": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz", @@ -31211,7 +25223,8 @@ "version": "8.8.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", - "dev": true + "dev": true, + "peer": true }, "acorn-jsx": { "version": "5.3.2", @@ -31257,15 +25270,6 @@ "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", "dev": true }, - "adv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/adv/-/adv-0.1.5.tgz", - "integrity": "sha512-FUT3kbeDSWAYPW+jCXS5CFuDNN/LlLK+84tlkhAhhRV+E/oo9qISvZ2TliqyD8uH9eF2KBNS7T3TEWYellchZg==", - "dev": true, - "requires": { - "minimist": "~1.2.0" - } - }, "aes-js": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", @@ -31303,15 +25307,6 @@ "uri-js": "^4.2.2" } }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "requires": { - "ajv": "^8.0.0" - } - }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", @@ -31455,12 +25450,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", - "dev": true - }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -31486,12 +25475,6 @@ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "dev": true - }, "array.prototype.flat": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", @@ -31631,12 +25614,6 @@ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "dev": true }, - "atomic-sleep": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", - "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", - "dev": true - }, "auto-bind": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-4.0.0.tgz", @@ -31661,17 +25638,6 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, - "axios": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz", - "integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==", - "dev": true, - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -31791,9 +25757,9 @@ "dev": true }, "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, "body-parser": { @@ -32127,24 +26093,12 @@ "ieee754": "^1.2.1" } }, - "buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", - "dev": true - }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, - "buffer-reverse": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-reverse/-/buffer-reverse-1.0.1.tgz", - "integrity": "sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg==", - "dev": true - }, "buffer-to-arraybuffer": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", @@ -32187,12 +26141,6 @@ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true }, - "cacheable-lookup": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz", - "integrity": "sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww==", - "dev": true - }, "cacheable-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", @@ -32295,15 +26243,6 @@ "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true }, - "cbor": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", - "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", - "dev": true, - "requires": { - "nofilter": "^3.1.0" - } - }, "chai": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", @@ -32319,15 +26258,6 @@ "type-detect": "^4.0.5" } }, - "chai-as-promised": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", - "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", - "dev": true, - "requires": { - "check-error": "^1.0.2" - } - }, "chai-bn": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/chai-bn/-/chai-bn-0.2.2.tgz", @@ -32335,12 +26265,6 @@ "dev": true, "requires": {} }, - "chai-subset": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/chai-subset/-/chai-subset-1.6.0.tgz", - "integrity": "sha512-K3d+KmqdS5XKW5DWPd5sgNffL3uxdDe+6GdnJh3AYPhwnBGRY5urfvfcbRtWIvvpz+KxkL9FeBB6MZewLUNwug==", - "dev": true - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -32645,106 +26569,6 @@ "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", "dev": true }, - "command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", - "dev": true, - "requires": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - } - }, - "command-line-usage": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", - "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", - "dev": true, - "requires": { - "array-back": "^4.0.2", - "chalk": "^2.4.2", - "table-layout": "^1.0.2", - "typical": "^5.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true - } - } - }, - "compare-versions": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-4.1.3.tgz", - "integrity": "sha512-WQfnbDcrYnGr55UwbxKiQKASnTtNnaAWVi8jZyy8NTpVAXWACSne8lMD1iaIo9AiU6mnuLvSVshCzewVuWxHUg==", - "dev": true - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -33014,17 +26838,6 @@ "node-fetch": "2.6.7" } }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, "crypt": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", @@ -33065,12 +26878,6 @@ "randomfill": "^1.0.3" } }, - "crypto-js": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.3.0.tgz", - "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==", - "dev": true - }, "css-select": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", @@ -33164,7 +26971,9 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "deep-is": { "version": "0.1.4", @@ -33500,15 +27309,6 @@ "safer-buffer": "^2.1.0" } }, - "ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -33528,14 +27328,6 @@ "inherits": "^2.0.4", "minimalistic-assert": "^1.0.1", "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } } }, "emoji-regex": { @@ -33709,12 +27501,6 @@ "es6-symbol": "^3.1.1" } }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true - }, "es6-symbol": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", @@ -33737,12 +27523,6 @@ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, "escodegen": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", @@ -34406,40 +28186,6 @@ "estraverse": "^4.1.1" } }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } - } - }, - "eslint-visitor-keys": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", - "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", - "dev": true - }, - "espree": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", - "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", - "dev": true, - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.0" - } - }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", @@ -34539,12 +28285,6 @@ "sync-request": "^6.0.0" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "ethereum-cryptography": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.1.0.tgz", @@ -35188,12 +28928,6 @@ "@ethersproject/properties": "^5.5.0", "@ethersproject/strings": "^5.5.0" } - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true } } }, @@ -35256,12 +28990,6 @@ "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "dev": true }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, "events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", @@ -35463,12 +29191,6 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, - "fast-redact": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.2.tgz", - "integrity": "sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==", - "dev": true - }, "fast-safe-stringify": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", @@ -35501,15 +29223,6 @@ } } }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -35518,16 +29231,6 @@ "optional": true, "peer": true }, - "fill-keys": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", - "integrity": "sha512-tcgI872xXjwFF4xgQmLxi76GnwJG3g/3isB1l4/G5Z4zrbddGpBjqZCO9oEAcB5wX0Hj/5iQB3toxfO7in1hHA==", - "dev": true, - "requires": { - "is-object": "~1.0.1", - "merge-descriptors": "~1.0.0" - } - }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -35569,15 +29272,6 @@ } } }, - "find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", - "dev": true, - "requires": { - "array-back": "^3.0.1" - } - }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -35596,22 +29290,6 @@ "is-buffer": "~2.0.3" } }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, "fmix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/fmix/-/fmix-0.1.0.tgz", @@ -35653,12 +29331,6 @@ "mime-types": "^2.1.12" } }, - "form-data-encoder": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.1.tgz", - "integrity": "sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==", - "dev": true - }, "forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -36810,35 +30482,6 @@ } } }, - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "google-protobuf": { - "version": "3.21.2", - "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.2.tgz", - "integrity": "sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA==", - "dev": true - }, "got": { "version": "9.6.0", "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", @@ -36864,43 +30507,12 @@ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, "graphql": { "version": "16.5.0", "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.5.0.tgz", "integrity": "sha512-qbHgh8Ix+j/qY+a/ZcJnFQ+j8ezakqPiHwPiZhV/3PgGlgf96QMBB5/f2rkiC9sgLoy/xvT6TSiaf2nTHJh5iA==", "dev": true }, - "graphql-request": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-5.1.0.tgz", - "integrity": "sha512-0OeRVYigVwIiXhNmqnPDt+JhMzsjinxHE7TVy3Lm6jUzav0guVcL0lfSbi6jVTRAxcbwgyr6yrZioSHxf9gHzw==", - "dev": true, - "requires": { - "@graphql-typed-document-node/core": "^3.1.1", - "cross-fetch": "^3.1.5", - "extract-files": "^9.0.0", - "form-data": "^3.0.0" - }, - "dependencies": { - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, "growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", @@ -37626,56 +31238,6 @@ "dev": true, "requires": {} }, - "hardhat-diamond-abi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/hardhat-diamond-abi/-/hardhat-diamond-abi-3.0.1.tgz", - "integrity": "sha512-t+skBGX8lK3qH/YQB8L/QJVIINyuji/2r4q9JcZQ0rX9oEZzgfJMka2ttZ4gyuNcYRT95KyfDSuCCwSQX1cVDA==", - "dev": true, - "requires": { - "debug": "^4.3.3", - "ethers": "^5.5.2" - }, - "dependencies": { - "ethers": { - "version": "5.6.9", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.9.tgz", - "integrity": "sha512-lMGC2zv9HC5EC+8r429WaWu3uWJUCgUCt8xxKCFqkrFuBDZXDYIdzDUECxzjf2BMF8IVBByY1EBoGSL3RTm8RA==", - "dev": true, - "requires": { - "@ethersproject/abi": "5.6.4", - "@ethersproject/abstract-provider": "5.6.1", - "@ethersproject/abstract-signer": "5.6.2", - "@ethersproject/address": "5.6.1", - "@ethersproject/base64": "5.6.1", - "@ethersproject/basex": "5.6.1", - "@ethersproject/bignumber": "5.6.2", - "@ethersproject/bytes": "5.6.1", - "@ethersproject/constants": "5.6.1", - "@ethersproject/contracts": "5.6.2", - "@ethersproject/hash": "5.6.1", - "@ethersproject/hdnode": "5.6.2", - "@ethersproject/json-wallets": "5.6.1", - "@ethersproject/keccak256": "5.6.1", - "@ethersproject/logger": "5.6.0", - "@ethersproject/networks": "5.6.4", - "@ethersproject/pbkdf2": "5.6.1", - "@ethersproject/properties": "5.6.0", - "@ethersproject/providers": "5.6.8", - "@ethersproject/random": "5.6.1", - "@ethersproject/rlp": "5.6.1", - "@ethersproject/sha2": "5.6.1", - "@ethersproject/signing-key": "5.6.2", - "@ethersproject/solidity": "5.6.1", - "@ethersproject/strings": "5.6.1", - "@ethersproject/transactions": "5.6.2", - "@ethersproject/units": "5.6.1", - "@ethersproject/wallet": "5.6.2", - "@ethersproject/web": "5.6.1", - "@ethersproject/wordlists": "5.6.1" - } - } - } - }, "hardhat-gas-reporter": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.3.tgz", @@ -37958,16 +31520,6 @@ "sshpk": "^1.7.0" } }, - "http2-wrapper": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", - "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", - "dev": true, - "requires": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" - } - }, "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", @@ -37984,16 +31536,6 @@ "debug": "4" } }, - "hyperid": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/hyperid/-/hyperid-3.0.1.tgz", - "integrity": "sha512-I+tl7TS5nsoVhkxqX1rS3Qmqlq44eoPUcgPthW8v3IW8CvWL7lwtd6HQbkDUMrBKJTG0vgEaRsjT35imW/D+9Q==", - "dev": true, - "requires": { - "uuid": "^8.3.2", - "uuid-parse": "^1.1.0" - } - }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -38389,12 +31931,6 @@ "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", "dev": true }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", @@ -38580,12 +32116,6 @@ "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", "dev": true }, - "js-sdsl": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", - "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", - "dev": true - }, "js-sha3": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", @@ -38681,32 +32211,6 @@ "through": ">=2.2.7 <3" } }, - "jsonwebtoken": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", - "dev": true, - "requires": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, "jsprim": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", @@ -38719,34 +32223,6 @@ "verror": "1.10.0" } }, - "just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true, - "peer": true - }, - "jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "dev": true, - "requires": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "dev": true, - "requires": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, "keccak": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", @@ -38901,16 +32377,6 @@ "xtend": "~4.0.0" } }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", @@ -38946,61 +32412,12 @@ "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==", "dev": true }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "dev": true - }, "lodash.flatten": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", "dev": true }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true, - "peer": true - }, - "lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", - "dev": true - }, - "lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", - "dev": true - }, - "lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", - "dev": true - }, - "lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", - "dev": true - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", - "dev": true - }, "lodash.memoize": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", @@ -39013,12 +32430,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "dev": true - }, "log-symbols": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", @@ -39265,19 +32676,6 @@ "semaphore-async-await": "^1.5.1" } }, - "merkletreejs": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/merkletreejs/-/merkletreejs-0.3.9.tgz", - "integrity": "sha512-NjlATjJr4NEn9s8v/VEHhgwRWaE1eA/Une07d9SEqKzULJi1Wsh0Y3svwJdP2bYLMmgSBHzOrNydMWM1NN9VeQ==", - "dev": true, - "requires": { - "bignumber.js": "^9.0.1", - "buffer-reverse": "^1.0.1", - "crypto-js": "^3.1.9-1", - "treeify": "^1.1.0", - "web3-utils": "^1.3.4" - } - }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -39368,9 +32766,9 @@ } }, "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true }, "minipass": { @@ -39659,12 +33057,6 @@ } } }, - "module-not-found-error": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz", - "integrity": "sha512-pEk4ECWQXV6z2zjhRZUongnLJNUeGQJ3w6OQ5ctGwD+i5o93qjRQUk2Rt6VdNeu3sEP0AB4LcfvdebpxBRVr4g==", - "dev": true - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -39786,28 +33178,12 @@ "optional": true, "peer": true }, - "nats": { - "version": "1.4.12", - "resolved": "https://registry.npmjs.org/nats/-/nats-1.4.12.tgz", - "integrity": "sha512-Jf4qesEF0Ay0D4AMw3OZnKMRTQm+6oZ5q8/m4gpy5bTmiDiK6wCXbZpzEslmezGpE93LV3RojNEG6dpK/mysLQ==", - "dev": true, - "requires": { - "nuid": "^1.1.4", - "ts-nkeys": "^1.0.16" - } - }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, "negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -39832,49 +33208,6 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, - "nise": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz", - "integrity": "sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==", - "dev": true, - "peer": true, - "requires": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "peer": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true, - "peer": true - }, - "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "dev": true, - "peer": true, - "requires": { - "isarray": "0.0.1" - } - } - } - }, "no-case": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", @@ -39967,23 +33300,6 @@ "prebuild-install": "^5.3.4" } }, - "node-nats-streaming": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/node-nats-streaming/-/node-nats-streaming-0.2.6.tgz", - "integrity": "sha512-UTS/tHextk+qdXl0fiSKFPU12eWsRkeRzbzo1zk6ZbXu/PnszKtnSwzxhVRYveU7VjDebYsAFpde1MjC5Y3Nvw==", - "dev": true, - "requires": { - "google-protobuf": "^3.9.0", - "nats": "^1.3.0", - "nuid": "^1.1.0" - } - }, - "nofilter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", - "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", - "dev": true - }, "noop-logger": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", @@ -40056,12 +33372,6 @@ "boolbase": "^1.0.0" } }, - "nuid": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/nuid/-/nuid-1.1.6.tgz", - "integrity": "sha512-Eb3CPCupYscP1/S1FQcO5nxtu6l/F3k0MQ69h7f5osnsemVk5pkc8/5AyalVT+NCfra9M71U8POqF6EZa6IHvg==", - "dev": true - }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", @@ -40160,12 +33470,6 @@ "http-https": "^1.0.0" } }, - "on-exit-leak-free": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.0.tgz", - "integrity": "sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==", - "dev": true - }, "on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -40193,20 +33497,6 @@ "mimic-fn": "^2.1.0" } }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, "os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", @@ -40267,25 +33557,6 @@ "aggregate-error": "^3.0.0" } }, - "p-queue": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", - "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.4", - "p-timeout": "^3.2.0" - } - }, - "p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "dev": true, - "requires": { - "p-finally": "^1.0.0" - } - }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -40427,12 +33698,6 @@ "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", "dev": true }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", @@ -40509,55 +33774,6 @@ "pinkie": "^2.0.0" } }, - "pino": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-8.8.0.tgz", - "integrity": "sha512-cF8iGYeu2ODg2gIwgAHcPrtR63ILJz3f7gkogaHC/TXVVXxZgInmNYiIpDYEwgEkxZti2Se6P2W2DxlBIZe6eQ==", - "dev": true, - "requires": { - "atomic-sleep": "^1.0.0", - "fast-redact": "^3.1.1", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "v1.0.0", - "pino-std-serializers": "^6.0.0", - "process-warning": "^2.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^3.1.0", - "thread-stream": "^2.0.0" - } - }, - "pino-abstract-transport": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz", - "integrity": "sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==", - "dev": true, - "requires": { - "readable-stream": "^4.0.0", - "split2": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.3.0.tgz", - "integrity": "sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==", - "dev": true, - "requires": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10" - } - } - } - }, - "pino-std-serializers": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.0.tgz", - "integrity": "sha512-IWgSzUL8X1w4BIWTwErRgtV8PyOGOOi60uqv0oKuS/fOA8Nco/OeI6lBuc4dyP8MMfdFwyHqTMcBIA7nDiqEqA==", - "dev": true - }, "prebuild-install": { "version": "5.3.6", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.6.tgz", @@ -40617,12 +33833,6 @@ } } }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, "prepend-http": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", @@ -40659,12 +33869,6 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "process-warning": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.2.0.tgz", - "integrity": "sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg==", - "dev": true - }, "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -40680,17 +33884,6 @@ "asap": "~2.0.6" } }, - "proper-lockfile": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", - "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "retry": "^0.12.0", - "signal-exit": "^3.0.2" - } - }, "proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -40701,23 +33894,6 @@ "ipaddr.js": "1.9.1" } }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, - "proxyquire": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-2.1.3.tgz", - "integrity": "sha512-BQWfCqYM+QINd+yawJz23tbBM40VIGXOdDw3X344KcclI/gtBbdWF6SlQ4nK/bYhF9d27KYug9WzljHC6B9Ysg==", - "dev": true, - "requires": { - "fill-keys": "^1.0.2", - "module-not-found-error": "^1.0.1", - "resolve": "^1.11.1" - } - }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", @@ -40804,18 +33980,6 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, - "quick-format-unescaped": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", - "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", - "dev": true - }, - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true - }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -40999,12 +34163,6 @@ "picomatch": "^2.2.1" } }, - "real-require": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", - "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", - "dev": true - }, "rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", @@ -41034,12 +34192,6 @@ } } }, - "reduce-flatten": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", - "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", - "dev": true - }, "regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", @@ -41191,12 +34343,6 @@ "supports-preserve-symlinks-flag": "^1.0.0" } }, - "resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "dev": true - }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -41222,27 +34368,12 @@ "signal-exit": "^3.0.2" } }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true - }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, "ripemd160": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", @@ -41312,12 +34443,6 @@ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, - "safe-stable-stringify": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", - "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", - "dev": true - }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -41608,21 +34733,6 @@ "fast-safe-stringify": "^2.0.7" } }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, "shell-quote": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", @@ -41674,37 +34784,6 @@ "simple-concat": "^1.0.0" } }, - "sinon": { - "version": "15.0.4", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.0.4.tgz", - "integrity": "sha512-uzmfN6zx3GQaria1kwgWGeKiXSSbShBbue6Dcj0SI8fiCNFbiUDqKl57WFlY5lyhxZVUKmXvzgG2pilRQCBwWg==", - "dev": true, - "peer": true, - "requires": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.4", - "supports-color": "^7.2.0" - }, - "dependencies": { - "diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": true, - "peer": true - } - } - }, - "sinon-chai": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz", - "integrity": "sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==", - "dev": true, - "requires": {} - }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -42422,12 +35501,6 @@ } } }, - "solidity-ast": { - "version": "0.4.35", - "resolved": "https://registry.npmjs.org/solidity-ast/-/solidity-ast-0.4.35.tgz", - "integrity": "sha512-F5bTDLh3rmDxRmLSrs3qt3nvxJprWSEkS7h2KmuXDx7XTfJ6ZKVTV1rtPIYCqJAuPsU/qa8YUeFn7jdOAZcTPA==", - "dev": true - }, "solidity-coverage": { "version": "0.8.0-beta.1", "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.0-beta.1.tgz", @@ -42717,15 +35790,6 @@ } } }, - "sonic-boom": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.3.0.tgz", - "integrity": "sha512-LYxp34KlZ1a2Jb8ZQgFCK3niIHzibdwtwNUWKg0qQRzsDoJ3Gfgkf8KdBTFU3SkejDEIlWwnSnpVdOZIhFMl/g==", - "dev": true, - "requires": { - "atomic-sleep": "^1.0.0" - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -42774,12 +35838,6 @@ "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", "dev": true }, - "split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "dev": true - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -42990,12 +36048,6 @@ "safe-buffer": "~5.2.0" } }, - "string-format": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", - "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==", - "dev": true - }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -43351,32 +36403,6 @@ } } }, - "table-layout": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", - "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", - "dev": true, - "requires": { - "array-back": "^4.0.1", - "deep-extend": "~0.6.0", - "typical": "^5.2.0", - "wordwrapjs": "^4.0.0" - }, - "dependencies": { - "array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", - "dev": true - }, - "typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true - } - } - }, "tar": { "version": "4.4.19", "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", @@ -43506,15 +36532,6 @@ } } }, - "thread-stream": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.3.0.tgz", - "integrity": "sha512-kaDqm1DET9pp3NXwR8382WHbnpXnRkN9xGN9dQt3B2+dmXiW8X1SOwmFOxAErEQ47ObhZ96J6yhZNXuyCOL7KA==", - "dev": true, - "requires": { - "real-require": "^0.2.0" - } - }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -43634,31 +36651,12 @@ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "dev": true }, - "treeify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz", - "integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==", - "dev": true - }, "true-case-path": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==", "dev": true }, - "ts-command-line-args": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.5.0.tgz", - "integrity": "sha512-Ff7Xt04WWCjj/cmPO9eWTJX3qpBZWuPWyQYG1vnxJao+alWWYjwJBc5aYz3h5p5dE08A6AnpkgiCtP/0KXXBYw==", - "dev": true, - "requires": { - "@morgan-stanley/ts-mocking-bird": "^0.6.2", - "chalk": "^4.1.0", - "command-line-args": "^5.1.1", - "command-line-usage": "^6.1.0", - "string-format": "^2.0.0" - } - }, "ts-essentials": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", @@ -43753,46 +36751,6 @@ } } }, - "ts-nats": { - "version": "1.2.14-2", - "resolved": "https://registry.npmjs.org/ts-nats/-/ts-nats-1.2.14-2.tgz", - "integrity": "sha512-b0nPczfd8Z4+LQ5C7xWW391qiPsWNidhZRB9yrumQ0hfRHAos4NVwodPIZd78e/so3zBW5LRifejaAJE/UzNXA==", - "dev": true, - "requires": { - "nuid": "^1.1.2", - "ts-nkeys": "^1.0.16" - } - }, - "ts-natsutil": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ts-natsutil/-/ts-natsutil-1.1.1.tgz", - "integrity": "sha512-HWwOGCwdLl1qqpGDiGaNHaezZ0Ae36MJ0VrRa1Vr7KsnDj73SjL3o6bNbZT5cojW7Qzq9Zd+OAVuMaxVHTDNmQ==", - "dev": true, - "requires": { - "@provide/nats.ws": "^1.0.6", - "jsonwebtoken": "8.5.1", - "node-nats-streaming": "0.2.6", - "ts-nats": "1.2.14-2", - "uuid": "3.4.0" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } - } - }, - "ts-nkeys": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/ts-nkeys/-/ts-nkeys-1.0.16.tgz", - "integrity": "sha512-1qrhAlavbm36wtW+7NtKOgxpzl+70NTF8xlz9mEhiA5zHMlMxjj3sEVKWm3pGZhHXE0Q3ykjrj+OSRVaYw+Dqg==", - "dev": true, - "requires": { - "tweetnacl": "^1.0.3" - } - }, "ts-node": { "version": "8.10.2", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", @@ -43910,27 +36868,12 @@ "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", "dev": true }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, "type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -44067,12 +37010,6 @@ "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", "dev": true }, - "typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", - "dev": true - }, "u2f-api": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/u2f-api/-/u2f-api-0.2.7.tgz", @@ -44276,12 +37213,6 @@ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true }, - "uuid-parse": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uuid-parse/-/uuid-parse-1.1.0.tgz", - "integrity": "sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==", - "dev": true - }, "v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", @@ -44374,12 +37305,6 @@ "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", "dev": true }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "eventemitter3": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", @@ -44698,12 +37623,6 @@ "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", "dev": true }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "web3-utils": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", @@ -44731,12 +37650,6 @@ "web3-utils": "1.5.3" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "web3-utils": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", @@ -44768,12 +37681,6 @@ "web3-utils": "1.5.3" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "web3-utils": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", @@ -44859,12 +37766,6 @@ "web3-utils": "1.5.3" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "web3-utils": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", @@ -44909,12 +37810,6 @@ "@ethersproject/strings": "^5.0.4" } }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "web3-utils": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", @@ -44951,12 +37846,6 @@ "web3-utils": "1.5.3" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", @@ -45005,12 +37894,6 @@ "@types/node": "*" } }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "web3-utils": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", @@ -45044,12 +37927,6 @@ "web3-utils": "1.5.3" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "web3-utils": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", @@ -45077,12 +37954,6 @@ "web3-utils": "1.5.3" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "web3-utils": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", @@ -45120,12 +37991,6 @@ "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", "dev": true }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "web3-utils": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", @@ -45154,12 +38019,6 @@ "web3-utils": "1.5.3" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, "web3-utils": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", @@ -45375,24 +38234,6 @@ "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", "dev": true }, - "wordwrapjs": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", - "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", - "dev": true, - "requires": { - "reduce-flatten": "^2.0.0", - "typical": "^5.2.0" - }, - "dependencies": { - "typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true - } - } - }, "workerpool": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", diff --git a/package.json b/package.json index 57fe01a2..f88bec68 100644 --- a/package.json +++ b/package.json @@ -80,8 +80,8 @@ "test": "hardhat test" }, "devDependencies": { - "@connext/nxtp-contracts": "0.2.1-rc.16", "@ethereumjs/tx": "3.5.2", + "@nomicfoundation/hardhat-network-helpers": "^1.0.8", "@nomiclabs/hardhat-etherscan": "2.1.7", "@nomiclabs/hardhat-web3": "2.0.0", "@openzeppelin/contracts": "4.6.0", diff --git a/src/bridges/facets/ConnextFacet.sol b/src/bridges/facets/ConnextFacet.sol index f4490eb4..4a72e13b 100644 --- a/src/bridges/facets/ConnextFacet.sol +++ b/src/bridges/facets/ConnextFacet.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.17; -import {IConnext} from "@connext/nxtp-contracts/contracts/core/connext/interfaces/IConnext.sol"; +import {IConnext} from "../interfaces/IConnext.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; import {IWETH} from "../interfaces/IWETH.sol"; diff --git a/src/bridges/facets/StargateFacet.sol b/src/bridges/facets/StargateFacet.sol index 0d7b263c..b68e96e3 100644 --- a/src/bridges/facets/StargateFacet.sol +++ b/src/bridges/facets/StargateFacet.sol @@ -1,19 +1,17 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.4; +pragma solidity 0.8.17; -import {IStargateRouter} from "../interfaces/stargate/IStargateRouter.sol"; -import {IStargateRouterETH} from "../interfaces/stargate/IStargateRouterETH.sol"; -import {IStargateReceiver} from "../interfaces/stargate/IStargateReceiver.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; import {ReentrancyGuard} from "../../common/helpers/DiamondReentrancyGuard.sol"; import {LibDiamond} from "../libs/LibDiamond.sol"; +import {IStargateRouter} from "../interfaces/stargate/IStargateRouter.sol"; +import {IStargateRouterETH} from "../interfaces/stargate/IStargateRouterETH.sol"; +import {IStargateReceiver} from "../interfaces/stargate/IStargateReceiver.sol"; /** * @title StargateFacet - * * @notice Stargate/LayerZero intergration for bridging tokens - * */ contract StargateFacet is IStargateReceiver, ReentrancyGuard { @@ -26,6 +24,17 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { IStargateRouter stargateRouter; IStargateRouterETH stargateETHRouter; uint16 chainId; + mapping(uint256 => uint16) lzChainIds; + } + + /** + * @notice maps chain ids to layer zero chain ids + * @param chainId - actual chain id + * @param lzChainId - layer zero chain id that corresponds to chain id + */ + struct ChainIdConfig { + uint256 chainId; + uint16 layerZeroChainId; } /** @@ -39,7 +48,7 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { * @param slippage - slippage tolerance on _qty (eg 50 == 0.5%) * @param destStargateComposed - destination contract. it must implement sgReceive() */ - struct StargateTransferData { + struct StargateData { uint256 amount; address bridgeToken; uint16 dstChainId; @@ -47,7 +56,7 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { uint16 dstPoolId; address to; uint16 slippage; - uint256 destStargateComposed; + address destStargateComposed; } /** @@ -57,19 +66,22 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { * @param to - address to send the destination tokens to * @param slippage - slippage tolerance on _qty (eg 50 == 0.5%) */ - struct StargateETHTransferData { + struct StargateETHData { uint256 amount; uint16 dstChainId; address to; uint16 slippage; } + ///// VARIABLES ///// + uint256 immutable BPS = 10000; + ///// EVENTS ///// /** * @dev emitted when facet initializes - * @param stargateRouter stargate router address - * @param stargateETHRouter stargate ETH router address - * @param chainId chain id + * @param stargateRouter - stargate router address + * @param stargateETHRouter - stargate ETH router address + * @param chainId - chain id */ event StargateInitialized( address stargateRouter, @@ -79,11 +91,11 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { /** * @dev emitted on ERC20 token swap - * @param fromToken from token - * @param from from address - * @param to to address - * @param amount amount swapping - * @param chainIdTo receiving chain id + * @param fromToken - from token + * @param from - from address + * @param to - to address + * @param amount - amount swapping + * @param chainIdTo - receiving chain id */ event StargateTokenSwap( address fromToken, @@ -95,12 +107,12 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { /** * @dev emitted on ETH swap - * @param from from address - * @param to to address - * @param amount amount swapping - * @param chainIdTo receiving chain id + * @param from - from address + * @param to - to address + * @param amount - amount swapping + * @param chainIdTo - receiving chain id */ - event StargateETHTokenSwap( + event StargateETHSwap( address from, address to, uint256 amount, @@ -109,11 +121,18 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { /** * @dev emitted when received on destination chain - * @param token token address - * @param amount amount swapping + * @param token - token address + * @param amount - amount swapping */ event StargateReceivedOnDestination(address token, uint256 amount); + /** + * @dev emitted when layer zero chain id is set to chain id + * @param chainId - chain id + * @param lzChainId - layer zero chain id + */ + event LzChainIdSet(uint256 chainId, uint16 lzChainId); + ///// INITIALIZE FACET ///// /** * @notice initializes state variables for the Stargate facet @@ -124,7 +143,8 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { function initStargate( address _stargateRouter, address _stargateETHRouter, - uint16 _chainId + uint16 _chainId, + ChainIdConfig[] calldata _chainIdConfigs ) external { require( _stargateRouter != address(0) && _stargateETHRouter != address(0), @@ -135,28 +155,36 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { s.stargateRouter = IStargateRouter(_stargateRouter); s.stargateETHRouter = IStargateRouterETH(_stargateETHRouter); s.chainId = _chainId; + + for (uint256 i; i < _chainIdConfigs.length; ++i) { + s.lzChainIds[_chainIdConfigs[i].chainId] = _chainIdConfigs[i] + .layerZeroChainId; + } emit StargateInitialized(_stargateRouter, _stargateETHRouter, _chainId); } /** * @notice initiates token bridge transfer - * @param _data StargateTransferData object + * @param _data StargateData object */ function stargateTokenTransfer( - StargateTransferData calldata _data + StargateData calldata _data ) external payable nonReentrant { require(msg.value > 0, "Stargate:: msg.value required to pay message"); require(_data.amount > 0, "Stargate:: invalid quantity"); IStargateRouter router = getStargateRouter(); + // get stargate fees - uint256 fee = stargateFees(_data.dstChainId, _data.to, router); + uint256 lzFee = stargateFees(_data, router); + // calc minimum amount out - uint256 minAmountOut = (_data.amount * (10000 - _data.slippage)) / - 10000; - // encode sgReceive implemented - bytes memory destination = abi.encodePacked(_data.destStargateComposed); + uint256 minAmountOut = (_data.amount * (BPS - _data.slippage)) / BPS; + + bytes memory to = abi.encodePacked(_data.destStargateComposed); + // encode payload data to send to destination contract, which it will handle with sgReceive() bytes memory payload = abi.encode(_data.to); + // this contract calls stargate swap() IERC20(_data.bridgeToken).safeTransferFrom( msg.sender, @@ -164,18 +192,20 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { _data.amount ); IERC20(_data.bridgeToken).safeApprove(address(router), _data.amount); + // Stargate's Router.swap() function sends the tokens to the destination chain. - IStargateRouter(router).swap{value: fee}( - _data.dstChainId, // the destination chain id + router.swap{value: lzFee}( + getLzChainId(_data.dstChainId), // the destination lz chain id _data.srcPoolId, // the source Stargate poolId _data.dstPoolId, // the destination Stargate poolId payable(msg.sender), // refund adddress. if msg.sender pays too much gas, return extra eth _data.amount, // total tokens to send to destination chain minAmountOut, // min amount allowed out IStargateRouter.lzTxObj(500000, 0, "0x"), // default lzTxObj - destination, // destination address, the sgReceive() implementer + to, // destination address, the sgReceive() implementer payload // bytes payload ); + emit StargateTokenSwap( _data.bridgeToken, msg.sender, @@ -187,11 +217,24 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { /** * @notice initiates an ETH bridging transfer - * @param _data StargateETHTransferData object + * @param _data StargateETHData object + * @dev only available between mainnet, arbitrum and optimism */ function stargateETHTransfer( - StargateETHTransferData calldata _data + StargateETHData calldata _data ) external payable nonReentrant { + uint256 curChain = getChainId(); + require( + curChain == 1 || curChain == 42161 || curChain == 10, + "Stargate:: Cannot directly bridge ETH from this chain" + ); + require( + _data.dstChainId == 1 || + _data.dstChainId == 42161 || + _data.dstChainId == 10, + "Stargate:: Cannot directly bridge ETH to this chain" + ); + require(msg.value > 0, "Stargate:: msg.value required"); require(_data.amount > 0, "Stargate:: invalid quantity"); require( @@ -199,24 +242,26 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { "Stargate: no fees added for ETH transfer" ); IStargateRouterETH ethRouter = getStargateETHRouter(); + require( address(ethRouter) != address(0), "Stargate:: ETH transfer not available" ); + bytes memory receiver = abi.encodePacked(_data.to); - uint256 minAmountOut = (_data.amount * (10000 - _data.slippage)) / - 10000; + + uint256 minAmountOut = (_data.amount * (BPS - _data.slippage)) / BPS; // value is amount of ETH to swap + stargate/lz fees ethRouter.swapETH{value: msg.value}( - _data.dstChainId, + getLzChainId(_data.dstChainId), payable(msg.sender), receiver, _data.amount, minAmountOut ); - emit StargateETHTokenSwap( + emit StargateETHSwap( msg.sender, _data.to, _data.amount, @@ -224,6 +269,25 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { ); } + /** + * @notice Calculates cross chain fee + * @param _data StargateData object + * @param _router Address of stargate router + */ + function stargateFees( + StargateData calldata _data, + IStargateRouter _router + ) public view returns (uint256) { + (uint256 nativeFee, ) = _router.quoteLayerZeroFee( + getLzChainId(_data.dstChainId), // destination chain id + 1, // 1 = swap + abi.encodePacked(_data.destStargateComposed), // receiver on destination chain + abi.encode(_data.to), // payload, using abi.encode() + IStargateRouter.lzTxObj(500000, 0, abi.encodePacked(address(0))) + ); + return nativeFee; + } + /** * @notice required to receive tokens on destination chain * @param _token the token contract on the local chain @@ -249,24 +313,31 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { } /** - * @notice Calculates cross chain fee - * @param _destChain Destination chain id - * @param _receiver Receiver on destination chain - * @param _router Address of stargate router + * @notice gets layer zero chain id for specified chain + * @param _chainId - chain id + * @return layzer zero chain id */ - function stargateFees( - uint16 _destChain, - address _receiver, - IStargateRouter _router - ) public view returns (uint256) { - (uint256 nativeFee, ) = _router.quoteLayerZeroFee( - _destChain, // destination chain id - 1, // 1 = swap - abi.encodePacked(_receiver), // receiver on destination chain - "0x", // payload, using abi.encode() - IStargateRouter.lzTxObj(200000, 0, abi.encodePacked(address(0))) + function getLzChainId(uint256 _chainId) public view returns (uint16) { + Storage storage s = getStorage(); + uint16 chainId = s.lzChainIds[_chainId]; + require( + chainId != 0, + "Stargate:: chain not assigned layer zero chain id" ); - return nativeFee; + return chainId; + } + + /** + * @notice sets layer zero chain id for specified chain + * @param _chainId - chain id + * @param _lzChainId - layzer zero chain id + */ + function setLzChainId(uint256 _chainId, uint16 _lzChainId) external { + LibDiamond.enforceIsContractOwner(); + Storage storage s = getStorage(); + + s.lzChainIds[_chainId] = _lzChainId; + emit LzChainIdSet(_chainId, _lzChainId); } ///// PRIVATE FUNCTIONS ///// diff --git a/src/bridges/helpers/SGReceiver.sol b/src/bridges/helpers/SGReceiver.sol new file mode 100644 index 00000000..147c0d68 --- /dev/null +++ b/src/bridges/helpers/SGReceiver.sol @@ -0,0 +1,54 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.4; + +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; +import {ReentrancyGuard} from "../../common/helpers/DiamondReentrancyGuard.sol"; +import {IStargateReceiver} from "../interfaces/stargate/IStargateReceiver.sol"; +import {IStargateRouter} from "../interfaces/stargate/IStargateRouter.sol"; + +/** + * @title SGReceiver + * @notice Test for sgReceive + */ + +contract SGReceiver is IStargateReceiver, ReentrancyGuard { + using SafeERC20 for IERC20; + + IStargateRouter router; + + /** + * @dev emitted when received on destination chain + * @param token - token address + * @param amount - amount swapping + */ + event StargateReceivedOnDestination(address token, uint256 amount); + + constructor(address _sgRouter) { + router = IStargateRouter(_sgRouter); + } + + /** + * @notice required to receive tokens on destination chain + * @param _token the token contract on the local chain + * @param _amountLD the qty of local _token contract tokens + * @param _payload the bytes containing the toAddress + */ + function sgReceive( + uint16 /*_chainId*/, + bytes memory /*_srcAddress*/, + uint256 /*_nonce*/, + address _token, + uint256 _amountLD, + bytes memory _payload + ) external override nonReentrant { + require( + msg.sender == address(router), + "Stargate:: only stargate router" + ); + + address to = abi.decode(_payload, (address)); + IERC20(_token).safeTransfer(to, _amountLD); + emit StargateReceivedOnDestination(_token, _amountLD); + } +} diff --git a/src/bridges/interfaces/IConnext.sol b/src/bridges/interfaces/IConnext.sol new file mode 100644 index 00000000..34831ae8 --- /dev/null +++ b/src/bridges/interfaces/IConnext.sol @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity 0.8.17; + +interface IConnext { + function xcall( + uint32 _destination, + address _to, + address _asset, + address _delegate, + uint256 _amount, + uint256 _slippage, + bytes calldata _callData + ) external payable returns (bytes32); +} diff --git a/test/bridges/StargateFacet.ts b/test/bridges/StargateFacet.ts index 2fb407fc..44ae67d1 100644 --- a/test/bridges/StargateFacet.ts +++ b/test/bridges/StargateFacet.ts @@ -1,15 +1,22 @@ -import { BigNumber, ContractReceipt, ContractTransaction, utils } from "ethers"; +import { Contract, ContractReceipt, ContractTransaction } from "ethers"; import { deployContract, - checkEvent, multiCallCheckLastEventEmitted, + SignerWithAddress, } from "../shared"; import { addFacets, getSelectors } from "../../utils/diamond"; -import { StargateFacet, Diamond, DiamondCutFacet } from "../../typings"; -import { ethers, deployments, network } from "hardhat"; -import { SignerWithAddress } from "hardhat-deploy-ethers/dist/src/signers"; +import { Diamond, DiamondCutFacet, StargateFacet } from "../../typings"; +import { + ChainIdConfigStruct, + StargateDataStruct, + StargateETHDataStruct, +} from "../../typings/StargateFacet"; +import { ethers, network } from "hardhat"; import { expectRevert } from "@openzeppelin/test-helpers"; +import { impersonateAccount } from "@nomicfoundation/hardhat-network-helpers"; import USDC_ABI from "./abi/USDC_ABI.js"; +// import USDT_ABI from "./abi/USDT_ABI.js"; +import { defaultAbiCoder } from "ethers/lib/utils"; const ETH_CHAIN_ID = 1; const POLYGON_CHAIN_ID = 137; @@ -23,13 +30,18 @@ const MAINNET_STARGATE_ETH_ROUTER_ADDRESS = "0x150f94B44927F078737562f0fcF3C95c01Cc2376"; const POLYGON_STARGATE_ROUTER_ADDRESS = "0x45A01E4e04F14f7A4a6702c74187c5F6222033cd"; -const ARBITRUM_STARGATE_ROUTER_ADDRESS = - "0x53Bf833A5d6c4ddA888F69c22C88C9f356a41614"; const MAINNET_USDC_ADDRESS = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"; -const POLYGON_USDC_ADDRESS = "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"; -const ARBITRUM_USDC_ADDRESS = "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8"; +// const MAINNET_USDT_ADDRESS = "0xdAC17F958D2ee523a2206206994597C13D831ec7"; +const CHAIN_IDS_TO_LZ_CHAIN_IDS: ChainIdConfigStruct[] = [ + { chainId: ARBITRUM_CHAIN_ID, layerZeroChainId: LZ_ARBITRUM_CHAIN_ID }, + { chainId: ETH_CHAIN_ID, layerZeroChainId: LZ_ETH_CHAIN_ID }, + { chainId: POLYGON_CHAIN_ID, layerZeroChainId: LZ_POLYGON_CHAIN_ID }, +]; const ZERO_ADDRESS = ethers.constants.AddressZero; -const AMOUNT = utils.parseUnits("100", 6); +const TEN_USDC = ethers.utils.parseUnits("10", 6); +const VITALIK_ACCOUNT = "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"; +const USDC_FUNDER_ACCOUNT = "0x95Ba4cF87D6723ad9C0Db21737D862bE80e93911"; +// const BINANCE_PEG_ACCOUNT = "0x47ac0Fb4F2D84898e4D9E7b4DaB3C24507a6D503"; describe("StargateFacet", () => { let diamond: Diamond; @@ -39,156 +51,437 @@ describe("StargateFacet", () => { let owner: SignerWithAddress; let alice: SignerWithAddress; let bob: SignerWithAddress; - let dummy: SignerWithAddress; - let usdc, transferData, ethTransferData; - - /* eslint-enable @typescript-eslint/no-explicit-any */ - const setupTest = deployments.createFixture( - async ({ deployments, ethers }) => { - await deployments.fixture("DeployStargateFacet"); - - accounts = await ethers.getSigners(); - owner = accounts[0]; - bob = accounts[1]; - dummy = accounts[2]; - - // Set up diamond contract - diamondCutFacet = await deployContract("DiamondCutFacet"); - diamond = await deployContract("Diamond", [ - owner.address, - diamondCutFacet.address, - ]); - - // Deploy StargateFacet contract from Diamond - stargateFacet = await ethers.getContractAt( - "StargateFacet", - diamond.address, + let usdcFunder: SignerWithAddress; + // let usdtFunder: SignerWithAddress; + let transferData: StargateDataStruct; + let ethTransferData: StargateETHDataStruct; + let usdc: Contract; + // let usdt: Contract; + + async function setup() { + accounts = await ethers.getSigners(); + owner = accounts[0]; + bob = accounts[1]; + await impersonateAccount(VITALIK_ACCOUNT); + alice = await ethers.getSigner(VITALIK_ACCOUNT); + await impersonateAccount(USDC_FUNDER_ACCOUNT); + usdcFunder = await ethers.getSigner(USDC_FUNDER_ACCOUNT); + + diamondCutFacet = await deployContract("DiamondCutFacet"); + diamond = await deployContract("Diamond", [ + owner.address, + diamondCutFacet.address, + ]); + stargateFacet = await ethers.getContractAt( + "StargateFacet", + diamond.address, + ); + const facetsToAdd = ["StargateFacet"]; + const cut = { + [stargateFacet.address]: getSelectors(stargateFacet), + }; + for (const facet of facetsToAdd) { + const facetContract = await deployContract(facet); + cut[facetContract.address] = getSelectors(facetContract); + await addFacets([facetContract], diamond.address); + } + usdc = new ethers.Contract(MAINNET_USDC_ADDRESS, USDC_ABI); + await usdc + .connect(usdcFunder) + .transfer(alice.address, ethers.utils.parseUnits("100", 6)); + await usdc + .connect(alice) + .approve(stargateFacet.address, ethers.utils.parseUnits("1000000", 6)); + await owner.sendTransaction({ + to: stargateFacet.address, + value: ethers.utils.parseEther("10"), + }); + await owner.sendTransaction({ + to: alice.address, + value: ethers.utils.parseEther("10"), + }); + await owner.sendTransaction({ + to: usdcFunder.address, + value: ethers.utils.parseEther("10"), + }); + stargateFacet + .connect(owner) + .initStargate( + MAINNET_STARGATE_ROUTER_ADDRESS, + MAINNET_STARGATE_ETH_ROUTER_ADDRESS, + ETH_CHAIN_ID, + CHAIN_IDS_TO_LZ_CHAIN_IDS, + { + gasLimit: 500000, + }, ); + } - // Add StargateFacet as facet - const facetsToAdd = ["StargateFacet"]; - const cut = { - [stargateFacet.address]: getSelectors(stargateFacet), - }; + beforeEach(async () => { + await network.provider.request({ + method: "hardhat_reset", + params: [ + { + forking: { + jsonRpcUrl: `https://eth-mainnet.alchemyapi.io/v2/${process.env.MAINNET_ALCHEMY_API_KEY}`, + }, + }, + ], + }); + await setup(); + }); - for (const facet of facetsToAdd) { - const facetContract = await deployContract(facet); - cut[facetContract.address] = getSelectors(facetContract); - await addFacets([facetContract], diamond.address); - } + describe("#initStargate", async () => { + it("should trigger error if owner is not caller", async () => { + await expectRevert( + stargateFacet + .connect(bob) + .initStargate( + MAINNET_STARGATE_ROUTER_ADDRESS, + MAINNET_STARGATE_ETH_ROUTER_ADDRESS, + ETH_CHAIN_ID, + CHAIN_IDS_TO_LZ_CHAIN_IDS, + { + gasLimit: 500000, + }, + ), + "LibDiamond: Must be contract owner", + ); + }); - // Impersonate Vitalik account - await network.provider.request({ - method: "hardhat_impersonateAccount", - params: ["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"], - }); + it("should revert if stargate router address is address(0)", async () => { + await expectRevert( + stargateFacet.initStargate( + ZERO_ADDRESS, + MAINNET_STARGATE_ETH_ROUTER_ADDRESS, + ETH_CHAIN_ID, + CHAIN_IDS_TO_LZ_CHAIN_IDS, + ), + "Stargate:: invalid address", + ); + }); - // Assign to alice - alice = await ethers.getSigner( - "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + it("should revert if stargate ETH router address is address(0)", async () => { + await expectRevert( + stargateFacet.initStargate( + MAINNET_STARGATE_ROUTER_ADDRESS, + ZERO_ADDRESS, + ETH_CHAIN_ID, + CHAIN_IDS_TO_LZ_CHAIN_IDS, + ), + "Stargate:: invalid address", ); + }); - // Initialize StargateFacet contract with Stargate Router address and chain id - stargateFacet + it("should initialize the stargate router address and chain id", async () => { + const tx: ContractTransaction = await stargateFacet .connect(owner) .initStargate( MAINNET_STARGATE_ROUTER_ADDRESS, MAINNET_STARGATE_ETH_ROUTER_ADDRESS, ETH_CHAIN_ID, + CHAIN_IDS_TO_LZ_CHAIN_IDS, { gasLimit: 500000, }, ); + const receipt: ContractReceipt = await tx.wait(); + const result = multiCallCheckLastEventEmitted(receipt); + expect(result[0]).toEqual("StargateInitialized"); + expect(result[1]).toEqual(MAINNET_STARGATE_ROUTER_ADDRESS); + expect(result[2]).toEqual(MAINNET_STARGATE_ETH_ROUTER_ADDRESS); + expect(result[3]).toEqual(ETH_CHAIN_ID); + }); + }); + + describe("#stargateTokenTransfer", async () => { + it("should trigger error if no msg.value amount to pay for fees", async () => { + transferData = { + amount: TEN_USDC, + bridgeToken: MAINNET_USDC_ADDRESS, + dstChainId: POLYGON_CHAIN_ID, + srcPoolId: 1, // USDC pool id mainnet + dstPoolId: 1, // USDC pool id polygon + to: bob.address, + slippage: 300, // 3% + destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, + }; - // get USDC contract instance - usdc = new ethers.Contract(MAINNET_USDC_ADDRESS, USDC_ABI); + await expectRevert( + stargateFacet.connect(alice).stargateTokenTransfer(transferData), + "Stargate:: msg.value required to pay message", + ); + }); + + it("should trigger error if no amount is specified", async () => { + transferData = { + amount: ethers.utils.parseUnits("0", 6), + bridgeToken: MAINNET_USDC_ADDRESS, + dstChainId: POLYGON_CHAIN_ID, + srcPoolId: 1, // USDC pool id mainnet + dstPoolId: 1, // USDC pool id polygon + to: bob.address, + slippage: 300, // 3% + destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, + }; + + await expectRevert( + stargateFacet.connect(alice).stargateTokenTransfer(transferData, { + value: ethers.utils.parseEther("0.01"), + }), + "Stargate:: invalid quantity", + ); + }); + + it("should trigger error if chain id is invalid", async () => { + transferData = { + amount: TEN_USDC, + bridgeToken: MAINNET_USDC_ADDRESS, + dstChainId: 999, + srcPoolId: 1, // USDC pool id mainnet + dstPoolId: 1, // USDC pool id polygon + to: bob.address, + slippage: 300, // 3% + destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, + }; + + await expectRevert( + stargateFacet.connect(alice).stargateTokenTransfer(transferData, { + value: ethers.utils.parseEther("0.01"), + }), + "Stargate:: chain not assigned layer zero chain id", + ); + }); + + it("should throw error if an invalid pool has been selected", async () => { + transferData = { + amount: TEN_USDC, + bridgeToken: MAINNET_USDC_ADDRESS, + dstChainId: POLYGON_CHAIN_ID, + srcPoolId: 1, // USDC pool id mainnet + dstPoolId: 7, // FRAX pool id polygon + to: bob.address, + slippage: 300, // 3% + destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, + }; + + await expectRevert( + stargateFacet.connect(alice).stargateTokenTransfer(transferData, { + value: ethers.utils.parseEther("0.01"), + }), + "Stargate: local chainPath does not exist", + ); + }); + + it("should error if valid pool selected but no valid chain path for swap", async () => { + transferData = { + amount: TEN_USDC, + bridgeToken: MAINNET_USDC_ADDRESS, + dstChainId: POLYGON_CHAIN_ID, + srcPoolId: 1, // USDC pool id mainnet + dstPoolId: 3, // USDC pool id polygon + to: bob.address, + slippage: 300, // 3% + destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, + }; + + await expectRevert( + stargateFacet.connect(alice).stargateTokenTransfer(transferData, { + value: ethers.utils.parseEther("0.01"), + }), + "Stargate: local chainPath does not exist", + ); + }); + + it("should perform ERC20 token swap (MAINNET USDC => MATIC USDC)", async () => { + transferData = { + amount: TEN_USDC, + bridgeToken: MAINNET_USDC_ADDRESS, + dstChainId: POLYGON_CHAIN_ID, + srcPoolId: 1, // USDC pool id mainnet + dstPoolId: 1, // USDC pool id polygon + to: bob.address, + slippage: 300, // 3% + destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, + }; - // Alice approve CBridgeFacet to use ERC20 tokens - await usdc + const tx = await stargateFacet .connect(alice) - .approve(stargateFacet.address, utils.parseUnits("1000000", 10)); + .stargateTokenTransfer(transferData, { + value: ethers.utils.parseEther("0.01"), + }); - // send some eth to contract and alice - await owner.sendTransaction({ - to: stargateFacet.address, - value: ethers.utils.parseEther("5"), + const receipt = await tx.wait(); + const event = receipt.events?.filter(x => { + return x.event == "StargateTokenSwap"; }); - await owner.sendTransaction({ - to: alice.address, - value: ethers.utils.parseEther("5"), + expect(event[0].args.fromToken).toEqual(MAINNET_USDC_ADDRESS); + expect(event[0].args.from).toEqual(alice.address); + expect(event[0].args.to).toEqual(bob.address); + expect(event[0].args.amount).toEqual(TEN_USDC); + expect(event[0].args.chainIdTo).toEqual(POLYGON_CHAIN_ID); + }); + + it("should perform ERC20 token swap (MAINNET USDC => MATIC USDT)", async () => { + transferData = { + amount: TEN_USDC, + bridgeToken: MAINNET_USDC_ADDRESS, + dstChainId: POLYGON_CHAIN_ID, + srcPoolId: 1, // USDC pool id mainnet + dstPoolId: 2, // USDC pool id polygon + to: bob.address, + slippage: 300, // 3% + destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, + }; + + const tx = await stargateFacet + .connect(alice) + .stargateTokenTransfer(transferData, { + value: ethers.utils.parseEther("0.01"), + }); + + const receipt = await tx.wait(); + const event = receipt.events?.filter(x => { + return x.event == "StargateTokenSwap"; }); - }, - ); - before(async function() { - this.timeout(0); - await network.provider.request({ - method: "hardhat_reset", - params: [ - { - forking: { - jsonRpcUrl: `https://eth-mainnet.alchemyapi.io/v2/${process.env.MAINNET_ALCHEMY_API_KEY}`, - blockNumber: 15000000, - }, - }, - ], + expect(event[0].args.fromToken).toEqual(MAINNET_USDC_ADDRESS); + expect(event[0].args.from).toEqual(alice.address); + expect(event[0].args.to).toEqual(bob.address); + expect(event[0].args.amount).toEqual(TEN_USDC); + expect(event[0].args.chainIdTo).toEqual(POLYGON_CHAIN_ID); }); }); - beforeEach(async function() { - this.timeout(0); - await setupTest(); - }); - - describe("#initStargate", async function() { - it("should initialize the stargate router address and chain id", async function() { - const tx: ContractTransaction = await stargateFacet + describe("#stargateETHTransfer", async () => { + it("should trigger error if cannot bridge ETH from this chain", async () => { + stargateFacet .connect(owner) .initStargate( MAINNET_STARGATE_ROUTER_ADDRESS, MAINNET_STARGATE_ETH_ROUTER_ADDRESS, - ETH_CHAIN_ID, + 56, + CHAIN_IDS_TO_LZ_CHAIN_IDS, { gasLimit: 500000, }, ); - const receipt: ContractReceipt = await tx.wait(); - const result = multiCallCheckLastEventEmitted(receipt); - expect(result[0]).toEqual("StargateInitialized"); - expect(result[1]).toEqual(MAINNET_STARGATE_ROUTER_ADDRESS); - expect(result[2]).toEqual(MAINNET_STARGATE_ETH_ROUTER_ADDRESS); - expect(result[3]).toEqual(ETH_CHAIN_ID); + ethTransferData = { + amount: ethers.utils.parseEther("0.01"), + dstChainId: ARBITRUM_CHAIN_ID, + to: bob.address, + slippage: 300, // 3% + }; + + await expectRevert( + stargateFacet.connect(alice).stargateETHTransfer(ethTransferData, { + value: ethers.utils.parseEther("0.1"), + }), + "Stargate:: Cannot directly bridge ETH from this chain", + ); }); - it("should revert if stargate router address is address(0)", async () => { + it("should trigger error if cannot bridge ETH to this chain", async () => { + ethTransferData = { + amount: ethers.utils.parseEther("0.01"), + dstChainId: POLYGON_CHAIN_ID, + to: bob.address, + slippage: 300, // 3% + }; + await expectRevert( - stargateFacet.initStargate( - ZERO_ADDRESS, - MAINNET_STARGATE_ETH_ROUTER_ADDRESS, - ETH_CHAIN_ID, - ), - "Stargate:: invalid address", + stargateFacet.connect(alice).stargateETHTransfer(ethTransferData, { + value: ethers.utils.parseEther("0.1"), + }), + "Stargate:: Cannot directly bridge ETH to this chain", ); }); - it("should revert if stargate ETH router address is address(0)", async () => { + it("should trigger error if no msg.value amount to pay for fees", async () => { + ethTransferData = { + amount: ethers.utils.parseEther("0.01"), + dstChainId: ARBITRUM_CHAIN_ID, + to: bob.address, + slippage: 300, // 3% + }; + await expectRevert( - stargateFacet.initStargate( - MAINNET_STARGATE_ROUTER_ADDRESS, - ZERO_ADDRESS, - ETH_CHAIN_ID, - ), - "Stargate:: invalid address", + stargateFacet.connect(alice).stargateETHTransfer(ethTransferData), + "Stargate:: msg.value required", + ); + }); + + it("should trigger error if no amount is specified", async () => { + ethTransferData = { + amount: 0, + dstChainId: ARBITRUM_CHAIN_ID, + to: bob.address, + slippage: 300, // 3% + }; + + await expectRevert( + stargateFacet.connect(alice).stargateETHTransfer(ethTransferData, { + value: ethers.utils.parseEther("0.01"), + }), + "Stargate:: invalid quantity", ); }); + + it("should trigger error msg.value - amount <= 0 ", async () => { + ethTransferData = { + amount: ethers.utils.parseEther("0.01"), + dstChainId: ARBITRUM_CHAIN_ID, + to: bob.address, + slippage: 300, // 3% + }; + + await expectRevert( + stargateFacet.connect(alice).stargateETHTransfer(ethTransferData, { + value: ethers.utils.parseEther("0.01"), + }), + "Stargate: no fees added for ETH transfer", + ); + + await expectRevert( + stargateFacet.connect(alice).stargateETHTransfer(ethTransferData, { + value: ethers.utils.parseEther("0.001"), + }), + "Stargate: no fees added for ETH transfer", + ); + }); + + it("should perform an ETH swap (MAINNET => ARBITRUM)", async () => { + ethTransferData = { + amount: ethers.utils.parseEther("0.1"), + dstChainId: ARBITRUM_CHAIN_ID, + to: bob.address, + slippage: 300, // 3% + }; + + const tx = await stargateFacet + .connect(alice) + .stargateETHTransfer(ethTransferData, { + value: ethers.utils.parseEther("0.2"), + }); + + const receipt = await tx.wait(); + const event = receipt.events?.filter(x => { + return x.event == "StargateETHSwap"; + }); + + expect(event[0].args.from).toEqual(alice.address); + expect(event[0].args.to).toEqual(bob.address); + expect(event[0].args.amount).toEqual(ethers.utils.parseEther("0.1")); + expect(event[0].args.chainIdTo).toEqual(ARBITRUM_CHAIN_ID); + }); }); - describe("#stargateTokenTransfer", async function() { - it("should trigger error if no msg.value amount to pay for fees", async () => { + describe("#stargateFees", async () => { + it("should get estimated layer zero fees for transaction", async () => { transferData = { - qty: utils.parseUnits("1000", 10), - fromToken: usdc.address, + amount: TEN_USDC, + bridgeToken: MAINNET_USDC_ADDRESS, dstChainId: POLYGON_CHAIN_ID, srcPoolId: 1, // USDC pool id mainnet dstPoolId: 1, // USDC pool id polygon @@ -197,355 +490,122 @@ describe("StargateFacet", () => { destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, }; - console.log(`bob address: ${bob.address}`); - console.log(`from token address: ${usdc.address}`); - console.log(`polygon router address: ${POLYGON_STARGATE_ROUTER_ADDRESS}`); + const fees = await stargateFacet.stargateFees( + transferData, + MAINNET_STARGATE_ROUTER_ADDRESS, + ); + expect(parseInt(fees.toString())).toBeGreaterThan(0); + }); + }); + describe("#getLzChainId", async () => { + it("should trigger error if chain id has not been paired with layer zero chain id", async () => { await expectRevert( - stargateFacet.connect(alice).stargateTokenTransfer(transferData), - "Stargate:: msg.value required to pay message", + stargateFacet.getLzChainId(999), + "Stargate:: chain not assigned layer zero chain id", ); }); - // it("should revert if starting a token bridge transaction and fromToken is address(0)", async function() { - // StargateData = { - // qty: AMOUNT, - // fromToken: ZERO_ADDRESS, - // toToken: POLYGON_USDC_ADDRESS, - // dstChainId: POLYGON_CHAIN_ID, - // to: bob.address, - // destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, - // }; - - // await expectRevert( - // stargateFacet.connect(alice).sgBridgeTokens(StargateData, { - // gasLimit: ethers.utils.hexlify(2000000), - // }), - // "InvalidConfig()", - // ); - // }); + it("should return layer zero chain id for specified chain", async () => { + const lzChainId = await stargateFacet.getLzChainId(ARBITRUM_CHAIN_ID); + expect(lzChainId).toEqual(LZ_ARBITRUM_CHAIN_ID); + }); + }); - // it("should revert if starting a token bridge transaction and toToken is address(0)", async function() { - // StargateData = { - // qty: AMOUNT, - // fromToken: usdc.address, - // toToken: ZERO_ADDRESS, - // dstChainId: POLYGON_CHAIN_ID, - // to: bob.address, - // destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, - // }; - - // await expectRevert( - // stargateFacet.connect(alice).sgBridgeTokens(StargateData, { - // gasLimit: ethers.utils.hexlify(2000000), - // }), - // "InvalidConfig()", - // ); - // }); + describe("#setLzChainId", async () => { + it("should trigger error if owner is not caller", async () => { + await expectRevert( + stargateFacet.connect(bob).setLzChainId(1, 101), + "LibDiamond: Must be contract owner", + ); + }); - // it("should revert if starting a token bridge transaction and source token is invalid", async function() { - // StargateData = { - // qty: AMOUNT, - // fromToken: "0x6B175474E89094C44Da98b954EedeAC495271d0F", // DAI address - // toToken: POLYGON_USDC_ADDRESS, - // dstChainId: POLYGON_CHAIN_ID, - // to: bob.address, - // destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, - // }; - - // await expectRevert( - // stargateFacet.connect(alice).sgBridgeTokens(StargateData, { - // gasLimit: ethers.utils.hexlify(2000000), - // }), - // "InvalidSourcePoolId()", - // ); - // }); + it("should set/update chain id -> layer zero chain id", async () => { + await stargateFacet.connect(owner).setLzChainId(999, 13); + const lzChainId = await stargateFacet.getLzChainId(999); + expect(lzChainId).toEqual(13); + }); + }); - // it("should revert if starting a token bridge transaction and destination token is invalid", async function() { - // StargateData = { - // qty: AMOUNT, - // fromToken: usdc.address, - // toToken: "0x0000000000000000000000000000000000001010", // MATIC address - // dstChainId: POLYGON_CHAIN_ID, - // to: bob.address, - // destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, - // }; - - // await expectRevert( - // stargateFacet.connect(alice).sgBridgeTokens(StargateData, { - // gasLimit: ethers.utils.hexlify(2000000), - // }), - // "Stargate: local chainPath does not exist", - // ); - // }); + describe("#sgReceive", async () => { + it("should trigger error if not called by StargateRouter", async () => { + await expectRevert( + stargateFacet + .connect(alice) + .sgReceive( + POLYGON_CHAIN_ID, + ZERO_ADDRESS, + 9, + usdc.address, + ethers.utils.parseEther("0.01"), + defaultAbiCoder.encode(["address"], [bob.address]), + ), + "Stargate:: only stargate router", + ); + }); - // it("should revert if starting a token bridge transaction and receiver is address(0)", async function() { - // StargateData = { - // qty: AMOUNT, - // fromToken: usdc.address, - // toToken: POLYGON_USDC_ADDRESS, - // dstChainId: POLYGON_CHAIN_ID, - // to: ZERO_ADDRESS, - // destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, - // }; - - // await expectRevert( - // stargateFacet.connect(alice).sgBridgeTokens(StargateData, { - // gasLimit: ethers.utils.hexlify(2000000), - // }), - // "InvalidConfig()", - // ); - // }); + // Not working due to 'FeeLibrary: not enough balance' error from Router => USDC pool => FeeLibrary contract; + // it.only("should emit event and transfer tokens after sgReceive is triggered", async () => { + // const THOUSAND = ethers.utils.parseUnits("1000", 6); + // await impersonateAccount(BINANCE_PEG_ACCOUNT); + // usdtFunder = await ethers.getSigner(BINANCE_PEG_ACCOUNT); - // it("should revert if starting a token bridge transaction and destStargateComposed is address(0)", async function() { - // StargateData = { - // qty: AMOUNT, - // fromToken: usdc.address, - // toToken: POLYGON_USDC_ADDRESS, - // dstChainId: POLYGON_CHAIN_ID, - // to: bob.address, - // destStargateComposed: ZERO_ADDRESS, - // }; - - // await expectRevert( - // stargateFacet.connect(alice).sgBridgeTokens(StargateData, { - // gasLimit: ethers.utils.hexlify(2000000), - // }), - // "InvalidConfig()", - // ); + // await owner.sendTransaction({ + // to: usdtFunder.address, + // value: ethers.utils.parseEther("10"), // }); - // it("should start a token bridge transaction on the sending chain - Polygon", async function() { - // StargateData = { - // qty: AMOUNT, - // fromToken: usdc.address, - // toToken: POLYGON_USDC_ADDRESS, - // dstChainId: POLYGON_CHAIN_ID, - // to: bob.address, - // destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, - // }; - - // const tx: ContractTransaction = await stargateFacet - // .connect(alice) - // .sgBridgeTokens(StargateData, { - // gasLimit: ethers.utils.hexlify(2000000), - // }); - - // const receipt: ContractReceipt = await tx.wait(); - // const result = multiCallCheckLastEventEmitted(receipt); - // expect(result[0]).toEqual("SGTransferStarted"); - // expect(result[1]).toEqual("stargate"); - // expect(result[2]).toEqual(MAINNET_USDC_ADDRESS); - // expect(result[3]).toEqual(POLYGON_USDC_ADDRESS); - // expect(result[4]).toEqual(alice.address); - // expect(result[5]).toEqual(bob.address); - // expect(result[6]).toEqual(BigNumber.from(AMOUNT)); - // expect(result[7]).toEqual(POLYGON_CHAIN_ID); - // }); + // usdt = new ethers.Contract(MAINNET_USDT_ADDRESS, USDT_ABI); - // it("should start a token bridge transaction on the sending chain - Arbitrum", async function() { - // StargateData = { - // qty: AMOUNT, - // fromToken: usdc.address, - // toToken: ARBITRUM_USDC_ADDRESS, - // dstChainId: ARBITRUM_CHAIN_ID, - // to: bob.address, - // destStargateComposed: ARBITRUM_STARGATE_ROUTER_ADDRESS, - // }; - - // const tx: ContractTransaction = await stargateFacet - // .connect(alice) - // .sgBridgeTokens(StargateData, { - // gasLimit: ethers.utils.hexlify(2000000), - // }); - - // const receipt: ContractReceipt = await tx.wait(); - // const result = multiCallCheckLastEventEmitted(receipt); - // expect(result[0]).toEqual("SGTransferStarted"); - // expect(result[1]).toEqual("stargate"); - // expect(result[2]).toEqual(MAINNET_USDC_ADDRESS); - // expect(result[3]).toEqual(ARBITRUM_USDC_ADDRESS); - // expect(result[4]).toEqual(alice.address); - // expect(result[5]).toEqual(bob.address); - // expect(result[6]).toEqual(BigNumber.from(AMOUNT)); - // expect(result[7]).toEqual(ARBITRUM_CHAIN_ID); - // }); + // const router = await ethers.getContractAt( + // "IStargateRouter", + // MAINNET_STARGATE_ROUTER_ADDRESS, + // ); + // console.log(`before adding usdc/usdt liquidity`); + + // await usdc.connect(usdcFunder).approve(router.address, THOUSAND); + // await usdt.connect(usdtFunder).approve(router.address, THOUSAND); + + // await router + // .connect(usdcFunder) + // .addLiquidity(1, THOUSAND, usdcFunder.address); + + // await router + // .connect(usdtFunder) + // .addLiquidity(2, THOUSAND, usdtFunder.address); - // it("should deduct users tokens from balance on successful bridge", async function() { - // StargateData = { - // qty: AMOUNT, - // fromToken: usdc.address, - // toToken: POLYGON_USDC_ADDRESS, - // dstChainId: POLYGON_CHAIN_ID, - // to: bob.address, - // destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, - // }; + // console.log(`after adding usdc/usdt liquidity`); - // const preBalance = await usdc.connect(alice).balanceOf(alice.address); + // const receiver = await deployContract("SGReceiver", [ + // MAINNET_STARGATE_ROUTER_ADDRESS, + // ]); - // const tx = await stargateFacet - // .connect(alice) - // .sgBridgeTokens(StargateData, { - // gasLimit: ethers.utils.hexlify(2000000), - // }); + // transferData = { + // amount: ethers.utils.parseUnits("10", 6), + // bridgeToken: MAINNET_USDC_ADDRESS, // mainnet USDC address + // dstChainId: 1, //mainnet => mainnet + // srcPoolId: 1, // USDC pool id mainnet + // dstPoolId: 2, // USDT pool id mainnet + // to: bob.address, + // slippage: 300, // 3% + // destStargateComposed: receiver.address, //sgReceiver implementer contract + // }; - // await tx.wait(); + // const tx = await stargateFacet + // .connect(alice) + // .stargateTokenTransfer(transferData, { + // value: ethers.utils.parseEther("0.1"), + // }); - // const postBalance = await usdc.connect(alice).balanceOf(alice.address); - // expect(postBalance.toNumber()).toEqual(preBalance.toNumber() - 100000000); + // const receipt = await tx.wait(); + + // const event = receipt.events?.filter(x => { + // return x.event == "StargateReceivedOnDestination"; // }); - }); - // describe("sgUpdateRouter()", async function() { - // it("should revert if updating stargate router address and not owner", async function() { - // await expectRevert( - // stargateFacet.connect(bob).sgUpdateRouter(bob.address), - // "LibDiamond: Must be contract owner", - // ); - // }); - - // it("should revert if updating stargate router address with zero address", async function() { - // await expectRevert( - // stargateFacet.connect(owner).sgUpdateRouter(ZERO_ADDRESS), - // "StargateRouterAddressZero()", - // ); - // }); - - // it("should update stargate router address", async function() { - // const tx: ContractTransaction = await stargateFacet.sgUpdateRouter( - // dummy.address, - // ); - // const receipt: ContractReceipt = await tx.wait(); - // const result = checkEvent(receipt); - // expect(result[0]).toEqual("SGUpdatedRouter"); - // expect(result[1]).toEqual(dummy.address); - // }); - // }); - - // describe("sgCalculateFees()", async function() { - // it("should return calculated fee amount in wei for making swap", async function() { - // const feeWei = await stargateFacet.sgCalculateFees( - // POLYGON_CHAIN_ID, - // bob.address, - // MAINNET_STARGATE_ROUTER_ADDRESS, - // { gasLimit: ethers.utils.hexlify(2000000) }, - // ); - // expect(feeWei).toBeGreaterThanBN(BigNumber.from(10000000)); - // }); - // }); - - // describe("sgUpdateSlippageTolerance()", async function() { - // it("should revert if updating slippage tolerance amount and not owner", async function() { - // await expectRevert( - // stargateFacet.connect(bob).sgUpdateSlippageTolerance(200), - // "LibDiamond: Must be contract owner", - // ); - // }); - - // it("should update slippage tolerance amount", async function() { - // const tx: ContractTransaction = await stargateFacet.sgUpdateSlippageTolerance( - // 200, - // ); - // const receipt: ContractReceipt = await tx.wait(); - // const result = checkEvent(receipt); - // expect(result[0]).toEqual("SGUpdatedSlippageTolerance"); - // expect(result[1]).toEqual(BigNumber.from(200)); - // }); - - // it("should return 0.5% of amount for default minimum slippage", async function() { - // const minAmount: BigNumber = await stargateFacet.sgMinAmountOut(1000); - // const expectAmountOut: number = (1000 * (10000 - 50)) / 10000; - // expect(BigNumber.from(minAmount)).toEqual( - // BigNumber.from(expectAmountOut), - // ); - // }); - - // it("should return 2% of amount for minimum slippage after slippage updated", async function() { - // // perform slippage calc for default 0.5% tolerance - // let minAmount: BigNumber = await stargateFacet.sgMinAmountOut(1000); - // let expectAmountOut: number = (1000 * (10000 - 50)) / 10000; - // expect(BigNumber.from(minAmount)).toEqual( - // BigNumber.from(expectAmountOut), - // ); - - // // change slippage tolerance to 2% - // await stargateFacet.sgUpdateSlippageTolerance(200); - - // // perform slippage calc for default 2% tolerance - // minAmount = await stargateFacet.sgMinAmountOut(1000); - // expectAmountOut = (1000 * (10000 - 200)) / 10000; - // expect(BigNumber.from(minAmount)).toEqual( - // BigNumber.from(expectAmountOut), - // ); - // }); - // }); - - // describe("sgAddPool()", async function() { - // it("should revert if adding pool to mapping and not owner", async function() { - // await expectRevert( - // stargateFacet.connect(bob).sgAddPool(1, MAINNET_USDC_ADDRESS, 3), - // "LibDiamond: Must be contract owner", - // ); - // }); - - // it("should add a new pool id to mapping", async function() { - // await stargateFacet.connect(owner).sgAddPool(15, MAINNET_USDC_ADDRESS, 3); - // const isAdded = await stargateFacet.sgCheckPoolId( - // 15, - // MAINNET_USDC_ADDRESS, - // 3, - // ); - // expect(isAdded).toEqual(true); - // }); - - // it("should emit a SGAddedPool event", async function() { - // const tx: ContractTransaction = await stargateFacet - // .connect(owner) - // .sgAddPool(15, MAINNET_USDC_ADDRESS, 3); - // const receipt: ContractReceipt = await tx.wait(); - // const result = checkEvent(receipt); - // expect(result[0]).toEqual("SGAddedPool"); - // expect(result[1]).toEqual(15); - // expect(result[2]).toEqual(MAINNET_USDC_ADDRESS); - // expect(result[3]).toEqual(3); - // }); - // }); - - // describe("sgCheckPoolId()", async function() { - // it("should check pool exists in mapping - true", async function() { - // const isValidPool = await stargateFacet.sgCheckPoolId( - // ETH_CHAIN_ID, - // "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - // 1, - // ); - // expect(isValidPool).toEqual(true); - // }); - - // it("should check pool exists in mapping - false", async function() { - // const isValidPool = await stargateFacet.sgCheckPoolId( - // 18, - // "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - // 1, - // ); - // expect(isValidPool).toEqual(false); - // }); - // }); - - // describe("sgRetrievePoolId()", async function() { - // it("should retrieve pool for a valid token in mapping", async function() { - // const poolId = await stargateFacet.sgRetrievePoolId( - // 2, // BSC - // "0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56", //BUSD address - // ); - // expect(poolId).toEqual(5); - // }); - - // it("should return zero if token is not in mapping", async function() { - // const poolId = await stargateFacet.sgRetrievePoolId( - // ETH_CHAIN_ID, - // "0x6B175474E89094C44Da98b954EedeAC495271d0F", // DAI address - // ); - // expect(poolId).toEqual(0); - // }); - // }); + // console.log(event); + // //check event emitted + // //check balance changed + // }); + }); }); diff --git a/test/bridges/abi/USDT_ABI.js b/test/bridges/abi/USDT_ABI.js new file mode 100644 index 00000000..01df2866 --- /dev/null +++ b/test/bridges/abi/USDT_ABI.js @@ -0,0 +1,390 @@ +module.exports = [ + { + constant: true, + inputs: [], + name: "name", + outputs: [{ name: "", type: "string" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [{ name: "_upgradedAddress", type: "address" }], + name: "deprecate", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: false, + inputs: [ + { name: "_spender", type: "address" }, + { name: "_value", type: "uint256" }, + ], + name: "approve", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [], + name: "deprecated", + outputs: [{ name: "", type: "bool" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [{ name: "_evilUser", type: "address" }], + name: "addBlackList", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [], + name: "totalSupply", + outputs: [{ name: "", type: "uint256" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [ + { name: "_from", type: "address" }, + { name: "_to", type: "address" }, + { name: "_value", type: "uint256" }, + ], + name: "transferFrom", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [], + name: "upgradedAddress", + outputs: [{ name: "", type: "address" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [{ name: "", type: "address" }], + name: "balances", + outputs: [{ name: "", type: "uint256" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [], + name: "decimals", + outputs: [{ name: "", type: "uint256" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [], + name: "maximumFee", + outputs: [{ name: "", type: "uint256" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [], + name: "_totalSupply", + outputs: [{ name: "", type: "uint256" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [], + name: "unpause", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [{ name: "_maker", type: "address" }], + name: "getBlackListStatus", + outputs: [{ name: "", type: "bool" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [ + { name: "", type: "address" }, + { name: "", type: "address" }, + ], + name: "allowed", + outputs: [{ name: "", type: "uint256" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [], + name: "paused", + outputs: [{ name: "", type: "bool" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [{ name: "who", type: "address" }], + name: "balanceOf", + outputs: [{ name: "", type: "uint256" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [], + name: "pause", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [], + name: "getOwner", + outputs: [{ name: "", type: "address" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [], + name: "owner", + outputs: [{ name: "", type: "address" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [], + name: "symbol", + outputs: [{ name: "", type: "string" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [ + { name: "_to", type: "address" }, + { name: "_value", type: "uint256" }, + ], + name: "transfer", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: false, + inputs: [ + { name: "newBasisPoints", type: "uint256" }, + { name: "newMaxFee", type: "uint256" }, + ], + name: "setParams", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: false, + inputs: [{ name: "amount", type: "uint256" }], + name: "issue", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: false, + inputs: [{ name: "amount", type: "uint256" }], + name: "redeem", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [ + { name: "_owner", type: "address" }, + { name: "_spender", type: "address" }, + ], + name: "allowance", + outputs: [{ name: "remaining", type: "uint256" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [], + name: "basisPointsRate", + outputs: [{ name: "", type: "uint256" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [{ name: "", type: "address" }], + name: "isBlackListed", + outputs: [{ name: "", type: "bool" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [{ name: "_clearedUser", type: "address" }], + name: "removeBlackList", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [], + name: "MAX_UINT", + outputs: [{ name: "", type: "uint256" }], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [{ name: "newOwner", type: "address" }], + name: "transferOwnership", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: false, + inputs: [{ name: "_blackListedUser", type: "address" }], + name: "destroyBlackFunds", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { name: "_initialSupply", type: "uint256" }, + { name: "_name", type: "string" }, + { name: "_symbol", type: "string" }, + { name: "_decimals", type: "uint256" }, + ], + payable: false, + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [{ indexed: false, name: "amount", type: "uint256" }], + name: "Issue", + type: "event", + }, + { + anonymous: false, + inputs: [{ indexed: false, name: "amount", type: "uint256" }], + name: "Redeem", + type: "event", + }, + { + anonymous: false, + inputs: [{ indexed: false, name: "newAddress", type: "address" }], + name: "Deprecate", + type: "event", + }, + { + anonymous: false, + inputs: [ + { indexed: false, name: "feeBasisPoints", type: "uint256" }, + { indexed: false, name: "maxFee", type: "uint256" }, + ], + name: "Params", + type: "event", + }, + { + anonymous: false, + inputs: [ + { indexed: false, name: "_blackListedUser", type: "address" }, + { indexed: false, name: "_balance", type: "uint256" }, + ], + name: "DestroyedBlackFunds", + type: "event", + }, + { + anonymous: false, + inputs: [{ indexed: false, name: "_user", type: "address" }], + name: "AddedBlackList", + type: "event", + }, + { + anonymous: false, + inputs: [{ indexed: false, name: "_user", type: "address" }], + name: "RemovedBlackList", + type: "event", + }, + { + anonymous: false, + inputs: [ + { indexed: true, name: "owner", type: "address" }, + { indexed: true, name: "spender", type: "address" }, + { indexed: false, name: "value", type: "uint256" }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { indexed: true, name: "from", type: "address" }, + { indexed: true, name: "to", type: "address" }, + { indexed: false, name: "value", type: "uint256" }, + ], + name: "Transfer", + type: "event", + }, + { anonymous: false, inputs: [], name: "Pause", type: "event" }, + { anonymous: false, inputs: [], name: "Unpause", type: "event" }, +]; diff --git a/typings/AddressLib.ts b/typings/AddressLib.ts new file mode 100644 index 00000000..2ee3f5b5 --- /dev/null +++ b/typings/AddressLib.ts @@ -0,0 +1,157 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import { FunctionFragment, Result } from "@ethersproject/abi"; +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface AddressLibInterface extends utils.Interface { + functions: { + "c_3ff40878(bytes8)": FunctionFragment; + "c_false3ff40878(bytes8)": FunctionFragment; + "c_true3ff40878(bytes8)": FunctionFragment; + }; + + encodeFunctionData( + functionFragment: "c_3ff40878", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false3ff40878", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true3ff40878", + values: [BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "c_3ff40878", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false3ff40878", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true3ff40878", + data: BytesLike + ): Result; + + events: {}; +} + +export interface AddressLib extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: AddressLibInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + c_3ff40878( + c__3ff40878: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false3ff40878( + c__3ff40878: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true3ff40878( + c__3ff40878: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + c_3ff40878(c__3ff40878: BytesLike, overrides?: CallOverrides): Promise; + + c_false3ff40878( + c__3ff40878: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true3ff40878( + c__3ff40878: BytesLike, + overrides?: CallOverrides + ): Promise; + + callStatic: { + c_3ff40878( + c__3ff40878: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false3ff40878( + c__3ff40878: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true3ff40878( + c__3ff40878: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + c_3ff40878( + c__3ff40878: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false3ff40878( + c__3ff40878: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true3ff40878( + c__3ff40878: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + c_3ff40878( + c__3ff40878: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false3ff40878( + c__3ff40878: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true3ff40878( + c__3ff40878: BytesLike, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/typings/AmplificationUtils.ts b/typings/AmplificationUtils.ts deleted file mode 100644 index 2aee1ce1..00000000 --- a/typings/AmplificationUtils.ts +++ /dev/null @@ -1,94 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { BaseContract, BigNumber, Signer, utils } from "ethers"; -import { EventFragment } from "@ethersproject/abi"; -import { Listener, Provider } from "@ethersproject/providers"; -import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; - -export interface AmplificationUtilsInterface extends utils.Interface { - functions: {}; - - events: { - "RampA(uint256,uint256,uint256,uint256)": EventFragment; - "StopRampA(uint256,uint256)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "RampA"): EventFragment; - getEvent(nameOrSignatureOrTopic: "StopRampA"): EventFragment; -} - -export type RampAEvent = TypedEvent< - [BigNumber, BigNumber, BigNumber, BigNumber], - { - oldA: BigNumber; - newA: BigNumber; - initialTime: BigNumber; - futureTime: BigNumber; - } ->; - -export type RampAEventFilter = TypedEventFilter; - -export type StopRampAEvent = TypedEvent< - [BigNumber, BigNumber], - { currentA: BigNumber; time: BigNumber } ->; - -export type StopRampAEventFilter = TypedEventFilter; - -export interface AmplificationUtils extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: AmplificationUtilsInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: {}; - - callStatic: {}; - - filters: { - "RampA(uint256,uint256,uint256,uint256)"( - oldA?: null, - newA?: null, - initialTime?: null, - futureTime?: null - ): RampAEventFilter; - RampA( - oldA?: null, - newA?: null, - initialTime?: null, - futureTime?: null - ): RampAEventFilter; - - "StopRampA(uint256,uint256)"( - currentA?: null, - time?: null - ): StopRampAEventFilter; - StopRampA(currentA?: null, time?: null): StopRampAEventFilter; - }; - - estimateGas: {}; - - populateTransaction: {}; -} diff --git a/typings/AssetLogic.ts b/typings/AssetLogic.ts deleted file mode 100644 index c9bcff3f..00000000 --- a/typings/AssetLogic.ts +++ /dev/null @@ -1,50 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { BaseContract, Signer, utils } from "ethers"; - -import { Listener, Provider } from "@ethersproject/providers"; -import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; - -export interface AssetLogicInterface extends utils.Interface { - functions: {}; - - events: {}; -} - -export interface AssetLogic extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: AssetLogicInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: {}; - - callStatic: {}; - - filters: {}; - - estimateGas: {}; - - populateTransaction: {}; -} diff --git a/typings/BlockLib.ts b/typings/BlockLib.ts new file mode 100644 index 00000000..fdd8962a --- /dev/null +++ b/typings/BlockLib.ts @@ -0,0 +1,157 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import { FunctionFragment, Result } from "@ethersproject/abi"; +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface BlockLibInterface extends utils.Interface { + functions: { + "c_95aa65b5(bytes8)": FunctionFragment; + "c_false95aa65b5(bytes8)": FunctionFragment; + "c_true95aa65b5(bytes8)": FunctionFragment; + }; + + encodeFunctionData( + functionFragment: "c_95aa65b5", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false95aa65b5", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true95aa65b5", + values: [BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "c_95aa65b5", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false95aa65b5", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true95aa65b5", + data: BytesLike + ): Result; + + events: {}; +} + +export interface BlockLib extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: BlockLibInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + c_95aa65b5( + c__95aa65b5: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false95aa65b5( + c__95aa65b5: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true95aa65b5( + c__95aa65b5: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + c_95aa65b5(c__95aa65b5: BytesLike, overrides?: CallOverrides): Promise; + + c_false95aa65b5( + c__95aa65b5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true95aa65b5( + c__95aa65b5: BytesLike, + overrides?: CallOverrides + ): Promise; + + callStatic: { + c_95aa65b5( + c__95aa65b5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false95aa65b5( + c__95aa65b5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true95aa65b5( + c__95aa65b5: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + c_95aa65b5( + c__95aa65b5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false95aa65b5( + c__95aa65b5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true95aa65b5( + c__95aa65b5: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + c_95aa65b5( + c__95aa65b5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false95aa65b5( + c__95aa65b5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true95aa65b5( + c__95aa65b5: BytesLike, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/typings/BytesLib.ts b/typings/BytesLib.ts new file mode 100644 index 00000000..766726d0 --- /dev/null +++ b/typings/BytesLib.ts @@ -0,0 +1,157 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import { FunctionFragment, Result } from "@ethersproject/abi"; +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface BytesLibInterface extends utils.Interface { + functions: { + "c_c2ee166d(bytes8)": FunctionFragment; + "c_falsec2ee166d(bytes8)": FunctionFragment; + "c_truec2ee166d(bytes8)": FunctionFragment; + }; + + encodeFunctionData( + functionFragment: "c_c2ee166d", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsec2ee166d", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_truec2ee166d", + values: [BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "c_c2ee166d", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_falsec2ee166d", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_truec2ee166d", + data: BytesLike + ): Result; + + events: {}; +} + +export interface BytesLib extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: BytesLibInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + c_c2ee166d( + c__c2ee166d: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_falsec2ee166d( + c__c2ee166d: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_truec2ee166d( + c__c2ee166d: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + c_c2ee166d(c__c2ee166d: BytesLike, overrides?: CallOverrides): Promise; + + c_falsec2ee166d( + c__c2ee166d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truec2ee166d( + c__c2ee166d: BytesLike, + overrides?: CallOverrides + ): Promise; + + callStatic: { + c_c2ee166d( + c__c2ee166d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsec2ee166d( + c__c2ee166d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truec2ee166d( + c__c2ee166d: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + c_c2ee166d( + c__c2ee166d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsec2ee166d( + c__c2ee166d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truec2ee166d( + c__c2ee166d: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + c_c2ee166d( + c__c2ee166d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsec2ee166d( + c__c2ee166d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truec2ee166d( + c__c2ee166d: BytesLike, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/typings/Constants.ts b/typings/Constants.ts deleted file mode 100644 index a22efae3..00000000 --- a/typings/Constants.ts +++ /dev/null @@ -1,549 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { - BaseContract, - BigNumber, - BytesLike, - CallOverrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import { FunctionFragment, Result } from "@ethersproject/abi"; -import { Listener, Provider } from "@ethersproject/providers"; -import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; - -export interface ConstantsInterface extends utils.Interface { - functions: { - "AAVE_REFERRAL_CODE()": FunctionFragment; - "A_PRECISION()": FunctionFragment; - "BPS_FEE_DENOMINATOR()": FunctionFragment; - "DEFAULT_COPY_BYTES()": FunctionFragment; - "DEFAULT_DEADLINE_EXTENSION()": FunctionFragment; - "DEFAULT_NORMALIZED_DECIMALS()": FunctionFragment; - "EXECUTE_CALLDATA_RESERVE_GAS()": FunctionFragment; - "FEE_DENOMINATOR()": FunctionFragment; - "FUTURE_TIME_BUFFER()": FunctionFragment; - "GOVERNANCE_DELAY()": FunctionFragment; - "INITIAL_AAVE_REFERRAL_CODE()": FunctionFragment; - "INITIAL_LIQUIDITY_FEE_NUMERATOR()": FunctionFragment; - "INITIAL_MAX_ROUTERS()": FunctionFragment; - "MAXIMUM_POOLED_TOKENS()": FunctionFragment; - "MAX_A()": FunctionFragment; - "MAX_ADMIN_FEE()": FunctionFragment; - "MAX_A_CHANGE()": FunctionFragment; - "MAX_LOOP_LIMIT()": FunctionFragment; - "MAX_SWAP_FEE()": FunctionFragment; - "MINIMUM_POOLED_TOKENS()": FunctionFragment; - "MIN_RAMP_DELAY()": FunctionFragment; - "MIN_RAMP_TIME()": FunctionFragment; - "ORACLE_VALID_PERIOD()": FunctionFragment; - "POOL_PRECISION_DECIMALS()": FunctionFragment; - }; - - encodeFunctionData( - functionFragment: "AAVE_REFERRAL_CODE", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "A_PRECISION", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "BPS_FEE_DENOMINATOR", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "DEFAULT_COPY_BYTES", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "DEFAULT_DEADLINE_EXTENSION", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "DEFAULT_NORMALIZED_DECIMALS", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "EXECUTE_CALLDATA_RESERVE_GAS", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "FEE_DENOMINATOR", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "FUTURE_TIME_BUFFER", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "GOVERNANCE_DELAY", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "INITIAL_AAVE_REFERRAL_CODE", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "INITIAL_LIQUIDITY_FEE_NUMERATOR", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "INITIAL_MAX_ROUTERS", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "MAXIMUM_POOLED_TOKENS", - values?: undefined - ): string; - encodeFunctionData(functionFragment: "MAX_A", values?: undefined): string; - encodeFunctionData( - functionFragment: "MAX_ADMIN_FEE", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "MAX_A_CHANGE", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "MAX_LOOP_LIMIT", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "MAX_SWAP_FEE", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "MINIMUM_POOLED_TOKENS", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "MIN_RAMP_DELAY", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "MIN_RAMP_TIME", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "ORACLE_VALID_PERIOD", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "POOL_PRECISION_DECIMALS", - values?: undefined - ): string; - - decodeFunctionResult( - functionFragment: "AAVE_REFERRAL_CODE", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "A_PRECISION", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "BPS_FEE_DENOMINATOR", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "DEFAULT_COPY_BYTES", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "DEFAULT_DEADLINE_EXTENSION", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "DEFAULT_NORMALIZED_DECIMALS", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "EXECUTE_CALLDATA_RESERVE_GAS", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "FEE_DENOMINATOR", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "FUTURE_TIME_BUFFER", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "GOVERNANCE_DELAY", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "INITIAL_AAVE_REFERRAL_CODE", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "INITIAL_LIQUIDITY_FEE_NUMERATOR", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "INITIAL_MAX_ROUTERS", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "MAXIMUM_POOLED_TOKENS", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "MAX_A", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "MAX_ADMIN_FEE", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "MAX_A_CHANGE", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "MAX_LOOP_LIMIT", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "MAX_SWAP_FEE", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "MINIMUM_POOLED_TOKENS", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "MIN_RAMP_DELAY", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "MIN_RAMP_TIME", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "ORACLE_VALID_PERIOD", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "POOL_PRECISION_DECIMALS", - data: BytesLike - ): Result; - - events: {}; -} - -export interface Constants extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: ConstantsInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - AAVE_REFERRAL_CODE(overrides?: CallOverrides): Promise<[number]>; - - A_PRECISION(overrides?: CallOverrides): Promise<[BigNumber]>; - - BPS_FEE_DENOMINATOR(overrides?: CallOverrides): Promise<[BigNumber]>; - - DEFAULT_COPY_BYTES(overrides?: CallOverrides): Promise<[number]>; - - DEFAULT_DEADLINE_EXTENSION(overrides?: CallOverrides): Promise<[BigNumber]>; - - DEFAULT_NORMALIZED_DECIMALS(overrides?: CallOverrides): Promise<[number]>; - - EXECUTE_CALLDATA_RESERVE_GAS( - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - FEE_DENOMINATOR(overrides?: CallOverrides): Promise<[BigNumber]>; - - FUTURE_TIME_BUFFER(overrides?: CallOverrides): Promise<[BigNumber]>; - - GOVERNANCE_DELAY(overrides?: CallOverrides): Promise<[BigNumber]>; - - INITIAL_AAVE_REFERRAL_CODE(overrides?: CallOverrides): Promise<[number]>; - - INITIAL_LIQUIDITY_FEE_NUMERATOR( - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - INITIAL_MAX_ROUTERS(overrides?: CallOverrides): Promise<[BigNumber]>; - - MAXIMUM_POOLED_TOKENS(overrides?: CallOverrides): Promise<[BigNumber]>; - - MAX_A(overrides?: CallOverrides): Promise<[BigNumber]>; - - MAX_ADMIN_FEE(overrides?: CallOverrides): Promise<[BigNumber]>; - - MAX_A_CHANGE(overrides?: CallOverrides): Promise<[BigNumber]>; - - MAX_LOOP_LIMIT(overrides?: CallOverrides): Promise<[BigNumber]>; - - MAX_SWAP_FEE(overrides?: CallOverrides): Promise<[BigNumber]>; - - MINIMUM_POOLED_TOKENS(overrides?: CallOverrides): Promise<[BigNumber]>; - - MIN_RAMP_DELAY(overrides?: CallOverrides): Promise<[BigNumber]>; - - MIN_RAMP_TIME(overrides?: CallOverrides): Promise<[BigNumber]>; - - ORACLE_VALID_PERIOD(overrides?: CallOverrides): Promise<[BigNumber]>; - - POOL_PRECISION_DECIMALS(overrides?: CallOverrides): Promise<[number]>; - }; - - AAVE_REFERRAL_CODE(overrides?: CallOverrides): Promise; - - A_PRECISION(overrides?: CallOverrides): Promise; - - BPS_FEE_DENOMINATOR(overrides?: CallOverrides): Promise; - - DEFAULT_COPY_BYTES(overrides?: CallOverrides): Promise; - - DEFAULT_DEADLINE_EXTENSION(overrides?: CallOverrides): Promise; - - DEFAULT_NORMALIZED_DECIMALS(overrides?: CallOverrides): Promise; - - EXECUTE_CALLDATA_RESERVE_GAS(overrides?: CallOverrides): Promise; - - FEE_DENOMINATOR(overrides?: CallOverrides): Promise; - - FUTURE_TIME_BUFFER(overrides?: CallOverrides): Promise; - - GOVERNANCE_DELAY(overrides?: CallOverrides): Promise; - - INITIAL_AAVE_REFERRAL_CODE(overrides?: CallOverrides): Promise; - - INITIAL_LIQUIDITY_FEE_NUMERATOR( - overrides?: CallOverrides - ): Promise; - - INITIAL_MAX_ROUTERS(overrides?: CallOverrides): Promise; - - MAXIMUM_POOLED_TOKENS(overrides?: CallOverrides): Promise; - - MAX_A(overrides?: CallOverrides): Promise; - - MAX_ADMIN_FEE(overrides?: CallOverrides): Promise; - - MAX_A_CHANGE(overrides?: CallOverrides): Promise; - - MAX_LOOP_LIMIT(overrides?: CallOverrides): Promise; - - MAX_SWAP_FEE(overrides?: CallOverrides): Promise; - - MINIMUM_POOLED_TOKENS(overrides?: CallOverrides): Promise; - - MIN_RAMP_DELAY(overrides?: CallOverrides): Promise; - - MIN_RAMP_TIME(overrides?: CallOverrides): Promise; - - ORACLE_VALID_PERIOD(overrides?: CallOverrides): Promise; - - POOL_PRECISION_DECIMALS(overrides?: CallOverrides): Promise; - - callStatic: { - AAVE_REFERRAL_CODE(overrides?: CallOverrides): Promise; - - A_PRECISION(overrides?: CallOverrides): Promise; - - BPS_FEE_DENOMINATOR(overrides?: CallOverrides): Promise; - - DEFAULT_COPY_BYTES(overrides?: CallOverrides): Promise; - - DEFAULT_DEADLINE_EXTENSION(overrides?: CallOverrides): Promise; - - DEFAULT_NORMALIZED_DECIMALS(overrides?: CallOverrides): Promise; - - EXECUTE_CALLDATA_RESERVE_GAS(overrides?: CallOverrides): Promise; - - FEE_DENOMINATOR(overrides?: CallOverrides): Promise; - - FUTURE_TIME_BUFFER(overrides?: CallOverrides): Promise; - - GOVERNANCE_DELAY(overrides?: CallOverrides): Promise; - - INITIAL_AAVE_REFERRAL_CODE(overrides?: CallOverrides): Promise; - - INITIAL_LIQUIDITY_FEE_NUMERATOR( - overrides?: CallOverrides - ): Promise; - - INITIAL_MAX_ROUTERS(overrides?: CallOverrides): Promise; - - MAXIMUM_POOLED_TOKENS(overrides?: CallOverrides): Promise; - - MAX_A(overrides?: CallOverrides): Promise; - - MAX_ADMIN_FEE(overrides?: CallOverrides): Promise; - - MAX_A_CHANGE(overrides?: CallOverrides): Promise; - - MAX_LOOP_LIMIT(overrides?: CallOverrides): Promise; - - MAX_SWAP_FEE(overrides?: CallOverrides): Promise; - - MINIMUM_POOLED_TOKENS(overrides?: CallOverrides): Promise; - - MIN_RAMP_DELAY(overrides?: CallOverrides): Promise; - - MIN_RAMP_TIME(overrides?: CallOverrides): Promise; - - ORACLE_VALID_PERIOD(overrides?: CallOverrides): Promise; - - POOL_PRECISION_DECIMALS(overrides?: CallOverrides): Promise; - }; - - filters: {}; - - estimateGas: { - AAVE_REFERRAL_CODE(overrides?: CallOverrides): Promise; - - A_PRECISION(overrides?: CallOverrides): Promise; - - BPS_FEE_DENOMINATOR(overrides?: CallOverrides): Promise; - - DEFAULT_COPY_BYTES(overrides?: CallOverrides): Promise; - - DEFAULT_DEADLINE_EXTENSION(overrides?: CallOverrides): Promise; - - DEFAULT_NORMALIZED_DECIMALS(overrides?: CallOverrides): Promise; - - EXECUTE_CALLDATA_RESERVE_GAS(overrides?: CallOverrides): Promise; - - FEE_DENOMINATOR(overrides?: CallOverrides): Promise; - - FUTURE_TIME_BUFFER(overrides?: CallOverrides): Promise; - - GOVERNANCE_DELAY(overrides?: CallOverrides): Promise; - - INITIAL_AAVE_REFERRAL_CODE(overrides?: CallOverrides): Promise; - - INITIAL_LIQUIDITY_FEE_NUMERATOR( - overrides?: CallOverrides - ): Promise; - - INITIAL_MAX_ROUTERS(overrides?: CallOverrides): Promise; - - MAXIMUM_POOLED_TOKENS(overrides?: CallOverrides): Promise; - - MAX_A(overrides?: CallOverrides): Promise; - - MAX_ADMIN_FEE(overrides?: CallOverrides): Promise; - - MAX_A_CHANGE(overrides?: CallOverrides): Promise; - - MAX_LOOP_LIMIT(overrides?: CallOverrides): Promise; - - MAX_SWAP_FEE(overrides?: CallOverrides): Promise; - - MINIMUM_POOLED_TOKENS(overrides?: CallOverrides): Promise; - - MIN_RAMP_DELAY(overrides?: CallOverrides): Promise; - - MIN_RAMP_TIME(overrides?: CallOverrides): Promise; - - ORACLE_VALID_PERIOD(overrides?: CallOverrides): Promise; - - POOL_PRECISION_DECIMALS(overrides?: CallOverrides): Promise; - }; - - populateTransaction: { - AAVE_REFERRAL_CODE( - overrides?: CallOverrides - ): Promise; - - A_PRECISION(overrides?: CallOverrides): Promise; - - BPS_FEE_DENOMINATOR( - overrides?: CallOverrides - ): Promise; - - DEFAULT_COPY_BYTES( - overrides?: CallOverrides - ): Promise; - - DEFAULT_DEADLINE_EXTENSION( - overrides?: CallOverrides - ): Promise; - - DEFAULT_NORMALIZED_DECIMALS( - overrides?: CallOverrides - ): Promise; - - EXECUTE_CALLDATA_RESERVE_GAS( - overrides?: CallOverrides - ): Promise; - - FEE_DENOMINATOR(overrides?: CallOverrides): Promise; - - FUTURE_TIME_BUFFER( - overrides?: CallOverrides - ): Promise; - - GOVERNANCE_DELAY(overrides?: CallOverrides): Promise; - - INITIAL_AAVE_REFERRAL_CODE( - overrides?: CallOverrides - ): Promise; - - INITIAL_LIQUIDITY_FEE_NUMERATOR( - overrides?: CallOverrides - ): Promise; - - INITIAL_MAX_ROUTERS( - overrides?: CallOverrides - ): Promise; - - MAXIMUM_POOLED_TOKENS( - overrides?: CallOverrides - ): Promise; - - MAX_A(overrides?: CallOverrides): Promise; - - MAX_ADMIN_FEE(overrides?: CallOverrides): Promise; - - MAX_A_CHANGE(overrides?: CallOverrides): Promise; - - MAX_LOOP_LIMIT(overrides?: CallOverrides): Promise; - - MAX_SWAP_FEE(overrides?: CallOverrides): Promise; - - MINIMUM_POOLED_TOKENS( - overrides?: CallOverrides - ): Promise; - - MIN_RAMP_DELAY(overrides?: CallOverrides): Promise; - - MIN_RAMP_TIME(overrides?: CallOverrides): Promise; - - ORACLE_VALID_PERIOD( - overrides?: CallOverrides - ): Promise; - - POOL_PRECISION_DECIMALS( - overrides?: CallOverrides - ): Promise; - }; -} diff --git a/typings/ContextUpgradeable.ts b/typings/ContextUpgradeable.ts deleted file mode 100644 index 3cb79b3b..00000000 --- a/typings/ContextUpgradeable.ts +++ /dev/null @@ -1,61 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { BaseContract, Signer, utils } from "ethers"; -import { EventFragment } from "@ethersproject/abi"; -import { Listener, Provider } from "@ethersproject/providers"; -import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; - -export interface ContextUpgradeableInterface extends utils.Interface { - functions: {}; - - events: { - "Initialized(uint8)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; -} - -export type InitializedEvent = TypedEvent<[number], { version: number }>; - -export type InitializedEventFilter = TypedEventFilter; - -export interface ContextUpgradeable extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: ContextUpgradeableInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: {}; - - callStatic: {}; - - filters: { - "Initialized(uint8)"(version?: null): InitializedEventFilter; - Initialized(version?: null): InitializedEventFilter; - }; - - estimateGas: {}; - - populateTransaction: {}; -} diff --git a/typings/ECDSAExtendedLib.ts b/typings/ECDSAExtendedLib.ts new file mode 100644 index 00000000..66528890 --- /dev/null +++ b/typings/ECDSAExtendedLib.ts @@ -0,0 +1,157 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import { FunctionFragment, Result } from "@ethersproject/abi"; +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface ECDSAExtendedLibInterface extends utils.Interface { + functions: { + "c_9bb8a8e4(bytes8)": FunctionFragment; + "c_false9bb8a8e4(bytes8)": FunctionFragment; + "c_true9bb8a8e4(bytes8)": FunctionFragment; + }; + + encodeFunctionData( + functionFragment: "c_9bb8a8e4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false9bb8a8e4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true9bb8a8e4", + values: [BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "c_9bb8a8e4", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false9bb8a8e4", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true9bb8a8e4", + data: BytesLike + ): Result; + + events: {}; +} + +export interface ECDSAExtendedLib extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ECDSAExtendedLibInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + c_9bb8a8e4( + c__9bb8a8e4: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false9bb8a8e4( + c__9bb8a8e4: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true9bb8a8e4( + c__9bb8a8e4: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + c_9bb8a8e4(c__9bb8a8e4: BytesLike, overrides?: CallOverrides): Promise; + + c_false9bb8a8e4( + c__9bb8a8e4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9bb8a8e4( + c__9bb8a8e4: BytesLike, + overrides?: CallOverrides + ): Promise; + + callStatic: { + c_9bb8a8e4( + c__9bb8a8e4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9bb8a8e4( + c__9bb8a8e4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9bb8a8e4( + c__9bb8a8e4: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + c_9bb8a8e4( + c__9bb8a8e4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9bb8a8e4( + c__9bb8a8e4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9bb8a8e4( + c__9bb8a8e4: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + c_9bb8a8e4( + c__9bb8a8e4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9bb8a8e4( + c__9bb8a8e4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9bb8a8e4( + c__9bb8a8e4: BytesLike, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/typings/ECDSALib.ts b/typings/ECDSALib.ts new file mode 100644 index 00000000..2c7fa19e --- /dev/null +++ b/typings/ECDSALib.ts @@ -0,0 +1,157 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import { FunctionFragment, Result } from "@ethersproject/abi"; +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface ECDSALibInterface extends utils.Interface { + functions: { + "c_c84856ed(bytes8)": FunctionFragment; + "c_falsec84856ed(bytes8)": FunctionFragment; + "c_truec84856ed(bytes8)": FunctionFragment; + }; + + encodeFunctionData( + functionFragment: "c_c84856ed", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsec84856ed", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_truec84856ed", + values: [BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "c_c84856ed", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_falsec84856ed", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_truec84856ed", + data: BytesLike + ): Result; + + events: {}; +} + +export interface ECDSALib extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ECDSALibInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + c_c84856ed( + c__c84856ed: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_falsec84856ed( + c__c84856ed: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_truec84856ed( + c__c84856ed: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + c_c84856ed(c__c84856ed: BytesLike, overrides?: CallOverrides): Promise; + + c_falsec84856ed( + c__c84856ed: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truec84856ed( + c__c84856ed: BytesLike, + overrides?: CallOverrides + ): Promise; + + callStatic: { + c_c84856ed( + c__c84856ed: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsec84856ed( + c__c84856ed: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truec84856ed( + c__c84856ed: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + c_c84856ed( + c__c84856ed: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsec84856ed( + c__c84856ed: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truec84856ed( + c__c84856ed: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + c_c84856ed( + c__c84856ed: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsec84856ed( + c__c84856ed: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truec84856ed( + c__c84856ed: BytesLike, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/typings/ENSAbstractResolver.ts b/typings/ENSAbstractResolver.ts new file mode 100644 index 00000000..063fa2c6 --- /dev/null +++ b/typings/ENSAbstractResolver.ts @@ -0,0 +1,157 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import { FunctionFragment, Result } from "@ethersproject/abi"; +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface ENSAbstractResolverInterface extends utils.Interface { + functions: { + "c_4aed2fa4(bytes8)": FunctionFragment; + "c_false4aed2fa4(bytes8)": FunctionFragment; + "c_true4aed2fa4(bytes8)": FunctionFragment; + }; + + encodeFunctionData( + functionFragment: "c_4aed2fa4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false4aed2fa4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true4aed2fa4", + values: [BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "c_4aed2fa4", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false4aed2fa4", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true4aed2fa4", + data: BytesLike + ): Result; + + events: {}; +} + +export interface ENSAbstractResolver extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ENSAbstractResolverInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + c_4aed2fa4( + c__4aed2fa4: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false4aed2fa4( + c__4aed2fa4: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true4aed2fa4( + c__4aed2fa4: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + c_4aed2fa4(c__4aed2fa4: BytesLike, overrides?: CallOverrides): Promise; + + c_false4aed2fa4( + c__4aed2fa4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true4aed2fa4( + c__4aed2fa4: BytesLike, + overrides?: CallOverrides + ): Promise; + + callStatic: { + c_4aed2fa4( + c__4aed2fa4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false4aed2fa4( + c__4aed2fa4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true4aed2fa4( + c__4aed2fa4: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + c_4aed2fa4( + c__4aed2fa4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false4aed2fa4( + c__4aed2fa4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true4aed2fa4( + c__4aed2fa4: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + c_4aed2fa4( + c__4aed2fa4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false4aed2fa4( + c__4aed2fa4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true4aed2fa4( + c__4aed2fa4: BytesLike, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/typings/ERC20BurnableUpgradeable.ts b/typings/ERC20BurnableUpgradeable.ts deleted file mode 100644 index 45642592..00000000 --- a/typings/ERC20BurnableUpgradeable.ts +++ /dev/null @@ -1,480 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; -import { Listener, Provider } from "@ethersproject/providers"; -import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; - -export interface ERC20BurnableUpgradeableInterface extends utils.Interface { - functions: { - "allowance(address,address)": FunctionFragment; - "approve(address,uint256)": FunctionFragment; - "balanceOf(address)": FunctionFragment; - "burn(uint256)": FunctionFragment; - "burnFrom(address,uint256)": FunctionFragment; - "decimals()": FunctionFragment; - "decreaseAllowance(address,uint256)": FunctionFragment; - "increaseAllowance(address,uint256)": FunctionFragment; - "name()": FunctionFragment; - "symbol()": FunctionFragment; - "totalSupply()": FunctionFragment; - "transfer(address,uint256)": FunctionFragment; - "transferFrom(address,address,uint256)": FunctionFragment; - }; - - encodeFunctionData( - functionFragment: "allowance", - values: [string, string] - ): string; - encodeFunctionData( - functionFragment: "approve", - values: [string, BigNumberish] - ): string; - encodeFunctionData(functionFragment: "balanceOf", values: [string]): string; - encodeFunctionData(functionFragment: "burn", values: [BigNumberish]): string; - encodeFunctionData( - functionFragment: "burnFrom", - values: [string, BigNumberish] - ): string; - encodeFunctionData(functionFragment: "decimals", values?: undefined): string; - encodeFunctionData( - functionFragment: "decreaseAllowance", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "increaseAllowance", - values: [string, BigNumberish] - ): string; - encodeFunctionData(functionFragment: "name", values?: undefined): string; - encodeFunctionData(functionFragment: "symbol", values?: undefined): string; - encodeFunctionData( - functionFragment: "totalSupply", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "transfer", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "transferFrom", - values: [string, string, BigNumberish] - ): string; - - decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "burnFrom", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "decreaseAllowance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "increaseAllowance", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "totalSupply", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "transferFrom", - data: BytesLike - ): Result; - - events: { - "Approval(address,address,uint256)": EventFragment; - "Initialized(uint8)": EventFragment; - "Transfer(address,address,uint256)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; - getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; - getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; -} - -export type ApprovalEvent = TypedEvent< - [string, string, BigNumber], - { owner: string; spender: string; value: BigNumber } ->; - -export type ApprovalEventFilter = TypedEventFilter; - -export type InitializedEvent = TypedEvent<[number], { version: number }>; - -export type InitializedEventFilter = TypedEventFilter; - -export type TransferEvent = TypedEvent< - [string, string, BigNumber], - { from: string; to: string; value: BigNumber } ->; - -export type TransferEventFilter = TypedEventFilter; - -export interface ERC20BurnableUpgradeable extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: ERC20BurnableUpgradeableInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>; - - burn( - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - burnFrom( - account: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - decimals(overrides?: CallOverrides): Promise<[number]>; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - name(overrides?: CallOverrides): Promise<[string]>; - - symbol(overrides?: CallOverrides): Promise<[string]>; - - totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise; - - burn( - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - burnFrom( - account: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - decimals(overrides?: CallOverrides): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - name(overrides?: CallOverrides): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - callStatic: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise; - - burn(amount: BigNumberish, overrides?: CallOverrides): Promise; - - burnFrom( - account: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - decimals(overrides?: CallOverrides): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: CallOverrides - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: CallOverrides - ): Promise; - - name(overrides?: CallOverrides): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - "Approval(address,address,uint256)"( - owner?: string | null, - spender?: string | null, - value?: null - ): ApprovalEventFilter; - Approval( - owner?: string | null, - spender?: string | null, - value?: null - ): ApprovalEventFilter; - - "Initialized(uint8)"(version?: null): InitializedEventFilter; - Initialized(version?: null): InitializedEventFilter; - - "Transfer(address,address,uint256)"( - from?: string | null, - to?: string | null, - value?: null - ): TransferEventFilter; - Transfer( - from?: string | null, - to?: string | null, - value?: null - ): TransferEventFilter; - }; - - estimateGas: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise; - - burn( - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - burnFrom( - account: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - decimals(overrides?: CallOverrides): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - name(overrides?: CallOverrides): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - populateTransaction: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf( - account: string, - overrides?: CallOverrides - ): Promise; - - burn( - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - burnFrom( - account: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - decimals(overrides?: CallOverrides): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - name(overrides?: CallOverrides): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; -} diff --git a/typings/ERC20Upgradeable.ts b/typings/ERC20Upgradeable.ts deleted file mode 100644 index f85f6eeb..00000000 --- a/typings/ERC20Upgradeable.ts +++ /dev/null @@ -1,419 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; -import { Listener, Provider } from "@ethersproject/providers"; -import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; - -export interface ERC20UpgradeableInterface extends utils.Interface { - functions: { - "allowance(address,address)": FunctionFragment; - "approve(address,uint256)": FunctionFragment; - "balanceOf(address)": FunctionFragment; - "decimals()": FunctionFragment; - "decreaseAllowance(address,uint256)": FunctionFragment; - "increaseAllowance(address,uint256)": FunctionFragment; - "name()": FunctionFragment; - "symbol()": FunctionFragment; - "totalSupply()": FunctionFragment; - "transfer(address,uint256)": FunctionFragment; - "transferFrom(address,address,uint256)": FunctionFragment; - }; - - encodeFunctionData( - functionFragment: "allowance", - values: [string, string] - ): string; - encodeFunctionData( - functionFragment: "approve", - values: [string, BigNumberish] - ): string; - encodeFunctionData(functionFragment: "balanceOf", values: [string]): string; - encodeFunctionData(functionFragment: "decimals", values?: undefined): string; - encodeFunctionData( - functionFragment: "decreaseAllowance", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "increaseAllowance", - values: [string, BigNumberish] - ): string; - encodeFunctionData(functionFragment: "name", values?: undefined): string; - encodeFunctionData(functionFragment: "symbol", values?: undefined): string; - encodeFunctionData( - functionFragment: "totalSupply", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "transfer", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "transferFrom", - values: [string, string, BigNumberish] - ): string; - - decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "decreaseAllowance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "increaseAllowance", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "totalSupply", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "transferFrom", - data: BytesLike - ): Result; - - events: { - "Approval(address,address,uint256)": EventFragment; - "Initialized(uint8)": EventFragment; - "Transfer(address,address,uint256)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; - getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; - getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; -} - -export type ApprovalEvent = TypedEvent< - [string, string, BigNumber], - { owner: string; spender: string; value: BigNumber } ->; - -export type ApprovalEventFilter = TypedEventFilter; - -export type InitializedEvent = TypedEvent<[number], { version: number }>; - -export type InitializedEventFilter = TypedEventFilter; - -export type TransferEvent = TypedEvent< - [string, string, BigNumber], - { from: string; to: string; value: BigNumber } ->; - -export type TransferEventFilter = TypedEventFilter; - -export interface ERC20Upgradeable extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: ERC20UpgradeableInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>; - - decimals(overrides?: CallOverrides): Promise<[number]>; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - name(overrides?: CallOverrides): Promise<[string]>; - - symbol(overrides?: CallOverrides): Promise<[string]>; - - totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise; - - decimals(overrides?: CallOverrides): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - name(overrides?: CallOverrides): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - callStatic: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise; - - decimals(overrides?: CallOverrides): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: CallOverrides - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: CallOverrides - ): Promise; - - name(overrides?: CallOverrides): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - "Approval(address,address,uint256)"( - owner?: string | null, - spender?: string | null, - value?: null - ): ApprovalEventFilter; - Approval( - owner?: string | null, - spender?: string | null, - value?: null - ): ApprovalEventFilter; - - "Initialized(uint8)"(version?: null): InitializedEventFilter; - Initialized(version?: null): InitializedEventFilter; - - "Transfer(address,address,uint256)"( - from?: string | null, - to?: string | null, - value?: null - ): TransferEventFilter; - Transfer( - from?: string | null, - to?: string | null, - value?: null - ): TransferEventFilter; - }; - - estimateGas: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise; - - decimals(overrides?: CallOverrides): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - name(overrides?: CallOverrides): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - populateTransaction: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf( - account: string, - overrides?: CallOverrides - ): Promise; - - decimals(overrides?: CallOverrides): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - name(overrides?: CallOverrides): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; -} diff --git a/typings/IConnectorManager.ts b/typings/IConnectorManager.ts deleted file mode 100644 index 46b4beba..00000000 --- a/typings/IConnectorManager.ts +++ /dev/null @@ -1,121 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { - BaseContract, - BigNumber, - BytesLike, - CallOverrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import { FunctionFragment, Result } from "@ethersproject/abi"; -import { Listener, Provider } from "@ethersproject/providers"; -import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; - -export interface IConnectorManagerInterface extends utils.Interface { - functions: { - "home()": FunctionFragment; - "isReplica(address)": FunctionFragment; - "localDomain()": FunctionFragment; - }; - - encodeFunctionData(functionFragment: "home", values?: undefined): string; - encodeFunctionData(functionFragment: "isReplica", values: [string]): string; - encodeFunctionData( - functionFragment: "localDomain", - values?: undefined - ): string; - - decodeFunctionResult(functionFragment: "home", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "isReplica", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "localDomain", - data: BytesLike - ): Result; - - events: {}; -} - -export interface IConnectorManager extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: IConnectorManagerInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - home(overrides?: CallOverrides): Promise<[string]>; - - isReplica( - _potentialReplica: string, - overrides?: CallOverrides - ): Promise<[boolean]>; - - localDomain(overrides?: CallOverrides): Promise<[number]>; - }; - - home(overrides?: CallOverrides): Promise; - - isReplica( - _potentialReplica: string, - overrides?: CallOverrides - ): Promise; - - localDomain(overrides?: CallOverrides): Promise; - - callStatic: { - home(overrides?: CallOverrides): Promise; - - isReplica( - _potentialReplica: string, - overrides?: CallOverrides - ): Promise; - - localDomain(overrides?: CallOverrides): Promise; - }; - - filters: {}; - - estimateGas: { - home(overrides?: CallOverrides): Promise; - - isReplica( - _potentialReplica: string, - overrides?: CallOverrides - ): Promise; - - localDomain(overrides?: CallOverrides): Promise; - }; - - populateTransaction: { - home(overrides?: CallOverrides): Promise; - - isReplica( - _potentialReplica: string, - overrides?: CallOverrides - ): Promise; - - localDomain(overrides?: CallOverrides): Promise; - }; -} diff --git a/typings/IConnext.ts b/typings/IConnext.ts index 49fc9a8d..21cec8a1 100644 --- a/typings/IConnext.ts +++ b/typings/IConnext.ts @@ -8,4666 +8,104 @@ import { BytesLike, CallOverrides, ContractTransaction, - Overrides, PayableOverrides, PopulatedTransaction, Signer, utils, } from "ethers"; -import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; +import { FunctionFragment, Result } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; -export type FacetCutStruct = { - facetAddress: string; - action: BigNumberish; - functionSelectors: BytesLike[]; -}; - -export type FacetCutStructOutput = [string, number, string[]] & { - facetAddress: string; - action: number; - functionSelectors: string[]; -}; - -export type TokenIdStruct = { domain: BigNumberish; id: BytesLike }; - -export type TokenIdStructOutput = [number, string] & { - domain: number; - id: string; -}; - -export type TransferInfoStruct = { - originDomain: BigNumberish; - destinationDomain: BigNumberish; - canonicalDomain: BigNumberish; - to: string; - delegate: string; - receiveLocal: boolean; - callData: BytesLike; - slippage: BigNumberish; - originSender: string; - bridgedAmt: BigNumberish; - normalizedIn: BigNumberish; - nonce: BigNumberish; - canonicalId: BytesLike; -}; - -export type TransferInfoStructOutput = [ - number, - number, - number, - string, - string, - boolean, - string, - BigNumber, - string, - BigNumber, - BigNumber, - BigNumber, - string -] & { - originDomain: number; - destinationDomain: number; - canonicalDomain: number; - to: string; - delegate: string; - receiveLocal: boolean; - callData: string; - slippage: BigNumber; - originSender: string; - bridgedAmt: BigNumber; - normalizedIn: BigNumber; - nonce: BigNumber; - canonicalId: string; -}; - -export type ExecuteArgsStruct = { - params: TransferInfoStruct; - routers: string[]; - routerSignatures: BytesLike[]; - sequencer: string; - sequencerSignature: BytesLike; -}; - -export type ExecuteArgsStructOutput = [ - TransferInfoStructOutput, - string[], - string[], - string, - string -] & { - params: TransferInfoStructOutput; - routers: string[]; - routerSignatures: string[]; - sequencer: string; - sequencerSignature: string; -}; - -export type FacetStruct = { - facetAddress: string; - functionSelectors: BytesLike[]; -}; - -export type FacetStructOutput = [string, string[]] & { - facetAddress: string; - functionSelectors: string[]; -}; - -export type SwapStruct = { - key: BytesLike; - initialA: BigNumberish; - futureA: BigNumberish; - initialATime: BigNumberish; - futureATime: BigNumberish; - swapFee: BigNumberish; - adminFee: BigNumberish; - lpToken: string; - pooledTokens: string[]; - tokenPrecisionMultipliers: BigNumberish[]; - balances: BigNumberish[]; - adminFees: BigNumberish[]; - disabled: boolean; - removeTime: BigNumberish; -}; - -export type SwapStructOutput = [ - string, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - string, - string[], - BigNumber[], - BigNumber[], - BigNumber[], - boolean, - BigNumber -] & { - key: string; - initialA: BigNumber; - futureA: BigNumber; - initialATime: BigNumber; - futureATime: BigNumber; - swapFee: BigNumber; - adminFee: BigNumber; - lpToken: string; - pooledTokens: string[]; - tokenPrecisionMultipliers: BigNumber[]; - balances: BigNumber[]; - adminFees: BigNumber[]; - disabled: boolean; - removeTime: BigNumber; -}; - -export interface IConnextInterface extends utils.Interface { - functions: { - "LIQUIDITY_FEE_DENOMINATOR()": FunctionFragment; - "LIQUIDITY_FEE_NUMERATOR()": FunctionFragment; - "aavePool()": FunctionFragment; - "aavePortalFee()": FunctionFragment; - "acceptProposedOwner()": FunctionFragment; - "acceptProposedRouterOwner(address)": FunctionFragment; - "addConnextion(uint32,address)": FunctionFragment; - "addRelayer(address)": FunctionFragment; - "addRouterLiquidity(uint256,address)": FunctionFragment; - "addRouterLiquidityFor(uint256,address,address)": FunctionFragment; - "addSequencer(address)": FunctionFragment; - "addStableSwapPool((uint32,bytes32),address)": FunctionFragment; - "addSwapLiquidity(bytes32,uint256[],uint256,uint256)": FunctionFragment; - "adoptedToCanonical(address)": FunctionFragment; - "adoptedToLocalExternalPools((uint32,bytes32))": FunctionFragment; - "approveRouter(address)": FunctionFragment; - "approveRouterForPortal(address)": FunctionFragment; - "approvedAssets(bytes32)": FunctionFragment; - "approvedRelayers(address)": FunctionFragment; - "approvedSequencers(address)": FunctionFragment; - "bumpTransfer(bytes32)": FunctionFragment; - "calculateRemoveSwapLiquidity(bytes32,uint256)": FunctionFragment; - "calculateRemoveSwapLiquidityOneToken(bytes32,uint256,uint8)": FunctionFragment; - "calculateSwap(bytes32,uint8,uint8,uint256)": FunctionFragment; - "calculateSwapTokenAmount(bytes32,uint256[],bool)": FunctionFragment; - "canonicalToAdopted(bytes32)": FunctionFragment; - "canonicalToRepresentation(bytes32)": FunctionFragment; - "delay()": FunctionFragment; - "diamondCut((address,uint8,bytes4[])[],address,bytes)": FunctionFragment; - "domain()": FunctionFragment; - "enrollCustom(uint32,bytes32,address)": FunctionFragment; - "enrollRemoteRouter(uint32,bytes32)": FunctionFragment; - "execute(((uint32,uint32,uint32,address,address,bool,bytes,uint256,address,uint256,uint256,uint256,bytes32),address[],bytes[],address,bytes))": FunctionFragment; - "facetAddress(bytes4)": FunctionFragment; - "facetAddresses()": FunctionFragment; - "facetFunctionSelectors(address)": FunctionFragment; - "facets()": FunctionFragment; - "forceReceiveLocal((uint32,uint32,uint32,address,address,bool,bytes,uint256,address,uint256,uint256,uint256,bytes32))": FunctionFragment; - "forceUpdateSlippage((uint32,uint32,uint32,address,address,bool,bytes,uint256,address,uint256,uint256,uint256,bytes32),uint256)": FunctionFragment; - "getAavePortalDebt(bytes32)": FunctionFragment; - "getAavePortalFeeDebt(bytes32)": FunctionFragment; - "getAcceptanceTime((address,uint8,bytes4[])[],address,bytes)": FunctionFragment; - "getCustodiedAmount(bytes32)": FunctionFragment; - "getLocalAndAdoptedToken(bytes32,uint32)": FunctionFragment; - "getProposedRouterOwner(address)": FunctionFragment; - "getProposedRouterOwnerTimestamp(address)": FunctionFragment; - "getRouterApproval(address)": FunctionFragment; - "getRouterApprovalForPortal(address)": FunctionFragment; - "getRouterOwner(address)": FunctionFragment; - "getRouterRecipient(address)": FunctionFragment; - "getSwapA(bytes32)": FunctionFragment; - "getSwapAPrecise(bytes32)": FunctionFragment; - "getSwapAdminBalance(bytes32,uint256)": FunctionFragment; - "getSwapLPToken(bytes32)": FunctionFragment; - "getSwapStorage(bytes32)": FunctionFragment; - "getSwapToken(bytes32,uint8)": FunctionFragment; - "getSwapTokenBalance(bytes32,uint8)": FunctionFragment; - "getSwapTokenIndex(bytes32,address)": FunctionFragment; - "getSwapVirtualPrice(bytes32)": FunctionFragment; - "getTokenId(address)": FunctionFragment; - "handle(uint32,uint32,bytes32,bytes)": FunctionFragment; - "initializeRouter(address,address)": FunctionFragment; - "initializeSwap(bytes32,address[],uint8[],string,string,uint256,uint256,uint256)": FunctionFragment; - "lpTokenTargetAddress()": FunctionFragment; - "maxRoutersPerTransfer()": FunctionFragment; - "nonce()": FunctionFragment; - "owner()": FunctionFragment; - "pause()": FunctionFragment; - "paused()": FunctionFragment; - "proposeDiamondCut((address,uint8,bytes4[])[],address,bytes)": FunctionFragment; - "proposeNewOwner(address)": FunctionFragment; - "proposeRouterAllowlistRemoval()": FunctionFragment; - "proposeRouterOwner(address,address)": FunctionFragment; - "proposed()": FunctionFragment; - "proposedTimestamp()": FunctionFragment; - "rampA(bytes32,uint256,uint256)": FunctionFragment; - "relayerFeeVault()": FunctionFragment; - "remote(uint32)": FunctionFragment; - "removeAssetId((uint32,bytes32),address,address)": FunctionFragment; - "removeRelayer(address)": FunctionFragment; - "removeRouterAllowlist()": FunctionFragment; - "removeRouterLiquidity(uint256,address,address)": FunctionFragment; - "removeRouterLiquidityFor(uint256,address,address,address)": FunctionFragment; - "removeSequencer(address)": FunctionFragment; - "removeSwapLiquidity(bytes32,uint256,uint256[],uint256)": FunctionFragment; - "removeSwapLiquidityImbalance(bytes32,uint256[],uint256,uint256)": FunctionFragment; - "removeSwapLiquidityOneToken(bytes32,uint256,uint8,uint256,uint256)": FunctionFragment; - "repayAavePortal((uint32,uint32,uint32,address,address,bool,bytes,uint256,address,uint256,uint256,uint256,bytes32),uint256,uint256,uint256)": FunctionFragment; - "repayAavePortalFor((uint32,uint32,uint32,address,address,bool,bytes,uint256,address,uint256,uint256,uint256,bytes32),uint256,uint256)": FunctionFragment; - "representationToCanonical(address)": FunctionFragment; - "rescindDiamondCut((address,uint8,bytes4[])[],address,bytes)": FunctionFragment; - "routedTransfers(bytes32)": FunctionFragment; - "routerAllowlistRemoved()": FunctionFragment; - "routerAllowlistTimestamp()": FunctionFragment; - "routerBalances(address,address)": FunctionFragment; - "setAavePool(address)": FunctionFragment; - "setAavePortalFee(uint256)": FunctionFragment; - "setLiquidityFeeNumerator(uint256)": FunctionFragment; - "setMaxRoutersPerTransfer(uint256)": FunctionFragment; - "setRelayerFeeVault(address)": FunctionFragment; - "setRouterRecipient(address,address)": FunctionFragment; - "setSwapAdminFee(bytes32,uint256)": FunctionFragment; - "setSwapFee(bytes32,uint256)": FunctionFragment; - "setXAppConnectionManager(address)": FunctionFragment; - "setupAsset((uint32,bytes32),uint8,string,string,address,address,uint256)": FunctionFragment; - "setupAssetWithDeployedRepresentation((uint32,bytes32),address,address,address)": FunctionFragment; - "stopRampA(bytes32)": FunctionFragment; - "swap(bytes32,uint8,uint8,uint256,uint256,uint256)": FunctionFragment; - "swapExact(bytes32,uint256,address,address,uint256,uint256)": FunctionFragment; - "swapExactOut(bytes32,uint256,address,address,uint256,uint256)": FunctionFragment; - "transferStatus(bytes32)": FunctionFragment; - "unapproveRouter(address)": FunctionFragment; - "unapproveRouterForPortal(address)": FunctionFragment; - "unpause()": FunctionFragment; - "updateDetails((uint32,bytes32),string,string)": FunctionFragment; - "updateLiquidityCap((uint32,bytes32),uint256)": FunctionFragment; - "updateLpTokenTarget(address)": FunctionFragment; - "withdrawSwapAdminFees(bytes32)": FunctionFragment; - "xAppConnectionManager()": FunctionFragment; - "xcall(uint32,address,address,address,uint256,uint256,bytes)": FunctionFragment; - "xcallIntoLocal(uint32,address,address,address,uint256,uint256,bytes)": FunctionFragment; - }; - - encodeFunctionData( - functionFragment: "LIQUIDITY_FEE_DENOMINATOR", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "LIQUIDITY_FEE_NUMERATOR", - values?: undefined - ): string; - encodeFunctionData(functionFragment: "aavePool", values?: undefined): string; - encodeFunctionData( - functionFragment: "aavePortalFee", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "acceptProposedOwner", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "acceptProposedRouterOwner", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "addConnextion", - values: [BigNumberish, string] - ): string; - encodeFunctionData(functionFragment: "addRelayer", values: [string]): string; - encodeFunctionData( - functionFragment: "addRouterLiquidity", - values: [BigNumberish, string] - ): string; - encodeFunctionData( - functionFragment: "addRouterLiquidityFor", - values: [BigNumberish, string, string] - ): string; - encodeFunctionData( - functionFragment: "addSequencer", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "addStableSwapPool", - values: [TokenIdStruct, string] - ): string; - encodeFunctionData( - functionFragment: "addSwapLiquidity", - values: [BytesLike, BigNumberish[], BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "adoptedToCanonical", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "adoptedToLocalExternalPools", - values: [TokenIdStruct] - ): string; - encodeFunctionData( - functionFragment: "approveRouter", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "approveRouterForPortal", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "approvedAssets", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "approvedRelayers", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "approvedSequencers", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "bumpTransfer", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "calculateRemoveSwapLiquidity", - values: [BytesLike, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "calculateRemoveSwapLiquidityOneToken", - values: [BytesLike, BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "calculateSwap", - values: [BytesLike, BigNumberish, BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "calculateSwapTokenAmount", - values: [BytesLike, BigNumberish[], boolean] - ): string; - encodeFunctionData( - functionFragment: "canonicalToAdopted", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "canonicalToRepresentation", - values: [BytesLike] - ): string; - encodeFunctionData(functionFragment: "delay", values?: undefined): string; - encodeFunctionData( - functionFragment: "diamondCut", - values: [FacetCutStruct[], string, BytesLike] - ): string; - encodeFunctionData(functionFragment: "domain", values?: undefined): string; - encodeFunctionData( - functionFragment: "enrollCustom", - values: [BigNumberish, BytesLike, string] - ): string; - encodeFunctionData( - functionFragment: "enrollRemoteRouter", - values: [BigNumberish, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "execute", - values: [ExecuteArgsStruct] - ): string; - encodeFunctionData( - functionFragment: "facetAddress", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "facetAddresses", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "facetFunctionSelectors", - values: [string] - ): string; - encodeFunctionData(functionFragment: "facets", values?: undefined): string; - encodeFunctionData( - functionFragment: "forceReceiveLocal", - values: [TransferInfoStruct] - ): string; - encodeFunctionData( - functionFragment: "forceUpdateSlippage", - values: [TransferInfoStruct, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "getAavePortalDebt", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "getAavePortalFeeDebt", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "getAcceptanceTime", - values: [FacetCutStruct[], string, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "getCustodiedAmount", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "getLocalAndAdoptedToken", - values: [BytesLike, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "getProposedRouterOwner", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "getProposedRouterOwnerTimestamp", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "getRouterApproval", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "getRouterApprovalForPortal", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "getRouterOwner", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "getRouterRecipient", - values: [string] - ): string; - encodeFunctionData(functionFragment: "getSwapA", values: [BytesLike]): string; - encodeFunctionData( - functionFragment: "getSwapAPrecise", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "getSwapAdminBalance", - values: [BytesLike, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "getSwapLPToken", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "getSwapStorage", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "getSwapToken", - values: [BytesLike, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "getSwapTokenBalance", - values: [BytesLike, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "getSwapTokenIndex", - values: [BytesLike, string] - ): string; - encodeFunctionData( - functionFragment: "getSwapVirtualPrice", - values: [BytesLike] - ): string; - encodeFunctionData(functionFragment: "getTokenId", values: [string]): string; - encodeFunctionData( - functionFragment: "handle", - values: [BigNumberish, BigNumberish, BytesLike, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "initializeRouter", - values: [string, string] - ): string; - encodeFunctionData( - functionFragment: "initializeSwap", - values: [ - BytesLike, - string[], - BigNumberish[], - string, - string, - BigNumberish, - BigNumberish, - BigNumberish - ] - ): string; - encodeFunctionData( - functionFragment: "lpTokenTargetAddress", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "maxRoutersPerTransfer", - values?: undefined - ): string; - encodeFunctionData(functionFragment: "nonce", values?: undefined): string; - encodeFunctionData(functionFragment: "owner", values?: undefined): string; - encodeFunctionData(functionFragment: "pause", values?: undefined): string; - encodeFunctionData(functionFragment: "paused", values?: undefined): string; - encodeFunctionData( - functionFragment: "proposeDiamondCut", - values: [FacetCutStruct[], string, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "proposeNewOwner", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "proposeRouterAllowlistRemoval", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "proposeRouterOwner", - values: [string, string] - ): string; - encodeFunctionData(functionFragment: "proposed", values?: undefined): string; - encodeFunctionData( - functionFragment: "proposedTimestamp", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "rampA", - values: [BytesLike, BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "relayerFeeVault", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "remote", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "removeAssetId", - values: [TokenIdStruct, string, string] - ): string; - encodeFunctionData( - functionFragment: "removeRelayer", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "removeRouterAllowlist", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "removeRouterLiquidity", - values: [BigNumberish, string, string] - ): string; - encodeFunctionData( - functionFragment: "removeRouterLiquidityFor", - values: [BigNumberish, string, string, string] - ): string; - encodeFunctionData( - functionFragment: "removeSequencer", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "removeSwapLiquidity", - values: [BytesLike, BigNumberish, BigNumberish[], BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "removeSwapLiquidityImbalance", - values: [BytesLike, BigNumberish[], BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "removeSwapLiquidityOneToken", - values: [BytesLike, BigNumberish, BigNumberish, BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "repayAavePortal", - values: [TransferInfoStruct, BigNumberish, BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "repayAavePortalFor", - values: [TransferInfoStruct, BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "representationToCanonical", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "rescindDiamondCut", - values: [FacetCutStruct[], string, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "routedTransfers", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "routerAllowlistRemoved", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "routerAllowlistTimestamp", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "routerBalances", - values: [string, string] - ): string; - encodeFunctionData(functionFragment: "setAavePool", values: [string]): string; - encodeFunctionData( - functionFragment: "setAavePortalFee", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "setLiquidityFeeNumerator", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "setMaxRoutersPerTransfer", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "setRelayerFeeVault", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "setRouterRecipient", - values: [string, string] - ): string; - encodeFunctionData( - functionFragment: "setSwapAdminFee", - values: [BytesLike, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "setSwapFee", - values: [BytesLike, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "setXAppConnectionManager", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "setupAsset", - values: [ - TokenIdStruct, - BigNumberish, - string, - string, - string, - string, - BigNumberish - ] - ): string; - encodeFunctionData( - functionFragment: "setupAssetWithDeployedRepresentation", - values: [TokenIdStruct, string, string, string] - ): string; - encodeFunctionData( - functionFragment: "stopRampA", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "swap", - values: [ - BytesLike, - BigNumberish, - BigNumberish, - BigNumberish, - BigNumberish, - BigNumberish - ] - ): string; - encodeFunctionData( - functionFragment: "swapExact", - values: [ - BytesLike, - BigNumberish, - string, - string, - BigNumberish, - BigNumberish - ] - ): string; - encodeFunctionData( - functionFragment: "swapExactOut", - values: [ - BytesLike, - BigNumberish, - string, - string, - BigNumberish, - BigNumberish - ] - ): string; - encodeFunctionData( - functionFragment: "transferStatus", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "unapproveRouter", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "unapproveRouterForPortal", - values: [string] - ): string; - encodeFunctionData(functionFragment: "unpause", values?: undefined): string; - encodeFunctionData( - functionFragment: "updateDetails", - values: [TokenIdStruct, string, string] - ): string; - encodeFunctionData( - functionFragment: "updateLiquidityCap", - values: [TokenIdStruct, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "updateLpTokenTarget", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "withdrawSwapAdminFees", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "xAppConnectionManager", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "xcall", - values: [ - BigNumberish, - string, - string, - string, - BigNumberish, - BigNumberish, - BytesLike - ] - ): string; - encodeFunctionData( - functionFragment: "xcallIntoLocal", - values: [ - BigNumberish, - string, - string, - string, - BigNumberish, - BigNumberish, - BytesLike - ] - ): string; - - decodeFunctionResult( - functionFragment: "LIQUIDITY_FEE_DENOMINATOR", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "LIQUIDITY_FEE_NUMERATOR", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "aavePool", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "aavePortalFee", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "acceptProposedOwner", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "acceptProposedRouterOwner", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "addConnextion", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "addRelayer", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "addRouterLiquidity", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "addRouterLiquidityFor", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "addSequencer", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "addStableSwapPool", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "addSwapLiquidity", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "adoptedToCanonical", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "adoptedToLocalExternalPools", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "approveRouter", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "approveRouterForPortal", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "approvedAssets", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "approvedRelayers", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "approvedSequencers", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "bumpTransfer", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "calculateRemoveSwapLiquidity", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "calculateRemoveSwapLiquidityOneToken", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "calculateSwap", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "calculateSwapTokenAmount", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "canonicalToAdopted", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "canonicalToRepresentation", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "delay", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "diamondCut", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "domain", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "enrollCustom", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "enrollRemoteRouter", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "facetAddress", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "facetAddresses", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "facetFunctionSelectors", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "facets", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "forceReceiveLocal", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "forceUpdateSlippage", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getAavePortalDebt", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getAavePortalFeeDebt", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getAcceptanceTime", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getCustodiedAmount", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getLocalAndAdoptedToken", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getProposedRouterOwner", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getProposedRouterOwnerTimestamp", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getRouterApproval", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getRouterApprovalForPortal", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getRouterOwner", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getRouterRecipient", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "getSwapA", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "getSwapAPrecise", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getSwapAdminBalance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getSwapLPToken", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getSwapStorage", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getSwapToken", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getSwapTokenBalance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getSwapTokenIndex", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getSwapVirtualPrice", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "getTokenId", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "handle", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "initializeRouter", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "initializeSwap", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "lpTokenTargetAddress", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "maxRoutersPerTransfer", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "nonce", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "proposeDiamondCut", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "proposeNewOwner", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "proposeRouterAllowlistRemoval", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "proposeRouterOwner", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "proposed", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "proposedTimestamp", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "rampA", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "relayerFeeVault", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "remote", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "removeAssetId", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "removeRelayer", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "removeRouterAllowlist", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "removeRouterLiquidity", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "removeRouterLiquidityFor", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "removeSequencer", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "removeSwapLiquidity", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "removeSwapLiquidityImbalance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "removeSwapLiquidityOneToken", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "repayAavePortal", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "repayAavePortalFor", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "representationToCanonical", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "rescindDiamondCut", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "routedTransfers", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "routerAllowlistRemoved", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "routerAllowlistTimestamp", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "routerBalances", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "setAavePool", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "setAavePortalFee", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "setLiquidityFeeNumerator", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "setMaxRoutersPerTransfer", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "setRelayerFeeVault", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "setRouterRecipient", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "setSwapAdminFee", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "setSwapFee", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "setXAppConnectionManager", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "setupAsset", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "setupAssetWithDeployedRepresentation", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "stopRampA", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "swapExact", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "swapExactOut", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "transferStatus", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "unapproveRouter", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "unapproveRouterForPortal", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "updateDetails", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "updateLiquidityCap", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "updateLpTokenTarget", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "withdrawSwapAdminFees", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "xAppConnectionManager", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "xcall", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "xcallIntoLocal", - data: BytesLike - ): Result; - - events: { - "DiamondCut(tuple[],address,bytes)": EventFragment; - "DiamondCutProposed(tuple[],address,bytes,uint256)": EventFragment; - "DiamondCutRescinded(tuple[],address,bytes)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "DiamondCut"): EventFragment; - getEvent(nameOrSignatureOrTopic: "DiamondCutProposed"): EventFragment; - getEvent(nameOrSignatureOrTopic: "DiamondCutRescinded"): EventFragment; -} - -export type DiamondCutEvent = TypedEvent< - [FacetCutStructOutput[], string, string], - { _diamondCut: FacetCutStructOutput[]; _init: string; _calldata: string } ->; - -export type DiamondCutEventFilter = TypedEventFilter; - -export type DiamondCutProposedEvent = TypedEvent< - [FacetCutStructOutput[], string, string, BigNumber], - { - _diamondCut: FacetCutStructOutput[]; - _init: string; - _calldata: string; - deadline: BigNumber; - } ->; - -export type DiamondCutProposedEventFilter = - TypedEventFilter; - -export type DiamondCutRescindedEvent = TypedEvent< - [FacetCutStructOutput[], string, string], - { _diamondCut: FacetCutStructOutput[]; _init: string; _calldata: string } ->; - -export type DiamondCutRescindedEventFilter = - TypedEventFilter; - -export interface IConnext extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: IConnextInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - LIQUIDITY_FEE_DENOMINATOR(overrides?: CallOverrides): Promise<[BigNumber]>; - - LIQUIDITY_FEE_NUMERATOR(overrides?: CallOverrides): Promise<[BigNumber]>; - - aavePool(overrides?: CallOverrides): Promise<[string]>; - - aavePortalFee(overrides?: CallOverrides): Promise<[BigNumber]>; - - acceptProposedOwner( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - acceptProposedRouterOwner( - router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addConnextion( - _domain: BigNumberish, - _connext: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addRelayer( - _relayer: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addRouterLiquidity( - _amount: BigNumberish, - _local: string, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - addRouterLiquidityFor( - _amount: BigNumberish, - _local: string, - _router: string, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - addSequencer( - _sequencer: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addStableSwapPool( - _canonical: TokenIdStruct, - _stableSwapPool: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addSwapLiquidity( - canonicalId: BytesLike, - amounts: BigNumberish[], - minToMint: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - adoptedToCanonical( - _adopted: string, - overrides?: CallOverrides - ): Promise<[TokenIdStructOutput]>; - - "adoptedToLocalExternalPools((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise<[string]>; - - "adoptedToLocalExternalPools(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise<[string]>; - - approveRouter( - router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - approveRouterForPortal( - _router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "approvedAssets(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise<[boolean]>; - - "approvedAssets((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise<[boolean]>; - - approvedRelayers( - _relayer: string, - overrides?: CallOverrides - ): Promise<[boolean]>; - - approvedSequencers( - _sequencer: string, - overrides?: CallOverrides - ): Promise<[boolean]>; - - bumpTransfer( - _transferId: BytesLike, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - calculateRemoveSwapLiquidity( - canonicalId: BytesLike, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber[]]>; - - calculateRemoveSwapLiquidityOneToken( - canonicalId: BytesLike, - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - calculateSwap( - canonicalId: BytesLike, - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - calculateSwapTokenAmount( - canonicalId: BytesLike, - amounts: BigNumberish[], - deposit: boolean, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - "canonicalToAdopted(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise<[string]>; - - "canonicalToAdopted((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise<[string]>; - - "canonicalToRepresentation(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise<[string]>; - - "canonicalToRepresentation((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise<[string]>; - - delay(overrides?: CallOverrides): Promise<[BigNumber]>; - - diamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - domain(overrides?: CallOverrides): Promise<[BigNumber]>; - - enrollCustom( - _domain: BigNumberish, - _id: BytesLike, - _custom: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - enrollRemoteRouter( - _domain: BigNumberish, - _router: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - execute( - _args: ExecuteArgsStruct, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - facetAddress( - _functionSelector: BytesLike, - overrides?: CallOverrides - ): Promise<[string] & { facetAddress_: string }>; - - facetAddresses( - overrides?: CallOverrides - ): Promise<[string[]] & { facetAddresses_: string[] }>; - - facetFunctionSelectors( - _facet: string, - overrides?: CallOverrides - ): Promise<[string[]] & { facetFunctionSelectors_: string[] }>; - - facets( - overrides?: CallOverrides - ): Promise<[FacetStructOutput[]] & { facets_: FacetStructOutput[] }>; - - forceReceiveLocal( - _params: TransferInfoStruct, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - forceUpdateSlippage( - _params: TransferInfoStruct, - _slippage: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - getAavePortalDebt( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - getAavePortalFeeDebt( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - getAcceptanceTime( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - getCustodiedAmount( - _key: BytesLike, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - getLocalAndAdoptedToken( - _id: BytesLike, - _domain: BigNumberish, - overrides?: CallOverrides - ): Promise<[string, string]>; - - getProposedRouterOwner( - _router: string, - overrides?: CallOverrides - ): Promise<[string]>; - - getProposedRouterOwnerTimestamp( - _router: string, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - getRouterApproval( - _router: string, - overrides?: CallOverrides - ): Promise<[boolean]>; - - getRouterApprovalForPortal( - _router: string, - overrides?: CallOverrides - ): Promise<[boolean]>; - - getRouterOwner( - _router: string, - overrides?: CallOverrides - ): Promise<[string]>; - - getRouterRecipient( - _router: string, - overrides?: CallOverrides - ): Promise<[string]>; - - getSwapA( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - getSwapAPrecise( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - getSwapAdminBalance( - canonicalId: BytesLike, - index: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - getSwapLPToken( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise<[string]>; - - getSwapStorage( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise<[SwapStructOutput]>; - - getSwapToken( - canonicalId: BytesLike, - index: BigNumberish, - overrides?: CallOverrides - ): Promise<[string]>; - - getSwapTokenBalance( - canonicalId: BytesLike, - index: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - getSwapTokenIndex( - canonicalId: BytesLike, - tokenAddress: string, - overrides?: CallOverrides - ): Promise<[number]>; - - getSwapVirtualPrice( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - getTokenId( - _candidate: string, - overrides?: CallOverrides - ): Promise<[TokenIdStructOutput]>; - - handle( - _origin: BigNumberish, - _nonce: BigNumberish, - _sender: BytesLike, - _message: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - initializeRouter( - owner: string, - recipient: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - initializeSwap( - _canonicalId: BytesLike, - _pooledTokens: string[], - decimals: BigNumberish[], - lpTokenName: string, - lpTokenSymbol: string, - _a: BigNumberish, - _fee: BigNumberish, - _adminFee: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - lpTokenTargetAddress(overrides?: CallOverrides): Promise<[string]>; - - maxRoutersPerTransfer(overrides?: CallOverrides): Promise<[BigNumber]>; - - nonce(overrides?: CallOverrides): Promise<[BigNumber]>; - - owner(overrides?: CallOverrides): Promise<[string]>; - - pause( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - paused(overrides?: CallOverrides): Promise<[boolean]>; - - proposeDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposeNewOwner( - newlyProposed: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposeRouterAllowlistRemoval( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposeRouterOwner( - router: string, - proposed: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposed(overrides?: CallOverrides): Promise<[string]>; - - proposedTimestamp(overrides?: CallOverrides): Promise<[BigNumber]>; - - rampA( - canonicalId: BytesLike, - futureA: BigNumberish, - futureTime: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - relayerFeeVault(overrides?: CallOverrides): Promise<[string]>; - - remote(_domain: BigNumberish, overrides?: CallOverrides): Promise<[string]>; - - "removeAssetId((uint32,bytes32),address,address)"( - _canonical: TokenIdStruct, - _adoptedAssetId: string, - _representation: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "removeAssetId(bytes32,address,address)"( - _key: BytesLike, - _adoptedAssetId: string, - _representation: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeRelayer( - _relayer: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeRouterAllowlist( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeRouterLiquidity( - _amount: BigNumberish, - _local: string, - _to: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeRouterLiquidityFor( - _amount: BigNumberish, - _local: string, - _to: string, - _router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeSequencer( - _sequencer: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeSwapLiquidity( - canonicalId: BytesLike, - amount: BigNumberish, - minAmounts: BigNumberish[], - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeSwapLiquidityImbalance( - canonicalId: BytesLike, - amounts: BigNumberish[], - maxBurnAmount: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeSwapLiquidityOneToken( - canonicalId: BytesLike, - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - minAmount: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - repayAavePortal( - _params: TransferInfoStruct, - _backingAmount: BigNumberish, - _feeAmount: BigNumberish, - _maxIn: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - repayAavePortalFor( - _params: TransferInfoStruct, - _backingAmount: BigNumberish, - _feeAmount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - representationToCanonical( - _adopted: string, - overrides?: CallOverrides - ): Promise<[TokenIdStructOutput]>; - - rescindDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - routedTransfers( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise<[string[]]>; - - routerAllowlistRemoved(overrides?: CallOverrides): Promise<[boolean]>; - - routerAllowlistTimestamp(overrides?: CallOverrides): Promise<[BigNumber]>; - - routerBalances( - _router: string, - _asset: string, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - setAavePool( - _aavePool: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setAavePortalFee( - _aavePortalFeeNumerator: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setLiquidityFeeNumerator( - _numerator: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setMaxRoutersPerTransfer( - _newMaxRouters: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setRelayerFeeVault( - _relayerFeeVault: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setRouterRecipient( - router: string, - recipient: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setSwapAdminFee( - canonicalId: BytesLike, - newAdminFee: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setSwapFee( - canonicalId: BytesLike, - newSwapFee: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setXAppConnectionManager( - _xAppConnectionManager: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setupAsset( - _canonical: TokenIdStruct, - _canonicalDecimals: BigNumberish, - _representationName: string, - _representationSymbol: string, - _adoptedAssetId: string, - _stableSwapPool: string, - _cap: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setupAssetWithDeployedRepresentation( - _canonical: TokenIdStruct, - _representation: string, - _adoptedAssetId: string, - _stableSwapPool: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - stopRampA( - canonicalId: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - swap( - canonicalId: BytesLike, - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - minDy: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - swapExact( - canonicalId: BytesLike, - amountIn: BigNumberish, - assetIn: string, - assetOut: string, - minAmountOut: BigNumberish, - deadline: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - swapExactOut( - canonicalId: BytesLike, - amountOut: BigNumberish, - assetIn: string, - assetOut: string, - maxAmountIn: BigNumberish, - deadline: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - transferStatus( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise<[number]>; - - unapproveRouter( - router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - unapproveRouterForPortal( - _router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - unpause( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - updateDetails( - _canonical: TokenIdStruct, - _name: string, - _symbol: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - updateLiquidityCap( - _canonical: TokenIdStruct, - _updated: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - updateLpTokenTarget( - newAddress: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - withdrawSwapAdminFees( - canonicalId: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - xAppConnectionManager(overrides?: CallOverrides): Promise<[string]>; - - xcall( - _destination: BigNumberish, - _to: string, - _asset: string, - _delegate: string, - _amount: BigNumberish, - _slippage: BigNumberish, - _callData: BytesLike, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - xcallIntoLocal( - _destination: BigNumberish, - _to: string, - _asset: string, - _delegate: string, - _amount: BigNumberish, - _slippage: BigNumberish, - _callData: BytesLike, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - }; - - LIQUIDITY_FEE_DENOMINATOR(overrides?: CallOverrides): Promise; - - LIQUIDITY_FEE_NUMERATOR(overrides?: CallOverrides): Promise; - - aavePool(overrides?: CallOverrides): Promise; - - aavePortalFee(overrides?: CallOverrides): Promise; - - acceptProposedOwner( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - acceptProposedRouterOwner( - router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addConnextion( - _domain: BigNumberish, - _connext: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addRelayer( - _relayer: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addRouterLiquidity( - _amount: BigNumberish, - _local: string, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - addRouterLiquidityFor( - _amount: BigNumberish, - _local: string, - _router: string, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - addSequencer( - _sequencer: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addStableSwapPool( - _canonical: TokenIdStruct, - _stableSwapPool: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addSwapLiquidity( - canonicalId: BytesLike, - amounts: BigNumberish[], - minToMint: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - adoptedToCanonical( - _adopted: string, - overrides?: CallOverrides - ): Promise; - - "adoptedToLocalExternalPools((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise; - - "adoptedToLocalExternalPools(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - approveRouter( - router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - approveRouterForPortal( - _router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "approvedAssets(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - "approvedAssets((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise; - - approvedRelayers( - _relayer: string, - overrides?: CallOverrides - ): Promise; - - approvedSequencers( - _sequencer: string, - overrides?: CallOverrides - ): Promise; - - bumpTransfer( - _transferId: BytesLike, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - calculateRemoveSwapLiquidity( - canonicalId: BytesLike, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateRemoveSwapLiquidityOneToken( - canonicalId: BytesLike, - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwap( - canonicalId: BytesLike, - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwapTokenAmount( - canonicalId: BytesLike, - amounts: BigNumberish[], - deposit: boolean, - overrides?: CallOverrides - ): Promise; - - "canonicalToAdopted(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - "canonicalToAdopted((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise; - - "canonicalToRepresentation(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - "canonicalToRepresentation((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise; - - delay(overrides?: CallOverrides): Promise; - - diamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - domain(overrides?: CallOverrides): Promise; - - enrollCustom( - _domain: BigNumberish, - _id: BytesLike, - _custom: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - enrollRemoteRouter( - _domain: BigNumberish, - _router: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - execute( - _args: ExecuteArgsStruct, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - facetAddress( - _functionSelector: BytesLike, - overrides?: CallOverrides - ): Promise; - - facetAddresses(overrides?: CallOverrides): Promise; - - facetFunctionSelectors( - _facet: string, - overrides?: CallOverrides - ): Promise; - - facets(overrides?: CallOverrides): Promise; - - forceReceiveLocal( - _params: TransferInfoStruct, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - forceUpdateSlippage( - _params: TransferInfoStruct, - _slippage: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - getAavePortalDebt( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getAavePortalFeeDebt( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getAcceptanceTime( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - getCustodiedAmount( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - getLocalAndAdoptedToken( - _id: BytesLike, - _domain: BigNumberish, - overrides?: CallOverrides - ): Promise<[string, string]>; - - getProposedRouterOwner( - _router: string, - overrides?: CallOverrides - ): Promise; - - getProposedRouterOwnerTimestamp( - _router: string, - overrides?: CallOverrides - ): Promise; - - getRouterApproval( - _router: string, - overrides?: CallOverrides - ): Promise; - - getRouterApprovalForPortal( - _router: string, - overrides?: CallOverrides - ): Promise; - - getRouterOwner(_router: string, overrides?: CallOverrides): Promise; - - getRouterRecipient( - _router: string, - overrides?: CallOverrides - ): Promise; - - getSwapA( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getSwapAPrecise( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getSwapAdminBalance( - canonicalId: BytesLike, - index: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getSwapLPToken( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getSwapStorage( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getSwapToken( - canonicalId: BytesLike, - index: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getSwapTokenBalance( - canonicalId: BytesLike, - index: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getSwapTokenIndex( - canonicalId: BytesLike, - tokenAddress: string, - overrides?: CallOverrides - ): Promise; - - getSwapVirtualPrice( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getTokenId( - _candidate: string, - overrides?: CallOverrides - ): Promise; - - handle( - _origin: BigNumberish, - _nonce: BigNumberish, - _sender: BytesLike, - _message: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - initializeRouter( - owner: string, - recipient: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - initializeSwap( - _canonicalId: BytesLike, - _pooledTokens: string[], - decimals: BigNumberish[], - lpTokenName: string, - lpTokenSymbol: string, - _a: BigNumberish, - _fee: BigNumberish, - _adminFee: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - lpTokenTargetAddress(overrides?: CallOverrides): Promise; - - maxRoutersPerTransfer(overrides?: CallOverrides): Promise; - - nonce(overrides?: CallOverrides): Promise; - - owner(overrides?: CallOverrides): Promise; - - pause( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - paused(overrides?: CallOverrides): Promise; - - proposeDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposeNewOwner( - newlyProposed: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposeRouterAllowlistRemoval( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposeRouterOwner( - router: string, - proposed: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposed(overrides?: CallOverrides): Promise; - - proposedTimestamp(overrides?: CallOverrides): Promise; - - rampA( - canonicalId: BytesLike, - futureA: BigNumberish, - futureTime: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - relayerFeeVault(overrides?: CallOverrides): Promise; - - remote(_domain: BigNumberish, overrides?: CallOverrides): Promise; - - "removeAssetId((uint32,bytes32),address,address)"( - _canonical: TokenIdStruct, - _adoptedAssetId: string, - _representation: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "removeAssetId(bytes32,address,address)"( - _key: BytesLike, - _adoptedAssetId: string, - _representation: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeRelayer( - _relayer: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeRouterAllowlist( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeRouterLiquidity( - _amount: BigNumberish, - _local: string, - _to: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeRouterLiquidityFor( - _amount: BigNumberish, - _local: string, - _to: string, - _router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeSequencer( - _sequencer: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeSwapLiquidity( - canonicalId: BytesLike, - amount: BigNumberish, - minAmounts: BigNumberish[], - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeSwapLiquidityImbalance( - canonicalId: BytesLike, - amounts: BigNumberish[], - maxBurnAmount: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeSwapLiquidityOneToken( - canonicalId: BytesLike, - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - minAmount: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - repayAavePortal( - _params: TransferInfoStruct, - _backingAmount: BigNumberish, - _feeAmount: BigNumberish, - _maxIn: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - repayAavePortalFor( - _params: TransferInfoStruct, - _backingAmount: BigNumberish, - _feeAmount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - representationToCanonical( - _adopted: string, - overrides?: CallOverrides - ): Promise; - - rescindDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - routedTransfers( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise; - - routerAllowlistRemoved(overrides?: CallOverrides): Promise; - - routerAllowlistTimestamp(overrides?: CallOverrides): Promise; - - routerBalances( - _router: string, - _asset: string, - overrides?: CallOverrides - ): Promise; - - setAavePool( - _aavePool: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setAavePortalFee( - _aavePortalFeeNumerator: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setLiquidityFeeNumerator( - _numerator: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setMaxRoutersPerTransfer( - _newMaxRouters: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setRelayerFeeVault( - _relayerFeeVault: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setRouterRecipient( - router: string, - recipient: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setSwapAdminFee( - canonicalId: BytesLike, - newAdminFee: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setSwapFee( - canonicalId: BytesLike, - newSwapFee: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setXAppConnectionManager( - _xAppConnectionManager: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setupAsset( - _canonical: TokenIdStruct, - _canonicalDecimals: BigNumberish, - _representationName: string, - _representationSymbol: string, - _adoptedAssetId: string, - _stableSwapPool: string, - _cap: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setupAssetWithDeployedRepresentation( - _canonical: TokenIdStruct, - _representation: string, - _adoptedAssetId: string, - _stableSwapPool: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - stopRampA( - canonicalId: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - swap( - canonicalId: BytesLike, - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - minDy: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - swapExact( - canonicalId: BytesLike, - amountIn: BigNumberish, - assetIn: string, - assetOut: string, - minAmountOut: BigNumberish, - deadline: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - swapExactOut( - canonicalId: BytesLike, - amountOut: BigNumberish, - assetIn: string, - assetOut: string, - maxAmountIn: BigNumberish, - deadline: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - transferStatus( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise; - - unapproveRouter( - router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - unapproveRouterForPortal( - _router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - unpause( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - updateDetails( - _canonical: TokenIdStruct, - _name: string, - _symbol: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - updateLiquidityCap( - _canonical: TokenIdStruct, - _updated: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - updateLpTokenTarget( - newAddress: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - withdrawSwapAdminFees( - canonicalId: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - xAppConnectionManager(overrides?: CallOverrides): Promise; - - xcall( - _destination: BigNumberish, - _to: string, - _asset: string, - _delegate: string, - _amount: BigNumberish, - _slippage: BigNumberish, - _callData: BytesLike, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - xcallIntoLocal( - _destination: BigNumberish, - _to: string, - _asset: string, - _delegate: string, - _amount: BigNumberish, - _slippage: BigNumberish, - _callData: BytesLike, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - callStatic: { - LIQUIDITY_FEE_DENOMINATOR(overrides?: CallOverrides): Promise; - - LIQUIDITY_FEE_NUMERATOR(overrides?: CallOverrides): Promise; - - aavePool(overrides?: CallOverrides): Promise; - - aavePortalFee(overrides?: CallOverrides): Promise; - - acceptProposedOwner(overrides?: CallOverrides): Promise; - - acceptProposedRouterOwner( - router: string, - overrides?: CallOverrides - ): Promise; - - addConnextion( - _domain: BigNumberish, - _connext: string, - overrides?: CallOverrides - ): Promise; - - addRelayer(_relayer: string, overrides?: CallOverrides): Promise; - - addRouterLiquidity( - _amount: BigNumberish, - _local: string, - overrides?: CallOverrides - ): Promise; - - addRouterLiquidityFor( - _amount: BigNumberish, - _local: string, - _router: string, - overrides?: CallOverrides - ): Promise; - - addSequencer(_sequencer: string, overrides?: CallOverrides): Promise; - - addStableSwapPool( - _canonical: TokenIdStruct, - _stableSwapPool: string, - overrides?: CallOverrides - ): Promise; - - addSwapLiquidity( - canonicalId: BytesLike, - amounts: BigNumberish[], - minToMint: BigNumberish, - deadline: BigNumberish, - overrides?: CallOverrides - ): Promise; - - adoptedToCanonical( - _adopted: string, - overrides?: CallOverrides - ): Promise; - - "adoptedToLocalExternalPools((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise; - - "adoptedToLocalExternalPools(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - approveRouter(router: string, overrides?: CallOverrides): Promise; - - approveRouterForPortal( - _router: string, - overrides?: CallOverrides - ): Promise; - - "approvedAssets(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - "approvedAssets((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise; - - approvedRelayers( - _relayer: string, - overrides?: CallOverrides - ): Promise; - - approvedSequencers( - _sequencer: string, - overrides?: CallOverrides - ): Promise; - - bumpTransfer( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise; - - calculateRemoveSwapLiquidity( - canonicalId: BytesLike, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateRemoveSwapLiquidityOneToken( - canonicalId: BytesLike, - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwap( - canonicalId: BytesLike, - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwapTokenAmount( - canonicalId: BytesLike, - amounts: BigNumberish[], - deposit: boolean, - overrides?: CallOverrides - ): Promise; - - "canonicalToAdopted(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - "canonicalToAdopted((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise; - - "canonicalToRepresentation(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - "canonicalToRepresentation((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise; - - delay(overrides?: CallOverrides): Promise; - - diamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: CallOverrides - ): Promise; - - domain(overrides?: CallOverrides): Promise; - - enrollCustom( - _domain: BigNumberish, - _id: BytesLike, - _custom: string, - overrides?: CallOverrides - ): Promise; - - enrollRemoteRouter( - _domain: BigNumberish, - _router: BytesLike, - overrides?: CallOverrides - ): Promise; - - execute( - _args: ExecuteArgsStruct, - overrides?: CallOverrides - ): Promise; - - facetAddress( - _functionSelector: BytesLike, - overrides?: CallOverrides - ): Promise; - - facetAddresses(overrides?: CallOverrides): Promise; - - facetFunctionSelectors( - _facet: string, - overrides?: CallOverrides - ): Promise; - - facets(overrides?: CallOverrides): Promise; - - forceReceiveLocal( - _params: TransferInfoStruct, - overrides?: CallOverrides - ): Promise; - - forceUpdateSlippage( - _params: TransferInfoStruct, - _slippage: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getAavePortalDebt( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getAavePortalFeeDebt( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getAcceptanceTime( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: CallOverrides - ): Promise; - - getCustodiedAmount( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - getLocalAndAdoptedToken( - _id: BytesLike, - _domain: BigNumberish, - overrides?: CallOverrides - ): Promise<[string, string]>; - - getProposedRouterOwner( - _router: string, - overrides?: CallOverrides - ): Promise; - - getProposedRouterOwnerTimestamp( - _router: string, - overrides?: CallOverrides - ): Promise; - - getRouterApproval( - _router: string, - overrides?: CallOverrides - ): Promise; - - getRouterApprovalForPortal( - _router: string, - overrides?: CallOverrides - ): Promise; - - getRouterOwner(_router: string, overrides?: CallOverrides): Promise; - - getRouterRecipient( - _router: string, - overrides?: CallOverrides - ): Promise; - - getSwapA( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getSwapAPrecise( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getSwapAdminBalance( - canonicalId: BytesLike, - index: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getSwapLPToken( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getSwapStorage( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getSwapToken( - canonicalId: BytesLike, - index: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getSwapTokenBalance( - canonicalId: BytesLike, - index: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getSwapTokenIndex( - canonicalId: BytesLike, - tokenAddress: string, - overrides?: CallOverrides - ): Promise; - - getSwapVirtualPrice( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getTokenId( - _candidate: string, - overrides?: CallOverrides - ): Promise; - - handle( - _origin: BigNumberish, - _nonce: BigNumberish, - _sender: BytesLike, - _message: BytesLike, - overrides?: CallOverrides - ): Promise; - - initializeRouter( - owner: string, - recipient: string, - overrides?: CallOverrides - ): Promise; - - initializeSwap( - _canonicalId: BytesLike, - _pooledTokens: string[], - decimals: BigNumberish[], - lpTokenName: string, - lpTokenSymbol: string, - _a: BigNumberish, - _fee: BigNumberish, - _adminFee: BigNumberish, - overrides?: CallOverrides - ): Promise; - - lpTokenTargetAddress(overrides?: CallOverrides): Promise; - - maxRoutersPerTransfer(overrides?: CallOverrides): Promise; - - nonce(overrides?: CallOverrides): Promise; - - owner(overrides?: CallOverrides): Promise; - - pause(overrides?: CallOverrides): Promise; - - paused(overrides?: CallOverrides): Promise; - - proposeDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: CallOverrides - ): Promise; - - proposeNewOwner( - newlyProposed: string, - overrides?: CallOverrides - ): Promise; - - proposeRouterAllowlistRemoval(overrides?: CallOverrides): Promise; - - proposeRouterOwner( - router: string, - proposed: string, - overrides?: CallOverrides - ): Promise; - - proposed(overrides?: CallOverrides): Promise; - - proposedTimestamp(overrides?: CallOverrides): Promise; - - rampA( - canonicalId: BytesLike, - futureA: BigNumberish, - futureTime: BigNumberish, - overrides?: CallOverrides - ): Promise; - - relayerFeeVault(overrides?: CallOverrides): Promise; - - remote(_domain: BigNumberish, overrides?: CallOverrides): Promise; - - "removeAssetId((uint32,bytes32),address,address)"( - _canonical: TokenIdStruct, - _adoptedAssetId: string, - _representation: string, - overrides?: CallOverrides - ): Promise; - - "removeAssetId(bytes32,address,address)"( - _key: BytesLike, - _adoptedAssetId: string, - _representation: string, - overrides?: CallOverrides - ): Promise; - - removeRelayer(_relayer: string, overrides?: CallOverrides): Promise; - - removeRouterAllowlist(overrides?: CallOverrides): Promise; - - removeRouterLiquidity( - _amount: BigNumberish, - _local: string, - _to: string, - overrides?: CallOverrides - ): Promise; - - removeRouterLiquidityFor( - _amount: BigNumberish, - _local: string, - _to: string, - _router: string, - overrides?: CallOverrides - ): Promise; - - removeSequencer( - _sequencer: string, - overrides?: CallOverrides - ): Promise; - - removeSwapLiquidity( - canonicalId: BytesLike, - amount: BigNumberish, - minAmounts: BigNumberish[], - deadline: BigNumberish, - overrides?: CallOverrides - ): Promise; - - removeSwapLiquidityImbalance( - canonicalId: BytesLike, - amounts: BigNumberish[], - maxBurnAmount: BigNumberish, - deadline: BigNumberish, - overrides?: CallOverrides - ): Promise; - - removeSwapLiquidityOneToken( - canonicalId: BytesLike, - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - minAmount: BigNumberish, - deadline: BigNumberish, - overrides?: CallOverrides - ): Promise; - - repayAavePortal( - _params: TransferInfoStruct, - _backingAmount: BigNumberish, - _feeAmount: BigNumberish, - _maxIn: BigNumberish, - overrides?: CallOverrides - ): Promise; - - repayAavePortalFor( - _params: TransferInfoStruct, - _backingAmount: BigNumberish, - _feeAmount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - representationToCanonical( - _adopted: string, - overrides?: CallOverrides - ): Promise; - - rescindDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: CallOverrides - ): Promise; - - routedTransfers( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise; - - routerAllowlistRemoved(overrides?: CallOverrides): Promise; - - routerAllowlistTimestamp(overrides?: CallOverrides): Promise; - - routerBalances( - _router: string, - _asset: string, - overrides?: CallOverrides - ): Promise; - - setAavePool(_aavePool: string, overrides?: CallOverrides): Promise; - - setAavePortalFee( - _aavePortalFeeNumerator: BigNumberish, - overrides?: CallOverrides - ): Promise; - - setLiquidityFeeNumerator( - _numerator: BigNumberish, - overrides?: CallOverrides - ): Promise; - - setMaxRoutersPerTransfer( - _newMaxRouters: BigNumberish, - overrides?: CallOverrides - ): Promise; - - setRelayerFeeVault( - _relayerFeeVault: string, - overrides?: CallOverrides - ): Promise; - - setRouterRecipient( - router: string, - recipient: string, - overrides?: CallOverrides - ): Promise; - - setSwapAdminFee( - canonicalId: BytesLike, - newAdminFee: BigNumberish, - overrides?: CallOverrides - ): Promise; - - setSwapFee( - canonicalId: BytesLike, - newSwapFee: BigNumberish, - overrides?: CallOverrides - ): Promise; - - setXAppConnectionManager( - _xAppConnectionManager: string, - overrides?: CallOverrides - ): Promise; - - setupAsset( - _canonical: TokenIdStruct, - _canonicalDecimals: BigNumberish, - _representationName: string, - _representationSymbol: string, - _adoptedAssetId: string, - _stableSwapPool: string, - _cap: BigNumberish, - overrides?: CallOverrides - ): Promise; - - setupAssetWithDeployedRepresentation( - _canonical: TokenIdStruct, - _representation: string, - _adoptedAssetId: string, - _stableSwapPool: string, - overrides?: CallOverrides - ): Promise; - - stopRampA(canonicalId: BytesLike, overrides?: CallOverrides): Promise; - - swap( - canonicalId: BytesLike, - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - minDy: BigNumberish, - deadline: BigNumberish, - overrides?: CallOverrides - ): Promise; - - swapExact( - canonicalId: BytesLike, - amountIn: BigNumberish, - assetIn: string, - assetOut: string, - minAmountOut: BigNumberish, - deadline: BigNumberish, - overrides?: CallOverrides - ): Promise; - - swapExactOut( - canonicalId: BytesLike, - amountOut: BigNumberish, - assetIn: string, - assetOut: string, - maxAmountIn: BigNumberish, - deadline: BigNumberish, - overrides?: CallOverrides - ): Promise; - - transferStatus( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise; - - unapproveRouter(router: string, overrides?: CallOverrides): Promise; - - unapproveRouterForPortal( - _router: string, - overrides?: CallOverrides - ): Promise; - - unpause(overrides?: CallOverrides): Promise; - - updateDetails( - _canonical: TokenIdStruct, - _name: string, - _symbol: string, - overrides?: CallOverrides - ): Promise; - - updateLiquidityCap( - _canonical: TokenIdStruct, - _updated: BigNumberish, - overrides?: CallOverrides - ): Promise; - - updateLpTokenTarget( - newAddress: string, - overrides?: CallOverrides - ): Promise; - - withdrawSwapAdminFees( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - xAppConnectionManager(overrides?: CallOverrides): Promise; - - xcall( - _destination: BigNumberish, - _to: string, - _asset: string, - _delegate: string, - _amount: BigNumberish, - _slippage: BigNumberish, - _callData: BytesLike, - overrides?: CallOverrides - ): Promise; - - xcallIntoLocal( - _destination: BigNumberish, - _to: string, - _asset: string, - _delegate: string, - _amount: BigNumberish, - _slippage: BigNumberish, - _callData: BytesLike, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - "DiamondCut(tuple[],address,bytes)"( - _diamondCut?: null, - _init?: null, - _calldata?: null - ): DiamondCutEventFilter; - DiamondCut( - _diamondCut?: null, - _init?: null, - _calldata?: null - ): DiamondCutEventFilter; - - "DiamondCutProposed(tuple[],address,bytes,uint256)"( - _diamondCut?: null, - _init?: null, - _calldata?: null, - deadline?: null - ): DiamondCutProposedEventFilter; - DiamondCutProposed( - _diamondCut?: null, - _init?: null, - _calldata?: null, - deadline?: null - ): DiamondCutProposedEventFilter; - - "DiamondCutRescinded(tuple[],address,bytes)"( - _diamondCut?: null, - _init?: null, - _calldata?: null - ): DiamondCutRescindedEventFilter; - DiamondCutRescinded( - _diamondCut?: null, - _init?: null, - _calldata?: null - ): DiamondCutRescindedEventFilter; - }; - - estimateGas: { - LIQUIDITY_FEE_DENOMINATOR(overrides?: CallOverrides): Promise; - - LIQUIDITY_FEE_NUMERATOR(overrides?: CallOverrides): Promise; - - aavePool(overrides?: CallOverrides): Promise; - - aavePortalFee(overrides?: CallOverrides): Promise; - - acceptProposedOwner( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - acceptProposedRouterOwner( - router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addConnextion( - _domain: BigNumberish, - _connext: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addRelayer( - _relayer: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addRouterLiquidity( - _amount: BigNumberish, - _local: string, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - addRouterLiquidityFor( - _amount: BigNumberish, - _local: string, - _router: string, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - addSequencer( - _sequencer: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addStableSwapPool( - _canonical: TokenIdStruct, - _stableSwapPool: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addSwapLiquidity( - canonicalId: BytesLike, - amounts: BigNumberish[], - minToMint: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - adoptedToCanonical( - _adopted: string, - overrides?: CallOverrides - ): Promise; - - "adoptedToLocalExternalPools((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise; - - "adoptedToLocalExternalPools(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - approveRouter( - router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - approveRouterForPortal( - _router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "approvedAssets(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - "approvedAssets((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise; - - approvedRelayers( - _relayer: string, - overrides?: CallOverrides - ): Promise; - - approvedSequencers( - _sequencer: string, - overrides?: CallOverrides - ): Promise; - - bumpTransfer( - _transferId: BytesLike, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - calculateRemoveSwapLiquidity( - canonicalId: BytesLike, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateRemoveSwapLiquidityOneToken( - canonicalId: BytesLike, - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwap( - canonicalId: BytesLike, - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwapTokenAmount( - canonicalId: BytesLike, - amounts: BigNumberish[], - deposit: boolean, - overrides?: CallOverrides - ): Promise; - - "canonicalToAdopted(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - "canonicalToAdopted((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise; - - "canonicalToRepresentation(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - "canonicalToRepresentation((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise; - - delay(overrides?: CallOverrides): Promise; - - diamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - domain(overrides?: CallOverrides): Promise; - - enrollCustom( - _domain: BigNumberish, - _id: BytesLike, - _custom: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - enrollRemoteRouter( - _domain: BigNumberish, - _router: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - execute( - _args: ExecuteArgsStruct, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - facetAddress( - _functionSelector: BytesLike, - overrides?: CallOverrides - ): Promise; - - facetAddresses(overrides?: CallOverrides): Promise; - - facetFunctionSelectors( - _facet: string, - overrides?: CallOverrides - ): Promise; - - facets(overrides?: CallOverrides): Promise; - - forceReceiveLocal( - _params: TransferInfoStruct, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - forceUpdateSlippage( - _params: TransferInfoStruct, - _slippage: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - getAavePortalDebt( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getAavePortalFeeDebt( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getAcceptanceTime( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - getCustodiedAmount( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - getLocalAndAdoptedToken( - _id: BytesLike, - _domain: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getProposedRouterOwner( - _router: string, - overrides?: CallOverrides - ): Promise; - - getProposedRouterOwnerTimestamp( - _router: string, - overrides?: CallOverrides - ): Promise; - - getRouterApproval( - _router: string, - overrides?: CallOverrides - ): Promise; - - getRouterApprovalForPortal( - _router: string, - overrides?: CallOverrides - ): Promise; - - getRouterOwner( - _router: string, - overrides?: CallOverrides - ): Promise; - - getRouterRecipient( - _router: string, - overrides?: CallOverrides - ): Promise; - - getSwapA( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getSwapAPrecise( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getSwapAdminBalance( - canonicalId: BytesLike, - index: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getSwapLPToken( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getSwapStorage( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getSwapToken( - canonicalId: BytesLike, - index: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getSwapTokenBalance( - canonicalId: BytesLike, - index: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getSwapTokenIndex( - canonicalId: BytesLike, - tokenAddress: string, - overrides?: CallOverrides - ): Promise; - - getSwapVirtualPrice( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getTokenId( - _candidate: string, - overrides?: CallOverrides - ): Promise; - - handle( - _origin: BigNumberish, - _nonce: BigNumberish, - _sender: BytesLike, - _message: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - initializeRouter( - owner: string, - recipient: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - initializeSwap( - _canonicalId: BytesLike, - _pooledTokens: string[], - decimals: BigNumberish[], - lpTokenName: string, - lpTokenSymbol: string, - _a: BigNumberish, - _fee: BigNumberish, - _adminFee: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - lpTokenTargetAddress(overrides?: CallOverrides): Promise; - - maxRoutersPerTransfer(overrides?: CallOverrides): Promise; - - nonce(overrides?: CallOverrides): Promise; - - owner(overrides?: CallOverrides): Promise; - - pause( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - paused(overrides?: CallOverrides): Promise; - - proposeDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposeNewOwner( - newlyProposed: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposeRouterAllowlistRemoval( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposeRouterOwner( - router: string, - proposed: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposed(overrides?: CallOverrides): Promise; - - proposedTimestamp(overrides?: CallOverrides): Promise; - - rampA( - canonicalId: BytesLike, - futureA: BigNumberish, - futureTime: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - relayerFeeVault(overrides?: CallOverrides): Promise; - - remote( - _domain: BigNumberish, - overrides?: CallOverrides - ): Promise; - - "removeAssetId((uint32,bytes32),address,address)"( - _canonical: TokenIdStruct, - _adoptedAssetId: string, - _representation: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "removeAssetId(bytes32,address,address)"( - _key: BytesLike, - _adoptedAssetId: string, - _representation: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeRelayer( - _relayer: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeRouterAllowlist( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeRouterLiquidity( - _amount: BigNumberish, - _local: string, - _to: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeRouterLiquidityFor( - _amount: BigNumberish, - _local: string, - _to: string, - _router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeSequencer( - _sequencer: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeSwapLiquidity( - canonicalId: BytesLike, - amount: BigNumberish, - minAmounts: BigNumberish[], - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeSwapLiquidityImbalance( - canonicalId: BytesLike, - amounts: BigNumberish[], - maxBurnAmount: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeSwapLiquidityOneToken( - canonicalId: BytesLike, - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - minAmount: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - repayAavePortal( - _params: TransferInfoStruct, - _backingAmount: BigNumberish, - _feeAmount: BigNumberish, - _maxIn: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - repayAavePortalFor( - _params: TransferInfoStruct, - _backingAmount: BigNumberish, - _feeAmount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - representationToCanonical( - _adopted: string, - overrides?: CallOverrides - ): Promise; - - rescindDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - routedTransfers( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise; - - routerAllowlistRemoved(overrides?: CallOverrides): Promise; - - routerAllowlistTimestamp(overrides?: CallOverrides): Promise; - - routerBalances( - _router: string, - _asset: string, - overrides?: CallOverrides - ): Promise; - - setAavePool( - _aavePool: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setAavePortalFee( - _aavePortalFeeNumerator: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setLiquidityFeeNumerator( - _numerator: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setMaxRoutersPerTransfer( - _newMaxRouters: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setRelayerFeeVault( - _relayerFeeVault: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setRouterRecipient( - router: string, - recipient: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setSwapAdminFee( - canonicalId: BytesLike, - newAdminFee: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setSwapFee( - canonicalId: BytesLike, - newSwapFee: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setXAppConnectionManager( - _xAppConnectionManager: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setupAsset( - _canonical: TokenIdStruct, - _canonicalDecimals: BigNumberish, - _representationName: string, - _representationSymbol: string, - _adoptedAssetId: string, - _stableSwapPool: string, - _cap: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setupAssetWithDeployedRepresentation( - _canonical: TokenIdStruct, - _representation: string, - _adoptedAssetId: string, - _stableSwapPool: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - stopRampA( - canonicalId: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - swap( - canonicalId: BytesLike, - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - minDy: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - swapExact( - canonicalId: BytesLike, - amountIn: BigNumberish, - assetIn: string, - assetOut: string, - minAmountOut: BigNumberish, - deadline: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - swapExactOut( - canonicalId: BytesLike, - amountOut: BigNumberish, - assetIn: string, - assetOut: string, - maxAmountIn: BigNumberish, - deadline: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - transferStatus( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise; - - unapproveRouter( - router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - unapproveRouterForPortal( - _router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - unpause( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - updateDetails( - _canonical: TokenIdStruct, - _name: string, - _symbol: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - updateLiquidityCap( - _canonical: TokenIdStruct, - _updated: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - updateLpTokenTarget( - newAddress: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - withdrawSwapAdminFees( - canonicalId: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - xAppConnectionManager(overrides?: CallOverrides): Promise; - - xcall( - _destination: BigNumberish, - _to: string, - _asset: string, - _delegate: string, - _amount: BigNumberish, - _slippage: BigNumberish, - _callData: BytesLike, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - xcallIntoLocal( - _destination: BigNumberish, - _to: string, - _asset: string, - _delegate: string, - _amount: BigNumberish, - _slippage: BigNumberish, - _callData: BytesLike, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - }; - - populateTransaction: { - LIQUIDITY_FEE_DENOMINATOR( - overrides?: CallOverrides - ): Promise; - - LIQUIDITY_FEE_NUMERATOR( - overrides?: CallOverrides - ): Promise; - - aavePool(overrides?: CallOverrides): Promise; - - aavePortalFee(overrides?: CallOverrides): Promise; - - acceptProposedOwner( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - acceptProposedRouterOwner( - router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addConnextion( - _domain: BigNumberish, - _connext: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addRelayer( - _relayer: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addRouterLiquidity( - _amount: BigNumberish, - _local: string, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - addRouterLiquidityFor( - _amount: BigNumberish, - _local: string, - _router: string, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - addSequencer( - _sequencer: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addStableSwapPool( - _canonical: TokenIdStruct, - _stableSwapPool: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - addSwapLiquidity( - canonicalId: BytesLike, - amounts: BigNumberish[], - minToMint: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - adoptedToCanonical( - _adopted: string, - overrides?: CallOverrides - ): Promise; - - "adoptedToLocalExternalPools((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise; - - "adoptedToLocalExternalPools(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - approveRouter( - router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - approveRouterForPortal( - _router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - "approvedAssets(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - "approvedAssets((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise; - - approvedRelayers( - _relayer: string, - overrides?: CallOverrides - ): Promise; - - approvedSequencers( - _sequencer: string, - overrides?: CallOverrides - ): Promise; - - bumpTransfer( - _transferId: BytesLike, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - calculateRemoveSwapLiquidity( - canonicalId: BytesLike, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateRemoveSwapLiquidityOneToken( - canonicalId: BytesLike, - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwap( - canonicalId: BytesLike, - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwapTokenAmount( - canonicalId: BytesLike, - amounts: BigNumberish[], - deposit: boolean, - overrides?: CallOverrides - ): Promise; - - "canonicalToAdopted(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - "canonicalToAdopted((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise; - - "canonicalToRepresentation(bytes32)"( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - "canonicalToRepresentation((uint32,bytes32))"( - _canonical: TokenIdStruct, - overrides?: CallOverrides - ): Promise; - - delay(overrides?: CallOverrides): Promise; - - diamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - domain(overrides?: CallOverrides): Promise; - - enrollCustom( - _domain: BigNumberish, - _id: BytesLike, - _custom: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - enrollRemoteRouter( - _domain: BigNumberish, - _router: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - execute( - _args: ExecuteArgsStruct, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - facetAddress( - _functionSelector: BytesLike, - overrides?: CallOverrides - ): Promise; - - facetAddresses(overrides?: CallOverrides): Promise; - - facetFunctionSelectors( - _facet: string, - overrides?: CallOverrides - ): Promise; - - facets(overrides?: CallOverrides): Promise; - - forceReceiveLocal( - _params: TransferInfoStruct, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - forceUpdateSlippage( - _params: TransferInfoStruct, - _slippage: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - getAavePortalDebt( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getAavePortalFeeDebt( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getAcceptanceTime( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - getCustodiedAmount( - _key: BytesLike, - overrides?: CallOverrides - ): Promise; - - getLocalAndAdoptedToken( - _id: BytesLike, - _domain: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getProposedRouterOwner( - _router: string, - overrides?: CallOverrides - ): Promise; - - getProposedRouterOwnerTimestamp( - _router: string, - overrides?: CallOverrides - ): Promise; - - getRouterApproval( - _router: string, - overrides?: CallOverrides - ): Promise; - - getRouterApprovalForPortal( - _router: string, - overrides?: CallOverrides - ): Promise; - - getRouterOwner( - _router: string, - overrides?: CallOverrides - ): Promise; - - getRouterRecipient( - _router: string, - overrides?: CallOverrides - ): Promise; - - getSwapA( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getSwapAPrecise( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getSwapAdminBalance( - canonicalId: BytesLike, - index: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getSwapLPToken( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getSwapStorage( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getSwapToken( - canonicalId: BytesLike, - index: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getSwapTokenBalance( - canonicalId: BytesLike, - index: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getSwapTokenIndex( - canonicalId: BytesLike, - tokenAddress: string, - overrides?: CallOverrides - ): Promise; - - getSwapVirtualPrice( - canonicalId: BytesLike, - overrides?: CallOverrides - ): Promise; - - getTokenId( - _candidate: string, - overrides?: CallOverrides - ): Promise; - - handle( - _origin: BigNumberish, - _nonce: BigNumberish, - _sender: BytesLike, - _message: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - initializeRouter( - owner: string, - recipient: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - initializeSwap( - _canonicalId: BytesLike, - _pooledTokens: string[], - decimals: BigNumberish[], - lpTokenName: string, - lpTokenSymbol: string, - _a: BigNumberish, - _fee: BigNumberish, - _adminFee: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - lpTokenTargetAddress( - overrides?: CallOverrides - ): Promise; - - maxRoutersPerTransfer( - overrides?: CallOverrides - ): Promise; - - nonce(overrides?: CallOverrides): Promise; - - owner(overrides?: CallOverrides): Promise; - - pause( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - paused(overrides?: CallOverrides): Promise; - - proposeDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposeNewOwner( - newlyProposed: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposeRouterAllowlistRemoval( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposeRouterOwner( - router: string, - proposed: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposed(overrides?: CallOverrides): Promise; - - proposedTimestamp(overrides?: CallOverrides): Promise; - - rampA( - canonicalId: BytesLike, - futureA: BigNumberish, - futureTime: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; +export interface IConnextInterface extends utils.Interface { + functions: { + "xcall(uint32,address,address,address,uint256,uint256,bytes)": FunctionFragment; + }; - relayerFeeVault(overrides?: CallOverrides): Promise; + encodeFunctionData( + functionFragment: "xcall", + values: [ + BigNumberish, + string, + string, + string, + BigNumberish, + BigNumberish, + BytesLike + ] + ): string; - remote( - _domain: BigNumberish, - overrides?: CallOverrides - ): Promise; + decodeFunctionResult(functionFragment: "xcall", data: BytesLike): Result; - "removeAssetId((uint32,bytes32),address,address)"( - _canonical: TokenIdStruct, - _adoptedAssetId: string, - _representation: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; + events: {}; +} - "removeAssetId(bytes32,address,address)"( - _key: BytesLike, - _adoptedAssetId: string, - _representation: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; +export interface IConnext extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; - removeRelayer( - _relayer: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; + interface: IConnextInterface; - removeRouterAllowlist( - overrides?: Overrides & { from?: string | Promise } - ): Promise; + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; - removeRouterLiquidity( - _amount: BigNumberish, - _local: string, - _to: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; - removeRouterLiquidityFor( - _amount: BigNumberish, - _local: string, + functions: { + xcall( + _destination: BigNumberish, _to: string, - _router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeSequencer( - _sequencer: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeSwapLiquidity( - canonicalId: BytesLike, - amount: BigNumberish, - minAmounts: BigNumberish[], - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeSwapLiquidityImbalance( - canonicalId: BytesLike, - amounts: BigNumberish[], - maxBurnAmount: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeSwapLiquidityOneToken( - canonicalId: BytesLike, - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - minAmount: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - repayAavePortal( - _params: TransferInfoStruct, - _backingAmount: BigNumberish, - _feeAmount: BigNumberish, - _maxIn: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - repayAavePortalFor( - _params: TransferInfoStruct, - _backingAmount: BigNumberish, - _feeAmount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - representationToCanonical( - _adopted: string, - overrides?: CallOverrides - ): Promise; - - rescindDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - routedTransfers( - _transferId: BytesLike, - overrides?: CallOverrides - ): Promise; - - routerAllowlistRemoved( - overrides?: CallOverrides - ): Promise; - - routerAllowlistTimestamp( - overrides?: CallOverrides - ): Promise; - - routerBalances( - _router: string, _asset: string, - overrides?: CallOverrides - ): Promise; - - setAavePool( - _aavePool: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setAavePortalFee( - _aavePortalFeeNumerator: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setLiquidityFeeNumerator( - _numerator: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setMaxRoutersPerTransfer( - _newMaxRouters: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setRelayerFeeVault( - _relayerFeeVault: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setRouterRecipient( - router: string, - recipient: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setSwapAdminFee( - canonicalId: BytesLike, - newAdminFee: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setSwapFee( - canonicalId: BytesLike, - newSwapFee: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setXAppConnectionManager( - _xAppConnectionManager: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setupAsset( - _canonical: TokenIdStruct, - _canonicalDecimals: BigNumberish, - _representationName: string, - _representationSymbol: string, - _adoptedAssetId: string, - _stableSwapPool: string, - _cap: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setupAssetWithDeployedRepresentation( - _canonical: TokenIdStruct, - _representation: string, - _adoptedAssetId: string, - _stableSwapPool: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - stopRampA( - canonicalId: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - swap( - canonicalId: BytesLike, - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - minDy: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - swapExact( - canonicalId: BytesLike, - amountIn: BigNumberish, - assetIn: string, - assetOut: string, - minAmountOut: BigNumberish, - deadline: BigNumberish, + _delegate: string, + _amount: BigNumberish, + _slippage: BigNumberish, + _callData: BytesLike, overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; + ): Promise; + }; - swapExactOut( - canonicalId: BytesLike, - amountOut: BigNumberish, - assetIn: string, - assetOut: string, - maxAmountIn: BigNumberish, - deadline: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; + xcall( + _destination: BigNumberish, + _to: string, + _asset: string, + _delegate: string, + _amount: BigNumberish, + _slippage: BigNumberish, + _callData: BytesLike, + overrides?: PayableOverrides & { from?: string | Promise } + ): Promise; - transferStatus( - _transferId: BytesLike, + callStatic: { + xcall( + _destination: BigNumberish, + _to: string, + _asset: string, + _delegate: string, + _amount: BigNumberish, + _slippage: BigNumberish, + _callData: BytesLike, overrides?: CallOverrides - ): Promise; - - unapproveRouter( - router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - unapproveRouterForPortal( - _router: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - unpause( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - updateDetails( - _canonical: TokenIdStruct, - _name: string, - _symbol: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - updateLiquidityCap( - _canonical: TokenIdStruct, - _updated: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - updateLpTokenTarget( - newAddress: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - withdrawSwapAdminFees( - canonicalId: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; + ): Promise; + }; - xAppConnectionManager( - overrides?: CallOverrides - ): Promise; + filters: {}; + estimateGas: { xcall( _destination: BigNumberish, _to: string, @@ -4677,9 +115,11 @@ export interface IConnext extends BaseContract { _slippage: BigNumberish, _callData: BytesLike, overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; + ): Promise; + }; - xcallIntoLocal( + populateTransaction: { + xcall( _destination: BigNumberish, _to: string, _asset: string, diff --git a/typings/IDiamondCut.ts b/typings/IDiamondCut.ts index d3d83785..e67d2d4e 100644 --- a/typings/IDiamondCut.ts +++ b/typings/IDiamondCut.ts @@ -32,51 +32,20 @@ export type FacetCutStructOutput = [string, number, string[]] & { export interface IDiamondCutInterface extends utils.Interface { functions: { "diamondCut((address,uint8,bytes4[])[],address,bytes)": FunctionFragment; - "getAcceptanceTime((address,uint8,bytes4[])[],address,bytes)": FunctionFragment; - "proposeDiamondCut((address,uint8,bytes4[])[],address,bytes)": FunctionFragment; - "rescindDiamondCut((address,uint8,bytes4[])[],address,bytes)": FunctionFragment; }; encodeFunctionData( functionFragment: "diamondCut", values: [FacetCutStruct[], string, BytesLike] ): string; - encodeFunctionData( - functionFragment: "getAcceptanceTime", - values: [FacetCutStruct[], string, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "proposeDiamondCut", - values: [FacetCutStruct[], string, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "rescindDiamondCut", - values: [FacetCutStruct[], string, BytesLike] - ): string; decodeFunctionResult(functionFragment: "diamondCut", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "getAcceptanceTime", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "proposeDiamondCut", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "rescindDiamondCut", - data: BytesLike - ): Result; events: { "DiamondCut(tuple[],address,bytes)": EventFragment; - "DiamondCutProposed(tuple[],address,bytes,uint256)": EventFragment; - "DiamondCutRescinded(tuple[],address,bytes)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "DiamondCut"): EventFragment; - getEvent(nameOrSignatureOrTopic: "DiamondCutProposed"): EventFragment; - getEvent(nameOrSignatureOrTopic: "DiamondCutRescinded"): EventFragment; } export type DiamondCutEvent = TypedEvent< @@ -86,27 +55,6 @@ export type DiamondCutEvent = TypedEvent< export type DiamondCutEventFilter = TypedEventFilter; -export type DiamondCutProposedEvent = TypedEvent< - [FacetCutStructOutput[], string, string, BigNumber], - { - _diamondCut: FacetCutStructOutput[]; - _init: string; - _calldata: string; - deadline: BigNumber; - } ->; - -export type DiamondCutProposedEventFilter = - TypedEventFilter; - -export type DiamondCutRescindedEvent = TypedEvent< - [FacetCutStructOutput[], string, string], - { _diamondCut: FacetCutStructOutput[]; _init: string; _calldata: string } ->; - -export type DiamondCutRescindedEventFilter = - TypedEventFilter; - export interface IDiamondCut extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; @@ -140,27 +88,6 @@ export interface IDiamondCut extends BaseContract { _calldata: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; - - getAcceptanceTime( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposeDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - rescindDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; }; diamondCut( @@ -170,27 +97,6 @@ export interface IDiamondCut extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - getAcceptanceTime( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposeDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - rescindDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - callStatic: { diamondCut( _diamondCut: FacetCutStruct[], @@ -198,27 +104,6 @@ export interface IDiamondCut extends BaseContract { _calldata: BytesLike, overrides?: CallOverrides ): Promise; - - getAcceptanceTime( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: CallOverrides - ): Promise; - - proposeDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: CallOverrides - ): Promise; - - rescindDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: CallOverrides - ): Promise; }; filters: { @@ -232,30 +117,6 @@ export interface IDiamondCut extends BaseContract { _init?: null, _calldata?: null ): DiamondCutEventFilter; - - "DiamondCutProposed(tuple[],address,bytes,uint256)"( - _diamondCut?: null, - _init?: null, - _calldata?: null, - deadline?: null - ): DiamondCutProposedEventFilter; - DiamondCutProposed( - _diamondCut?: null, - _init?: null, - _calldata?: null, - deadline?: null - ): DiamondCutProposedEventFilter; - - "DiamondCutRescinded(tuple[],address,bytes)"( - _diamondCut?: null, - _init?: null, - _calldata?: null - ): DiamondCutRescindedEventFilter; - DiamondCutRescinded( - _diamondCut?: null, - _init?: null, - _calldata?: null - ): DiamondCutRescindedEventFilter; }; estimateGas: { @@ -265,27 +126,6 @@ export interface IDiamondCut extends BaseContract { _calldata: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; - - getAcceptanceTime( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposeDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - rescindDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; }; populateTransaction: { @@ -295,26 +135,5 @@ export interface IDiamondCut extends BaseContract { _calldata: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; - - getAcceptanceTime( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - proposeDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - rescindDiamondCut( - _diamondCut: FacetCutStruct[], - _init: string, - _calldata: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; }; } diff --git a/typings/IERC20Metadata.ts b/typings/IERC20Metadata.ts deleted file mode 100644 index 51726f17..00000000 --- a/typings/IERC20Metadata.ts +++ /dev/null @@ -1,332 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; -import { Listener, Provider } from "@ethersproject/providers"; -import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; - -export interface IERC20MetadataInterface extends utils.Interface { - functions: { - "allowance(address,address)": FunctionFragment; - "approve(address,uint256)": FunctionFragment; - "balanceOf(address)": FunctionFragment; - "decimals()": FunctionFragment; - "name()": FunctionFragment; - "symbol()": FunctionFragment; - "totalSupply()": FunctionFragment; - "transfer(address,uint256)": FunctionFragment; - "transferFrom(address,address,uint256)": FunctionFragment; - }; - - encodeFunctionData( - functionFragment: "allowance", - values: [string, string] - ): string; - encodeFunctionData( - functionFragment: "approve", - values: [string, BigNumberish] - ): string; - encodeFunctionData(functionFragment: "balanceOf", values: [string]): string; - encodeFunctionData(functionFragment: "decimals", values?: undefined): string; - encodeFunctionData(functionFragment: "name", values?: undefined): string; - encodeFunctionData(functionFragment: "symbol", values?: undefined): string; - encodeFunctionData( - functionFragment: "totalSupply", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "transfer", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "transferFrom", - values: [string, string, BigNumberish] - ): string; - - decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "totalSupply", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "transferFrom", - data: BytesLike - ): Result; - - events: { - "Approval(address,address,uint256)": EventFragment; - "Transfer(address,address,uint256)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; - getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; -} - -export type ApprovalEvent = TypedEvent< - [string, string, BigNumber], - { owner: string; spender: string; value: BigNumber } ->; - -export type ApprovalEventFilter = TypedEventFilter; - -export type TransferEvent = TypedEvent< - [string, string, BigNumber], - { from: string; to: string; value: BigNumber } ->; - -export type TransferEventFilter = TypedEventFilter; - -export interface IERC20Metadata extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: IERC20MetadataInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>; - - decimals(overrides?: CallOverrides): Promise<[number]>; - - name(overrides?: CallOverrides): Promise<[string]>; - - symbol(overrides?: CallOverrides): Promise<[string]>; - - totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise; - - decimals(overrides?: CallOverrides): Promise; - - name(overrides?: CallOverrides): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - callStatic: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise; - - decimals(overrides?: CallOverrides): Promise; - - name(overrides?: CallOverrides): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - "Approval(address,address,uint256)"( - owner?: string | null, - spender?: string | null, - value?: null - ): ApprovalEventFilter; - Approval( - owner?: string | null, - spender?: string | null, - value?: null - ): ApprovalEventFilter; - - "Transfer(address,address,uint256)"( - from?: string | null, - to?: string | null, - value?: null - ): TransferEventFilter; - Transfer( - from?: string | null, - to?: string | null, - value?: null - ): TransferEventFilter; - }; - - estimateGas: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise; - - decimals(overrides?: CallOverrides): Promise; - - name(overrides?: CallOverrides): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - populateTransaction: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf( - account: string, - overrides?: CallOverrides - ): Promise; - - decimals(overrides?: CallOverrides): Promise; - - name(overrides?: CallOverrides): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; -} diff --git a/typings/IERC20MetadataUpgradeable.ts b/typings/IERC20MetadataUpgradeable.ts deleted file mode 100644 index fadf4a82..00000000 --- a/typings/IERC20MetadataUpgradeable.ts +++ /dev/null @@ -1,332 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; -import { Listener, Provider } from "@ethersproject/providers"; -import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; - -export interface IERC20MetadataUpgradeableInterface extends utils.Interface { - functions: { - "allowance(address,address)": FunctionFragment; - "approve(address,uint256)": FunctionFragment; - "balanceOf(address)": FunctionFragment; - "decimals()": FunctionFragment; - "name()": FunctionFragment; - "symbol()": FunctionFragment; - "totalSupply()": FunctionFragment; - "transfer(address,uint256)": FunctionFragment; - "transferFrom(address,address,uint256)": FunctionFragment; - }; - - encodeFunctionData( - functionFragment: "allowance", - values: [string, string] - ): string; - encodeFunctionData( - functionFragment: "approve", - values: [string, BigNumberish] - ): string; - encodeFunctionData(functionFragment: "balanceOf", values: [string]): string; - encodeFunctionData(functionFragment: "decimals", values?: undefined): string; - encodeFunctionData(functionFragment: "name", values?: undefined): string; - encodeFunctionData(functionFragment: "symbol", values?: undefined): string; - encodeFunctionData( - functionFragment: "totalSupply", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "transfer", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "transferFrom", - values: [string, string, BigNumberish] - ): string; - - decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "totalSupply", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "transferFrom", - data: BytesLike - ): Result; - - events: { - "Approval(address,address,uint256)": EventFragment; - "Transfer(address,address,uint256)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; - getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; -} - -export type ApprovalEvent = TypedEvent< - [string, string, BigNumber], - { owner: string; spender: string; value: BigNumber } ->; - -export type ApprovalEventFilter = TypedEventFilter; - -export type TransferEvent = TypedEvent< - [string, string, BigNumber], - { from: string; to: string; value: BigNumber } ->; - -export type TransferEventFilter = TypedEventFilter; - -export interface IERC20MetadataUpgradeable extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: IERC20MetadataUpgradeableInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>; - - decimals(overrides?: CallOverrides): Promise<[number]>; - - name(overrides?: CallOverrides): Promise<[string]>; - - symbol(overrides?: CallOverrides): Promise<[string]>; - - totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise; - - decimals(overrides?: CallOverrides): Promise; - - name(overrides?: CallOverrides): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - callStatic: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise; - - decimals(overrides?: CallOverrides): Promise; - - name(overrides?: CallOverrides): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - "Approval(address,address,uint256)"( - owner?: string | null, - spender?: string | null, - value?: null - ): ApprovalEventFilter; - Approval( - owner?: string | null, - spender?: string | null, - value?: null - ): ApprovalEventFilter; - - "Transfer(address,address,uint256)"( - from?: string | null, - to?: string | null, - value?: null - ): TransferEventFilter; - Transfer( - from?: string | null, - to?: string | null, - value?: null - ): TransferEventFilter; - }; - - estimateGas: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise; - - decimals(overrides?: CallOverrides): Promise; - - name(overrides?: CallOverrides): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - populateTransaction: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf( - account: string, - overrides?: CallOverrides - ): Promise; - - decimals(overrides?: CallOverrides): Promise; - - name(overrides?: CallOverrides): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; -} diff --git a/typings/IERC20Upgradeable.ts b/typings/IERC20Upgradeable.ts deleted file mode 100644 index 35fb7eed..00000000 --- a/typings/IERC20Upgradeable.ts +++ /dev/null @@ -1,293 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; -import { Listener, Provider } from "@ethersproject/providers"; -import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; - -export interface IERC20UpgradeableInterface extends utils.Interface { - functions: { - "allowance(address,address)": FunctionFragment; - "approve(address,uint256)": FunctionFragment; - "balanceOf(address)": FunctionFragment; - "totalSupply()": FunctionFragment; - "transfer(address,uint256)": FunctionFragment; - "transferFrom(address,address,uint256)": FunctionFragment; - }; - - encodeFunctionData( - functionFragment: "allowance", - values: [string, string] - ): string; - encodeFunctionData( - functionFragment: "approve", - values: [string, BigNumberish] - ): string; - encodeFunctionData(functionFragment: "balanceOf", values: [string]): string; - encodeFunctionData( - functionFragment: "totalSupply", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "transfer", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "transferFrom", - values: [string, string, BigNumberish] - ): string; - - decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "totalSupply", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "transferFrom", - data: BytesLike - ): Result; - - events: { - "Approval(address,address,uint256)": EventFragment; - "Transfer(address,address,uint256)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; - getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; -} - -export type ApprovalEvent = TypedEvent< - [string, string, BigNumber], - { owner: string; spender: string; value: BigNumber } ->; - -export type ApprovalEventFilter = TypedEventFilter; - -export type TransferEvent = TypedEvent< - [string, string, BigNumber], - { from: string; to: string; value: BigNumber } ->; - -export type TransferEventFilter = TypedEventFilter; - -export interface IERC20Upgradeable extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: IERC20UpgradeableInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>; - - totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - callStatic: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - "Approval(address,address,uint256)"( - owner?: string | null, - spender?: string | null, - value?: null - ): ApprovalEventFilter; - Approval( - owner?: string | null, - spender?: string | null, - value?: null - ): ApprovalEventFilter; - - "Transfer(address,address,uint256)"( - from?: string | null, - to?: string | null, - value?: null - ): TransferEventFilter; - Transfer( - from?: string | null, - to?: string | null, - value?: null - ): TransferEventFilter; - }; - - estimateGas: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - populateTransaction: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf( - account: string, - overrides?: CallOverrides - ): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; -} diff --git a/typings/IOutbox.ts b/typings/IOutbox.ts deleted file mode 100644 index ec3d1d79..00000000 --- a/typings/IOutbox.ts +++ /dev/null @@ -1,137 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; -import { Listener, Provider } from "@ethersproject/providers"; -import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; - -export interface IOutboxInterface extends utils.Interface { - functions: { - "dispatch(uint32,bytes32,bytes)": FunctionFragment; - }; - - encodeFunctionData( - functionFragment: "dispatch", - values: [BigNumberish, BytesLike, BytesLike] - ): string; - - decodeFunctionResult(functionFragment: "dispatch", data: BytesLike): Result; - - events: { - "Dispatch(bytes32,uint256,uint64,bytes32,bytes)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "Dispatch"): EventFragment; -} - -export type DispatchEvent = TypedEvent< - [string, BigNumber, BigNumber, string, string], - { - messageHash: string; - leafIndex: BigNumber; - destinationAndNonce: BigNumber; - committedRoot: string; - message: string; - } ->; - -export type DispatchEventFilter = TypedEventFilter; - -export interface IOutbox extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: IOutboxInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - dispatch( - _destinationDomain: BigNumberish, - _recipientAddress: BytesLike, - _messageBody: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - dispatch( - _destinationDomain: BigNumberish, - _recipientAddress: BytesLike, - _messageBody: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - callStatic: { - dispatch( - _destinationDomain: BigNumberish, - _recipientAddress: BytesLike, - _messageBody: BytesLike, - overrides?: CallOverrides - ): Promise<[string, string]>; - }; - - filters: { - "Dispatch(bytes32,uint256,uint64,bytes32,bytes)"( - messageHash?: BytesLike | null, - leafIndex?: BigNumberish | null, - destinationAndNonce?: BigNumberish | null, - committedRoot?: null, - message?: null - ): DispatchEventFilter; - Dispatch( - messageHash?: BytesLike | null, - leafIndex?: BigNumberish | null, - destinationAndNonce?: BigNumberish | null, - committedRoot?: null, - message?: null - ): DispatchEventFilter; - }; - - estimateGas: { - dispatch( - _destinationDomain: BigNumberish, - _recipientAddress: BytesLike, - _messageBody: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - populateTransaction: { - dispatch( - _destinationDomain: BigNumberish, - _recipientAddress: BytesLike, - _messageBody: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; -} diff --git a/typings/IStableSwap.ts b/typings/IStableSwap.ts deleted file mode 100644 index a937c928..00000000 --- a/typings/IStableSwap.ts +++ /dev/null @@ -1,1115 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PayableOverrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; -import { Listener, Provider } from "@ethersproject/providers"; -import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; - -export interface IStableSwapInterface extends utils.Interface { - functions: { - "addLiquidity(uint256[],uint256,uint256)": FunctionFragment; - "calculateRemoveLiquidity(uint256)": FunctionFragment; - "calculateRemoveLiquidityOneToken(uint256,uint8)": FunctionFragment; - "calculateSwap(uint8,uint8,uint256)": FunctionFragment; - "calculateSwapFromAddress(address,address,uint256)": FunctionFragment; - "calculateSwapOut(uint8,uint8,uint256)": FunctionFragment; - "calculateSwapOutFromAddress(address,address,uint256)": FunctionFragment; - "calculateTokenAmount(uint256[],bool)": FunctionFragment; - "getA()": FunctionFragment; - "getToken(uint8)": FunctionFragment; - "getTokenBalance(uint8)": FunctionFragment; - "getTokenIndex(address)": FunctionFragment; - "getVirtualPrice()": FunctionFragment; - "initialize(address[],uint8[],string,string,uint256,uint256,uint256,address)": FunctionFragment; - "removeLiquidity(uint256,uint256[],uint256)": FunctionFragment; - "removeLiquidityImbalance(uint256[],uint256,uint256)": FunctionFragment; - "removeLiquidityOneToken(uint256,uint8,uint256,uint256)": FunctionFragment; - "swap(uint8,uint8,uint256,uint256,uint256)": FunctionFragment; - "swapExact(uint256,address,address,uint256,uint256)": FunctionFragment; - "swapExactOut(uint256,address,address,uint256,uint256)": FunctionFragment; - }; - - encodeFunctionData( - functionFragment: "addLiquidity", - values: [BigNumberish[], BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "calculateRemoveLiquidity", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "calculateRemoveLiquidityOneToken", - values: [BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "calculateSwap", - values: [BigNumberish, BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "calculateSwapFromAddress", - values: [string, string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "calculateSwapOut", - values: [BigNumberish, BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "calculateSwapOutFromAddress", - values: [string, string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "calculateTokenAmount", - values: [BigNumberish[], boolean] - ): string; - encodeFunctionData(functionFragment: "getA", values?: undefined): string; - encodeFunctionData( - functionFragment: "getToken", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "getTokenBalance", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "getTokenIndex", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "getVirtualPrice", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "initialize", - values: [ - string[], - BigNumberish[], - string, - string, - BigNumberish, - BigNumberish, - BigNumberish, - string - ] - ): string; - encodeFunctionData( - functionFragment: "removeLiquidity", - values: [BigNumberish, BigNumberish[], BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "removeLiquidityImbalance", - values: [BigNumberish[], BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "removeLiquidityOneToken", - values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "swap", - values: [ - BigNumberish, - BigNumberish, - BigNumberish, - BigNumberish, - BigNumberish - ] - ): string; - encodeFunctionData( - functionFragment: "swapExact", - values: [BigNumberish, string, string, BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "swapExactOut", - values: [BigNumberish, string, string, BigNumberish, BigNumberish] - ): string; - - decodeFunctionResult( - functionFragment: "addLiquidity", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "calculateRemoveLiquidity", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "calculateRemoveLiquidityOneToken", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "calculateSwap", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "calculateSwapFromAddress", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "calculateSwapOut", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "calculateSwapOutFromAddress", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "calculateTokenAmount", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "getA", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "getToken", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "getTokenBalance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getTokenIndex", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getVirtualPrice", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "removeLiquidity", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "removeLiquidityImbalance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "removeLiquidityOneToken", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "swapExact", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "swapExactOut", - data: BytesLike - ): Result; - - events: { - "AddLiquidity(address,uint256[],uint256[],uint256,uint256)": EventFragment; - "NewAdminFee(uint256)": EventFragment; - "NewSwapFee(uint256)": EventFragment; - "NewWithdrawFee(uint256)": EventFragment; - "RampA(uint256,uint256,uint256,uint256)": EventFragment; - "RemoveLiquidity(address,uint256[],uint256)": EventFragment; - "RemoveLiquidityImbalance(address,uint256[],uint256[],uint256,uint256)": EventFragment; - "RemoveLiquidityOne(address,uint256,uint256,uint256,uint256)": EventFragment; - "StopRampA(uint256,uint256)": EventFragment; - "TokenSwap(address,uint256,uint256,uint128,uint128)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "AddLiquidity"): EventFragment; - getEvent(nameOrSignatureOrTopic: "NewAdminFee"): EventFragment; - getEvent(nameOrSignatureOrTopic: "NewSwapFee"): EventFragment; - getEvent(nameOrSignatureOrTopic: "NewWithdrawFee"): EventFragment; - getEvent(nameOrSignatureOrTopic: "RampA"): EventFragment; - getEvent(nameOrSignatureOrTopic: "RemoveLiquidity"): EventFragment; - getEvent(nameOrSignatureOrTopic: "RemoveLiquidityImbalance"): EventFragment; - getEvent(nameOrSignatureOrTopic: "RemoveLiquidityOne"): EventFragment; - getEvent(nameOrSignatureOrTopic: "StopRampA"): EventFragment; - getEvent(nameOrSignatureOrTopic: "TokenSwap"): EventFragment; -} - -export type AddLiquidityEvent = TypedEvent< - [string, BigNumber[], BigNumber[], BigNumber, BigNumber], - { - provider: string; - tokenAmounts: BigNumber[]; - fees: BigNumber[]; - invariant: BigNumber; - lpTokenSupply: BigNumber; - } ->; - -export type AddLiquidityEventFilter = TypedEventFilter; - -export type NewAdminFeeEvent = TypedEvent< - [BigNumber], - { newAdminFee: BigNumber } ->; - -export type NewAdminFeeEventFilter = TypedEventFilter; - -export type NewSwapFeeEvent = TypedEvent< - [BigNumber], - { newSwapFee: BigNumber } ->; - -export type NewSwapFeeEventFilter = TypedEventFilter; - -export type NewWithdrawFeeEvent = TypedEvent< - [BigNumber], - { newWithdrawFee: BigNumber } ->; - -export type NewWithdrawFeeEventFilter = TypedEventFilter; - -export type RampAEvent = TypedEvent< - [BigNumber, BigNumber, BigNumber, BigNumber], - { - oldA: BigNumber; - newA: BigNumber; - initialTime: BigNumber; - futureTime: BigNumber; - } ->; - -export type RampAEventFilter = TypedEventFilter; - -export type RemoveLiquidityEvent = TypedEvent< - [string, BigNumber[], BigNumber], - { provider: string; tokenAmounts: BigNumber[]; lpTokenSupply: BigNumber } ->; - -export type RemoveLiquidityEventFilter = TypedEventFilter; - -export type RemoveLiquidityImbalanceEvent = TypedEvent< - [string, BigNumber[], BigNumber[], BigNumber, BigNumber], - { - provider: string; - tokenAmounts: BigNumber[]; - fees: BigNumber[]; - invariant: BigNumber; - lpTokenSupply: BigNumber; - } ->; - -export type RemoveLiquidityImbalanceEventFilter = - TypedEventFilter; - -export type RemoveLiquidityOneEvent = TypedEvent< - [string, BigNumber, BigNumber, BigNumber, BigNumber], - { - provider: string; - lpTokenAmount: BigNumber; - lpTokenSupply: BigNumber; - boughtId: BigNumber; - tokensBought: BigNumber; - } ->; - -export type RemoveLiquidityOneEventFilter = - TypedEventFilter; - -export type StopRampAEvent = TypedEvent< - [BigNumber, BigNumber], - { currentA: BigNumber; time: BigNumber } ->; - -export type StopRampAEventFilter = TypedEventFilter; - -export type TokenSwapEvent = TypedEvent< - [string, BigNumber, BigNumber, BigNumber, BigNumber], - { - buyer: string; - tokensSold: BigNumber; - tokensBought: BigNumber; - soldId: BigNumber; - boughtId: BigNumber; - } ->; - -export type TokenSwapEventFilter = TypedEventFilter; - -export interface IStableSwap extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: IStableSwapInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - addLiquidity( - amounts: BigNumberish[], - minToMint: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - calculateRemoveLiquidity( - amount: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber[]]>; - - calculateRemoveLiquidityOneToken( - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber] & { availableTokenAmount: BigNumber }>; - - calculateSwap( - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - calculateSwapFromAddress( - assetIn: string, - assetOut: string, - amountIn: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - calculateSwapOut( - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dy: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - calculateSwapOutFromAddress( - assetIn: string, - assetOut: string, - amountOut: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - calculateTokenAmount( - amounts: BigNumberish[], - deposit: boolean, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - getA(overrides?: CallOverrides): Promise<[BigNumber]>; - - getToken(index: BigNumberish, overrides?: CallOverrides): Promise<[string]>; - - getTokenBalance( - index: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - getTokenIndex( - tokenAddress: string, - overrides?: CallOverrides - ): Promise<[number]>; - - getVirtualPrice(overrides?: CallOverrides): Promise<[BigNumber]>; - - initialize( - pooledTokens: string[], - decimals: BigNumberish[], - lpTokenName: string, - lpTokenSymbol: string, - a: BigNumberish, - fee: BigNumberish, - adminFee: BigNumberish, - lpTokenTargetAddress: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeLiquidity( - amount: BigNumberish, - minAmounts: BigNumberish[], - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeLiquidityImbalance( - amounts: BigNumberish[], - maxBurnAmount: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeLiquidityOneToken( - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - minAmount: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - swap( - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - minDy: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - swapExact( - amountIn: BigNumberish, - assetIn: string, - assetOut: string, - minAmountOut: BigNumberish, - deadline: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - swapExactOut( - amountOut: BigNumberish, - assetIn: string, - assetOut: string, - maxAmountIn: BigNumberish, - deadline: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - }; - - addLiquidity( - amounts: BigNumberish[], - minToMint: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - calculateRemoveLiquidity( - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateRemoveLiquidityOneToken( - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwap( - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwapFromAddress( - assetIn: string, - assetOut: string, - amountIn: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwapOut( - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dy: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwapOutFromAddress( - assetIn: string, - assetOut: string, - amountOut: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateTokenAmount( - amounts: BigNumberish[], - deposit: boolean, - overrides?: CallOverrides - ): Promise; - - getA(overrides?: CallOverrides): Promise; - - getToken(index: BigNumberish, overrides?: CallOverrides): Promise; - - getTokenBalance( - index: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getTokenIndex( - tokenAddress: string, - overrides?: CallOverrides - ): Promise; - - getVirtualPrice(overrides?: CallOverrides): Promise; - - initialize( - pooledTokens: string[], - decimals: BigNumberish[], - lpTokenName: string, - lpTokenSymbol: string, - a: BigNumberish, - fee: BigNumberish, - adminFee: BigNumberish, - lpTokenTargetAddress: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeLiquidity( - amount: BigNumberish, - minAmounts: BigNumberish[], - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeLiquidityImbalance( - amounts: BigNumberish[], - maxBurnAmount: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeLiquidityOneToken( - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - minAmount: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - swap( - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - minDy: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - swapExact( - amountIn: BigNumberish, - assetIn: string, - assetOut: string, - minAmountOut: BigNumberish, - deadline: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - swapExactOut( - amountOut: BigNumberish, - assetIn: string, - assetOut: string, - maxAmountIn: BigNumberish, - deadline: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - callStatic: { - addLiquidity( - amounts: BigNumberish[], - minToMint: BigNumberish, - deadline: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateRemoveLiquidity( - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateRemoveLiquidityOneToken( - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwap( - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwapFromAddress( - assetIn: string, - assetOut: string, - amountIn: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwapOut( - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dy: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwapOutFromAddress( - assetIn: string, - assetOut: string, - amountOut: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateTokenAmount( - amounts: BigNumberish[], - deposit: boolean, - overrides?: CallOverrides - ): Promise; - - getA(overrides?: CallOverrides): Promise; - - getToken(index: BigNumberish, overrides?: CallOverrides): Promise; - - getTokenBalance( - index: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getTokenIndex( - tokenAddress: string, - overrides?: CallOverrides - ): Promise; - - getVirtualPrice(overrides?: CallOverrides): Promise; - - initialize( - pooledTokens: string[], - decimals: BigNumberish[], - lpTokenName: string, - lpTokenSymbol: string, - a: BigNumberish, - fee: BigNumberish, - adminFee: BigNumberish, - lpTokenTargetAddress: string, - overrides?: CallOverrides - ): Promise; - - removeLiquidity( - amount: BigNumberish, - minAmounts: BigNumberish[], - deadline: BigNumberish, - overrides?: CallOverrides - ): Promise; - - removeLiquidityImbalance( - amounts: BigNumberish[], - maxBurnAmount: BigNumberish, - deadline: BigNumberish, - overrides?: CallOverrides - ): Promise; - - removeLiquidityOneToken( - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - minAmount: BigNumberish, - deadline: BigNumberish, - overrides?: CallOverrides - ): Promise; - - swap( - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - minDy: BigNumberish, - deadline: BigNumberish, - overrides?: CallOverrides - ): Promise; - - swapExact( - amountIn: BigNumberish, - assetIn: string, - assetOut: string, - minAmountOut: BigNumberish, - deadline: BigNumberish, - overrides?: CallOverrides - ): Promise; - - swapExactOut( - amountOut: BigNumberish, - assetIn: string, - assetOut: string, - maxAmountIn: BigNumberish, - deadline: BigNumberish, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - "AddLiquidity(address,uint256[],uint256[],uint256,uint256)"( - provider?: string | null, - tokenAmounts?: null, - fees?: null, - invariant?: null, - lpTokenSupply?: null - ): AddLiquidityEventFilter; - AddLiquidity( - provider?: string | null, - tokenAmounts?: null, - fees?: null, - invariant?: null, - lpTokenSupply?: null - ): AddLiquidityEventFilter; - - "NewAdminFee(uint256)"(newAdminFee?: null): NewAdminFeeEventFilter; - NewAdminFee(newAdminFee?: null): NewAdminFeeEventFilter; - - "NewSwapFee(uint256)"(newSwapFee?: null): NewSwapFeeEventFilter; - NewSwapFee(newSwapFee?: null): NewSwapFeeEventFilter; - - "NewWithdrawFee(uint256)"(newWithdrawFee?: null): NewWithdrawFeeEventFilter; - NewWithdrawFee(newWithdrawFee?: null): NewWithdrawFeeEventFilter; - - "RampA(uint256,uint256,uint256,uint256)"( - oldA?: null, - newA?: null, - initialTime?: null, - futureTime?: null - ): RampAEventFilter; - RampA( - oldA?: null, - newA?: null, - initialTime?: null, - futureTime?: null - ): RampAEventFilter; - - "RemoveLiquidity(address,uint256[],uint256)"( - provider?: string | null, - tokenAmounts?: null, - lpTokenSupply?: null - ): RemoveLiquidityEventFilter; - RemoveLiquidity( - provider?: string | null, - tokenAmounts?: null, - lpTokenSupply?: null - ): RemoveLiquidityEventFilter; - - "RemoveLiquidityImbalance(address,uint256[],uint256[],uint256,uint256)"( - provider?: string | null, - tokenAmounts?: null, - fees?: null, - invariant?: null, - lpTokenSupply?: null - ): RemoveLiquidityImbalanceEventFilter; - RemoveLiquidityImbalance( - provider?: string | null, - tokenAmounts?: null, - fees?: null, - invariant?: null, - lpTokenSupply?: null - ): RemoveLiquidityImbalanceEventFilter; - - "RemoveLiquidityOne(address,uint256,uint256,uint256,uint256)"( - provider?: string | null, - lpTokenAmount?: null, - lpTokenSupply?: null, - boughtId?: null, - tokensBought?: null - ): RemoveLiquidityOneEventFilter; - RemoveLiquidityOne( - provider?: string | null, - lpTokenAmount?: null, - lpTokenSupply?: null, - boughtId?: null, - tokensBought?: null - ): RemoveLiquidityOneEventFilter; - - "StopRampA(uint256,uint256)"( - currentA?: null, - time?: null - ): StopRampAEventFilter; - StopRampA(currentA?: null, time?: null): StopRampAEventFilter; - - "TokenSwap(address,uint256,uint256,uint128,uint128)"( - buyer?: string | null, - tokensSold?: null, - tokensBought?: null, - soldId?: null, - boughtId?: null - ): TokenSwapEventFilter; - TokenSwap( - buyer?: string | null, - tokensSold?: null, - tokensBought?: null, - soldId?: null, - boughtId?: null - ): TokenSwapEventFilter; - }; - - estimateGas: { - addLiquidity( - amounts: BigNumberish[], - minToMint: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - calculateRemoveLiquidity( - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateRemoveLiquidityOneToken( - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwap( - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwapFromAddress( - assetIn: string, - assetOut: string, - amountIn: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwapOut( - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dy: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwapOutFromAddress( - assetIn: string, - assetOut: string, - amountOut: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateTokenAmount( - amounts: BigNumberish[], - deposit: boolean, - overrides?: CallOverrides - ): Promise; - - getA(overrides?: CallOverrides): Promise; - - getToken( - index: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getTokenBalance( - index: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getTokenIndex( - tokenAddress: string, - overrides?: CallOverrides - ): Promise; - - getVirtualPrice(overrides?: CallOverrides): Promise; - - initialize( - pooledTokens: string[], - decimals: BigNumberish[], - lpTokenName: string, - lpTokenSymbol: string, - a: BigNumberish, - fee: BigNumberish, - adminFee: BigNumberish, - lpTokenTargetAddress: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeLiquidity( - amount: BigNumberish, - minAmounts: BigNumberish[], - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeLiquidityImbalance( - amounts: BigNumberish[], - maxBurnAmount: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeLiquidityOneToken( - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - minAmount: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - swap( - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - minDy: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - swapExact( - amountIn: BigNumberish, - assetIn: string, - assetOut: string, - minAmountOut: BigNumberish, - deadline: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - swapExactOut( - amountOut: BigNumberish, - assetIn: string, - assetOut: string, - maxAmountIn: BigNumberish, - deadline: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - }; - - populateTransaction: { - addLiquidity( - amounts: BigNumberish[], - minToMint: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - calculateRemoveLiquidity( - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateRemoveLiquidityOneToken( - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwap( - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwapFromAddress( - assetIn: string, - assetOut: string, - amountIn: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwapOut( - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dy: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateSwapOutFromAddress( - assetIn: string, - assetOut: string, - amountOut: BigNumberish, - overrides?: CallOverrides - ): Promise; - - calculateTokenAmount( - amounts: BigNumberish[], - deposit: boolean, - overrides?: CallOverrides - ): Promise; - - getA(overrides?: CallOverrides): Promise; - - getToken( - index: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getTokenBalance( - index: BigNumberish, - overrides?: CallOverrides - ): Promise; - - getTokenIndex( - tokenAddress: string, - overrides?: CallOverrides - ): Promise; - - getVirtualPrice(overrides?: CallOverrides): Promise; - - initialize( - pooledTokens: string[], - decimals: BigNumberish[], - lpTokenName: string, - lpTokenSymbol: string, - a: BigNumberish, - fee: BigNumberish, - adminFee: BigNumberish, - lpTokenTargetAddress: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeLiquidity( - amount: BigNumberish, - minAmounts: BigNumberish[], - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeLiquidityImbalance( - amounts: BigNumberish[], - maxBurnAmount: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - removeLiquidityOneToken( - tokenAmount: BigNumberish, - tokenIndex: BigNumberish, - minAmount: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - swap( - tokenIndexFrom: BigNumberish, - tokenIndexTo: BigNumberish, - dx: BigNumberish, - minDy: BigNumberish, - deadline: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - swapExact( - amountIn: BigNumberish, - assetIn: string, - assetOut: string, - minAmountOut: BigNumberish, - deadline: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - - swapExactOut( - amountOut: BigNumberish, - assetIn: string, - assetOut: string, - maxAmountIn: BigNumberish, - deadline: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - }; -} diff --git a/typings/LPToken.ts b/typings/LPToken.ts deleted file mode 100644 index aa7b1694..00000000 --- a/typings/LPToken.ts +++ /dev/null @@ -1,620 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; -import { Listener, Provider } from "@ethersproject/providers"; -import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; - -export interface LPTokenInterface extends utils.Interface { - functions: { - "allowance(address,address)": FunctionFragment; - "approve(address,uint256)": FunctionFragment; - "balanceOf(address)": FunctionFragment; - "burnFrom(address,uint256)": FunctionFragment; - "decimals()": FunctionFragment; - "decreaseAllowance(address,uint256)": FunctionFragment; - "increaseAllowance(address,uint256)": FunctionFragment; - "initialize(string,string)": FunctionFragment; - "mint(address,uint256)": FunctionFragment; - "name()": FunctionFragment; - "owner()": FunctionFragment; - "renounceOwnership()": FunctionFragment; - "symbol()": FunctionFragment; - "totalSupply()": FunctionFragment; - "transfer(address,uint256)": FunctionFragment; - "transferFrom(address,address,uint256)": FunctionFragment; - "transferOwnership(address)": FunctionFragment; - }; - - encodeFunctionData( - functionFragment: "allowance", - values: [string, string] - ): string; - encodeFunctionData( - functionFragment: "approve", - values: [string, BigNumberish] - ): string; - encodeFunctionData(functionFragment: "balanceOf", values: [string]): string; - encodeFunctionData( - functionFragment: "burnFrom", - values: [string, BigNumberish] - ): string; - encodeFunctionData(functionFragment: "decimals", values?: undefined): string; - encodeFunctionData( - functionFragment: "decreaseAllowance", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "increaseAllowance", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "initialize", - values: [string, string] - ): string; - encodeFunctionData( - functionFragment: "mint", - values: [string, BigNumberish] - ): string; - encodeFunctionData(functionFragment: "name", values?: undefined): string; - encodeFunctionData(functionFragment: "owner", values?: undefined): string; - encodeFunctionData( - functionFragment: "renounceOwnership", - values?: undefined - ): string; - encodeFunctionData(functionFragment: "symbol", values?: undefined): string; - encodeFunctionData( - functionFragment: "totalSupply", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "transfer", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "transferFrom", - values: [string, string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "transferOwnership", - values: [string] - ): string; - - decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "burnFrom", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "decreaseAllowance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "increaseAllowance", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "renounceOwnership", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "totalSupply", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "transferFrom", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "transferOwnership", - data: BytesLike - ): Result; - - events: { - "Approval(address,address,uint256)": EventFragment; - "Initialized(uint8)": EventFragment; - "OwnershipTransferred(address,address)": EventFragment; - "Transfer(address,address,uint256)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; - getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; - getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; - getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; -} - -export type ApprovalEvent = TypedEvent< - [string, string, BigNumber], - { owner: string; spender: string; value: BigNumber } ->; - -export type ApprovalEventFilter = TypedEventFilter; - -export type InitializedEvent = TypedEvent<[number], { version: number }>; - -export type InitializedEventFilter = TypedEventFilter; - -export type OwnershipTransferredEvent = TypedEvent< - [string, string], - { previousOwner: string; newOwner: string } ->; - -export type OwnershipTransferredEventFilter = - TypedEventFilter; - -export type TransferEvent = TypedEvent< - [string, string, BigNumber], - { from: string; to: string; value: BigNumber } ->; - -export type TransferEventFilter = TypedEventFilter; - -export interface LPToken extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: LPTokenInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>; - - burnFrom( - account: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - decimals(overrides?: CallOverrides): Promise<[number]>; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - initialize( - name: string, - symbol: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - mint( - recipient: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - name(overrides?: CallOverrides): Promise<[string]>; - - owner(overrides?: CallOverrides): Promise<[string]>; - - renounceOwnership( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - symbol(overrides?: CallOverrides): Promise<[string]>; - - totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferOwnership( - newOwner: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise; - - burnFrom( - account: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - decimals(overrides?: CallOverrides): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - initialize( - name: string, - symbol: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - mint( - recipient: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - name(overrides?: CallOverrides): Promise; - - owner(overrides?: CallOverrides): Promise; - - renounceOwnership( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferOwnership( - newOwner: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - callStatic: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise; - - burnFrom( - account: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - decimals(overrides?: CallOverrides): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: CallOverrides - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: CallOverrides - ): Promise; - - initialize( - name: string, - symbol: string, - overrides?: CallOverrides - ): Promise; - - mint( - recipient: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - name(overrides?: CallOverrides): Promise; - - owner(overrides?: CallOverrides): Promise; - - renounceOwnership(overrides?: CallOverrides): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - transferOwnership( - newOwner: string, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - "Approval(address,address,uint256)"( - owner?: string | null, - spender?: string | null, - value?: null - ): ApprovalEventFilter; - Approval( - owner?: string | null, - spender?: string | null, - value?: null - ): ApprovalEventFilter; - - "Initialized(uint8)"(version?: null): InitializedEventFilter; - Initialized(version?: null): InitializedEventFilter; - - "OwnershipTransferred(address,address)"( - previousOwner?: string | null, - newOwner?: string | null - ): OwnershipTransferredEventFilter; - OwnershipTransferred( - previousOwner?: string | null, - newOwner?: string | null - ): OwnershipTransferredEventFilter; - - "Transfer(address,address,uint256)"( - from?: string | null, - to?: string | null, - value?: null - ): TransferEventFilter; - Transfer( - from?: string | null, - to?: string | null, - value?: null - ): TransferEventFilter; - }; - - estimateGas: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf(account: string, overrides?: CallOverrides): Promise; - - burnFrom( - account: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - decimals(overrides?: CallOverrides): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - initialize( - name: string, - symbol: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - mint( - recipient: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - name(overrides?: CallOverrides): Promise; - - owner(overrides?: CallOverrides): Promise; - - renounceOwnership( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferOwnership( - newOwner: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - populateTransaction: { - allowance( - owner: string, - spender: string, - overrides?: CallOverrides - ): Promise; - - approve( - spender: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - balanceOf( - account: string, - overrides?: CallOverrides - ): Promise; - - burnFrom( - account: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - decimals(overrides?: CallOverrides): Promise; - - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - initialize( - name: string, - symbol: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - mint( - recipient: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - name(overrides?: CallOverrides): Promise; - - owner(overrides?: CallOverrides): Promise; - - renounceOwnership( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - symbol(overrides?: CallOverrides): Promise; - - totalSupply(overrides?: CallOverrides): Promise; - - transfer( - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferFrom( - from: string, - to: string, - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferOwnership( - newOwner: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; -} diff --git a/typings/LibAsset.ts b/typings/LibAsset.ts new file mode 100644 index 00000000..e726f900 --- /dev/null +++ b/typings/LibAsset.ts @@ -0,0 +1,157 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import { FunctionFragment, Result } from "@ethersproject/abi"; +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface LibAssetInterface extends utils.Interface { + functions: { + "c_8aa85783(bytes8)": FunctionFragment; + "c_false8aa85783(bytes8)": FunctionFragment; + "c_true8aa85783(bytes8)": FunctionFragment; + }; + + encodeFunctionData( + functionFragment: "c_8aa85783", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false8aa85783", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true8aa85783", + values: [BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "c_8aa85783", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false8aa85783", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true8aa85783", + data: BytesLike + ): Result; + + events: {}; +} + +export interface LibAsset extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: LibAssetInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + c_8aa85783( + c__8aa85783: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false8aa85783( + c__8aa85783: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true8aa85783( + c__8aa85783: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + c_8aa85783(c__8aa85783: BytesLike, overrides?: CallOverrides): Promise; + + c_false8aa85783( + c__8aa85783: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true8aa85783( + c__8aa85783: BytesLike, + overrides?: CallOverrides + ): Promise; + + callStatic: { + c_8aa85783( + c__8aa85783: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false8aa85783( + c__8aa85783: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true8aa85783( + c__8aa85783: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + c_8aa85783( + c__8aa85783: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false8aa85783( + c__8aa85783: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true8aa85783( + c__8aa85783: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + c_8aa85783( + c__8aa85783: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false8aa85783( + c__8aa85783: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true8aa85783( + c__8aa85783: BytesLike, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/typings/LibDiamond.ts b/typings/LibDiamond.ts index 28606db6..6a96e32d 100644 --- a/typings/LibDiamond.ts +++ b/typings/LibDiamond.ts @@ -1,14 +1,7 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - Signer, - utils, -} from "ethers"; +import { BaseContract, BigNumberish, BytesLike, Signer, utils } from "ethers"; import { EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; @@ -30,14 +23,10 @@ export interface LibDiamondInterface extends utils.Interface { events: { "DiamondCut(tuple[],address,bytes)": EventFragment; - "DiamondCutProposed(tuple[],address,bytes,uint256)": EventFragment; - "DiamondCutRescinded(tuple[],address,bytes)": EventFragment; "OwnershipTransferred(address,address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "DiamondCut"): EventFragment; - getEvent(nameOrSignatureOrTopic: "DiamondCutProposed"): EventFragment; - getEvent(nameOrSignatureOrTopic: "DiamondCutRescinded"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; } @@ -48,27 +37,6 @@ export type DiamondCutEvent = TypedEvent< export type DiamondCutEventFilter = TypedEventFilter; -export type DiamondCutProposedEvent = TypedEvent< - [FacetCutStructOutput[], string, string, BigNumber], - { - _diamondCut: FacetCutStructOutput[]; - _init: string; - _calldata: string; - deadline: BigNumber; - } ->; - -export type DiamondCutProposedEventFilter = - TypedEventFilter; - -export type DiamondCutRescindedEvent = TypedEvent< - [FacetCutStructOutput[], string, string], - { _diamondCut: FacetCutStructOutput[]; _init: string; _calldata: string } ->; - -export type DiamondCutRescindedEventFilter = - TypedEventFilter; - export type OwnershipTransferredEvent = TypedEvent< [string, string], { previousOwner: string; newOwner: string } @@ -119,30 +87,6 @@ export interface LibDiamond extends BaseContract { _calldata?: null ): DiamondCutEventFilter; - "DiamondCutProposed(tuple[],address,bytes,uint256)"( - _diamondCut?: null, - _init?: null, - _calldata?: null, - deadline?: null - ): DiamondCutProposedEventFilter; - DiamondCutProposed( - _diamondCut?: null, - _init?: null, - _calldata?: null, - deadline?: null - ): DiamondCutProposedEventFilter; - - "DiamondCutRescinded(tuple[],address,bytes)"( - _diamondCut?: null, - _init?: null, - _calldata?: null - ): DiamondCutRescindedEventFilter; - DiamondCutRescinded( - _diamondCut?: null, - _init?: null, - _calldata?: null - ): DiamondCutRescindedEventFilter; - "OwnershipTransferred(address,address)"( previousOwner?: string | null, newOwner?: string | null diff --git a/typings/OwnableUpgradeable.ts b/typings/OwnableUpgradeable.ts deleted file mode 100644 index a703651b..00000000 --- a/typings/OwnableUpgradeable.ts +++ /dev/null @@ -1,167 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { - BaseContract, - BigNumber, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; -import { Listener, Provider } from "@ethersproject/providers"; -import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; - -export interface OwnableUpgradeableInterface extends utils.Interface { - functions: { - "owner()": FunctionFragment; - "renounceOwnership()": FunctionFragment; - "transferOwnership(address)": FunctionFragment; - }; - - encodeFunctionData(functionFragment: "owner", values?: undefined): string; - encodeFunctionData( - functionFragment: "renounceOwnership", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "transferOwnership", - values: [string] - ): string; - - decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "renounceOwnership", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "transferOwnership", - data: BytesLike - ): Result; - - events: { - "Initialized(uint8)": EventFragment; - "OwnershipTransferred(address,address)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; - getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; -} - -export type InitializedEvent = TypedEvent<[number], { version: number }>; - -export type InitializedEventFilter = TypedEventFilter; - -export type OwnershipTransferredEvent = TypedEvent< - [string, string], - { previousOwner: string; newOwner: string } ->; - -export type OwnershipTransferredEventFilter = - TypedEventFilter; - -export interface OwnableUpgradeable extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: OwnableUpgradeableInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - owner(overrides?: CallOverrides): Promise<[string]>; - - renounceOwnership( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferOwnership( - newOwner: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - owner(overrides?: CallOverrides): Promise; - - renounceOwnership( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferOwnership( - newOwner: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - callStatic: { - owner(overrides?: CallOverrides): Promise; - - renounceOwnership(overrides?: CallOverrides): Promise; - - transferOwnership( - newOwner: string, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - "Initialized(uint8)"(version?: null): InitializedEventFilter; - Initialized(version?: null): InitializedEventFilter; - - "OwnershipTransferred(address,address)"( - previousOwner?: string | null, - newOwner?: string | null - ): OwnershipTransferredEventFilter; - OwnershipTransferred( - previousOwner?: string | null, - newOwner?: string | null - ): OwnershipTransferredEventFilter; - }; - - estimateGas: { - owner(overrides?: CallOverrides): Promise; - - renounceOwnership( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferOwnership( - newOwner: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; - - populateTransaction: { - owner(overrides?: CallOverrides): Promise; - - renounceOwnership( - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - transferOwnership( - newOwner: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - }; -} diff --git a/typings/SGReceiver.ts b/typings/SGReceiver.ts new file mode 100644 index 00000000..c67bf760 --- /dev/null +++ b/typings/SGReceiver.ts @@ -0,0 +1,150 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface SGReceiverInterface extends utils.Interface { + functions: { + "sgReceive(uint16,bytes,uint256,address,uint256,bytes)": FunctionFragment; + }; + + encodeFunctionData( + functionFragment: "sgReceive", + values: [ + BigNumberish, + BytesLike, + BigNumberish, + string, + BigNumberish, + BytesLike + ] + ): string; + + decodeFunctionResult(functionFragment: "sgReceive", data: BytesLike): Result; + + events: { + "StargateReceivedOnDestination(address,uint256)": EventFragment; + }; + + getEvent( + nameOrSignatureOrTopic: "StargateReceivedOnDestination" + ): EventFragment; +} + +export type StargateReceivedOnDestinationEvent = TypedEvent< + [string, BigNumber], + { token: string; amount: BigNumber } +>; + +export type StargateReceivedOnDestinationEventFilter = + TypedEventFilter; + +export interface SGReceiver extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: SGReceiverInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + sgReceive( + arg0: BigNumberish, + arg1: BytesLike, + arg2: BigNumberish, + _token: string, + _amountLD: BigNumberish, + _payload: BytesLike, + overrides?: Overrides & { from?: string | Promise } + ): Promise; + }; + + sgReceive( + arg0: BigNumberish, + arg1: BytesLike, + arg2: BigNumberish, + _token: string, + _amountLD: BigNumberish, + _payload: BytesLike, + overrides?: Overrides & { from?: string | Promise } + ): Promise; + + callStatic: { + sgReceive( + arg0: BigNumberish, + arg1: BytesLike, + arg2: BigNumberish, + _token: string, + _amountLD: BigNumberish, + _payload: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "StargateReceivedOnDestination(address,uint256)"( + token?: null, + amount?: null + ): StargateReceivedOnDestinationEventFilter; + StargateReceivedOnDestination( + token?: null, + amount?: null + ): StargateReceivedOnDestinationEventFilter; + }; + + estimateGas: { + sgReceive( + arg0: BigNumberish, + arg1: BytesLike, + arg2: BigNumberish, + _token: string, + _amountLD: BigNumberish, + _payload: BytesLike, + overrides?: Overrides & { from?: string | Promise } + ): Promise; + }; + + populateTransaction: { + sgReceive( + arg0: BigNumberish, + arg1: BytesLike, + arg2: BigNumberish, + _token: string, + _amountLD: BigNumberish, + _payload: BytesLike, + overrides?: Overrides & { from?: string | Promise } + ): Promise; + }; +} diff --git a/typings/SafeMathLib.ts b/typings/SafeMathLib.ts new file mode 100644 index 00000000..3e37c0c2 --- /dev/null +++ b/typings/SafeMathLib.ts @@ -0,0 +1,157 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import { FunctionFragment, Result } from "@ethersproject/abi"; +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface SafeMathLibInterface extends utils.Interface { + functions: { + "c_463892cc(bytes8)": FunctionFragment; + "c_false463892cc(bytes8)": FunctionFragment; + "c_true463892cc(bytes8)": FunctionFragment; + }; + + encodeFunctionData( + functionFragment: "c_463892cc", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false463892cc", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true463892cc", + values: [BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "c_463892cc", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false463892cc", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true463892cc", + data: BytesLike + ): Result; + + events: {}; +} + +export interface SafeMathLib extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: SafeMathLibInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + c_463892cc( + c__463892cc: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false463892cc( + c__463892cc: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true463892cc( + c__463892cc: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + c_463892cc(c__463892cc: BytesLike, overrides?: CallOverrides): Promise; + + c_false463892cc( + c__463892cc: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true463892cc( + c__463892cc: BytesLike, + overrides?: CallOverrides + ): Promise; + + callStatic: { + c_463892cc( + c__463892cc: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false463892cc( + c__463892cc: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true463892cc( + c__463892cc: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + c_463892cc( + c__463892cc: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false463892cc( + c__463892cc: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true463892cc( + c__463892cc: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + c_463892cc( + c__463892cc: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false463892cc( + c__463892cc: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true463892cc( + c__463892cc: BytesLike, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/typings/StargateFacet.ts b/typings/StargateFacet.ts index 521b8508..d30d7378 100644 --- a/typings/StargateFacet.ts +++ b/typings/StargateFacet.ts @@ -18,21 +18,31 @@ import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; -export type StargateETHTransferDataStruct = { +export type ChainIdConfigStruct = { + chainId: BigNumberish; + layerZeroChainId: BigNumberish; +}; + +export type ChainIdConfigStructOutput = [BigNumber, number] & { + chainId: BigNumber; + layerZeroChainId: number; +}; + +export type StargateETHDataStruct = { amount: BigNumberish; dstChainId: BigNumberish; to: string; slippage: BigNumberish; }; -export type StargateETHTransferDataStructOutput = [ +export type StargateETHDataStructOutput = [ BigNumber, number, string, number ] & { amount: BigNumber; dstChainId: number; to: string; slippage: number }; -export type StargateTransferDataStruct = { +export type StargateDataStruct = { amount: BigNumberish; bridgeToken: string; dstChainId: BigNumberish; @@ -40,10 +50,10 @@ export type StargateTransferDataStruct = { dstPoolId: BigNumberish; to: string; slippage: BigNumberish; - destStargateComposed: BigNumberish; + destStargateComposed: string; }; -export type StargateTransferDataStructOutput = [ +export type StargateDataStructOutput = [ BigNumber, string, number, @@ -51,7 +61,7 @@ export type StargateTransferDataStructOutput = [ number, string, number, - BigNumber + string ] & { amount: BigNumber; bridgeToken: string; @@ -60,21 +70,31 @@ export type StargateTransferDataStructOutput = [ dstPoolId: number; to: string; slippage: number; - destStargateComposed: BigNumber; + destStargateComposed: string; }; export interface StargateFacetInterface extends utils.Interface { functions: { - "initStargate(address,address,uint16)": FunctionFragment; + "getLzChainId(uint256)": FunctionFragment; + "initStargate(address,address,uint16,(uint256,uint16)[])": FunctionFragment; + "setLzChainId(uint256,uint16)": FunctionFragment; "sgReceive(uint16,bytes,uint256,address,uint256,bytes)": FunctionFragment; "stargateETHTransfer((uint256,uint16,address,uint16))": FunctionFragment; - "stargateFees(uint16,address,address)": FunctionFragment; - "stargateTokenTransfer((uint256,address,uint16,uint16,uint16,address,uint16,uint256))": FunctionFragment; + "stargateFees((uint256,address,uint16,uint16,uint16,address,uint16,address),address)": FunctionFragment; + "stargateTokenTransfer((uint256,address,uint16,uint16,uint16,address,uint16,address))": FunctionFragment; }; + encodeFunctionData( + functionFragment: "getLzChainId", + values: [BigNumberish] + ): string; encodeFunctionData( functionFragment: "initStargate", - values: [string, string, BigNumberish] + values: [string, string, BigNumberish, ChainIdConfigStruct[]] + ): string; + encodeFunctionData( + functionFragment: "setLzChainId", + values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "sgReceive", @@ -89,21 +109,29 @@ export interface StargateFacetInterface extends utils.Interface { ): string; encodeFunctionData( functionFragment: "stargateETHTransfer", - values: [StargateETHTransferDataStruct] + values: [StargateETHDataStruct] ): string; encodeFunctionData( functionFragment: "stargateFees", - values: [BigNumberish, string, string] + values: [StargateDataStruct, string] ): string; encodeFunctionData( functionFragment: "stargateTokenTransfer", - values: [StargateTransferDataStruct] + values: [StargateDataStruct] ): string; + decodeFunctionResult( + functionFragment: "getLzChainId", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "initStargate", data: BytesLike ): Result; + decodeFunctionResult( + functionFragment: "setLzChainId", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "sgReceive", data: BytesLike): Result; decodeFunctionResult( functionFragment: "stargateETHTransfer", @@ -119,13 +147,15 @@ export interface StargateFacetInterface extends utils.Interface { ): Result; events: { - "StargateETHTokenSwap(address,address,uint256,uint16)": EventFragment; + "LzChainIdSet(uint256,uint16)": EventFragment; + "StargateETHSwap(address,address,uint256,uint16)": EventFragment; "StargateInitialized(address,address,uint16)": EventFragment; "StargateReceivedOnDestination(address,uint256)": EventFragment; "StargateTokenSwap(address,address,address,uint256,uint16)": EventFragment; }; - getEvent(nameOrSignatureOrTopic: "StargateETHTokenSwap"): EventFragment; + getEvent(nameOrSignatureOrTopic: "LzChainIdSet"): EventFragment; + getEvent(nameOrSignatureOrTopic: "StargateETHSwap"): EventFragment; getEvent(nameOrSignatureOrTopic: "StargateInitialized"): EventFragment; getEvent( nameOrSignatureOrTopic: "StargateReceivedOnDestination" @@ -133,13 +163,19 @@ export interface StargateFacetInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: "StargateTokenSwap"): EventFragment; } -export type StargateETHTokenSwapEvent = TypedEvent< +export type LzChainIdSetEvent = TypedEvent< + [BigNumber, number], + { chainId: BigNumber; lzChainId: number } +>; + +export type LzChainIdSetEventFilter = TypedEventFilter; + +export type StargateETHSwapEvent = TypedEvent< [string, string, BigNumber, number], { from: string; to: string; amount: BigNumber; chainIdTo: number } >; -export type StargateETHTokenSwapEventFilter = - TypedEventFilter; +export type StargateETHSwapEventFilter = TypedEventFilter; export type StargateInitializedEvent = TypedEvent< [string, string, number], @@ -198,10 +234,22 @@ export interface StargateFacet extends BaseContract { removeListener: OnEvent; functions: { + getLzChainId( + _chainId: BigNumberish, + overrides?: CallOverrides + ): Promise<[number]>; + initStargate( _stargateRouter: string, _stargateETHRouter: string, _chainId: BigNumberish, + _chainIdConfigs: ChainIdConfigStruct[], + overrides?: Overrides & { from?: string | Promise } + ): Promise; + + setLzChainId( + _chainId: BigNumberish, + _lzChainId: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -216,27 +264,38 @@ export interface StargateFacet extends BaseContract { ): Promise; stargateETHTransfer( - _data: StargateETHTransferDataStruct, + _data: StargateETHDataStruct, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; stargateFees( - _destChain: BigNumberish, - _receiver: string, + _data: StargateDataStruct, _router: string, overrides?: CallOverrides ): Promise<[BigNumber]>; stargateTokenTransfer( - _data: StargateTransferDataStruct, + _data: StargateDataStruct, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; }; + getLzChainId( + _chainId: BigNumberish, + overrides?: CallOverrides + ): Promise; + initStargate( _stargateRouter: string, _stargateETHRouter: string, _chainId: BigNumberish, + _chainIdConfigs: ChainIdConfigStruct[], + overrides?: Overrides & { from?: string | Promise } + ): Promise; + + setLzChainId( + _chainId: BigNumberish, + _lzChainId: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -251,27 +310,38 @@ export interface StargateFacet extends BaseContract { ): Promise; stargateETHTransfer( - _data: StargateETHTransferDataStruct, + _data: StargateETHDataStruct, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; stargateFees( - _destChain: BigNumberish, - _receiver: string, + _data: StargateDataStruct, _router: string, overrides?: CallOverrides ): Promise; stargateTokenTransfer( - _data: StargateTransferDataStruct, + _data: StargateDataStruct, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; callStatic: { + getLzChainId( + _chainId: BigNumberish, + overrides?: CallOverrides + ): Promise; + initStargate( _stargateRouter: string, _stargateETHRouter: string, _chainId: BigNumberish, + _chainIdConfigs: ChainIdConfigStruct[], + overrides?: CallOverrides + ): Promise; + + setLzChainId( + _chainId: BigNumberish, + _lzChainId: BigNumberish, overrides?: CallOverrides ): Promise; @@ -286,36 +356,41 @@ export interface StargateFacet extends BaseContract { ): Promise; stargateETHTransfer( - _data: StargateETHTransferDataStruct, + _data: StargateETHDataStruct, overrides?: CallOverrides ): Promise; stargateFees( - _destChain: BigNumberish, - _receiver: string, + _data: StargateDataStruct, _router: string, overrides?: CallOverrides ): Promise; stargateTokenTransfer( - _data: StargateTransferDataStruct, + _data: StargateDataStruct, overrides?: CallOverrides ): Promise; }; filters: { - "StargateETHTokenSwap(address,address,uint256,uint16)"( + "LzChainIdSet(uint256,uint16)"( + chainId?: null, + lzChainId?: null + ): LzChainIdSetEventFilter; + LzChainIdSet(chainId?: null, lzChainId?: null): LzChainIdSetEventFilter; + + "StargateETHSwap(address,address,uint256,uint16)"( from?: null, to?: null, amount?: null, chainIdTo?: null - ): StargateETHTokenSwapEventFilter; - StargateETHTokenSwap( + ): StargateETHSwapEventFilter; + StargateETHSwap( from?: null, to?: null, amount?: null, chainIdTo?: null - ): StargateETHTokenSwapEventFilter; + ): StargateETHSwapEventFilter; "StargateInitialized(address,address,uint16)"( stargateRouter?: null, @@ -354,10 +429,22 @@ export interface StargateFacet extends BaseContract { }; estimateGas: { + getLzChainId( + _chainId: BigNumberish, + overrides?: CallOverrides + ): Promise; + initStargate( _stargateRouter: string, _stargateETHRouter: string, _chainId: BigNumberish, + _chainIdConfigs: ChainIdConfigStruct[], + overrides?: Overrides & { from?: string | Promise } + ): Promise; + + setLzChainId( + _chainId: BigNumberish, + _lzChainId: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -372,28 +459,39 @@ export interface StargateFacet extends BaseContract { ): Promise; stargateETHTransfer( - _data: StargateETHTransferDataStruct, + _data: StargateETHDataStruct, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; stargateFees( - _destChain: BigNumberish, - _receiver: string, + _data: StargateDataStruct, _router: string, overrides?: CallOverrides ): Promise; stargateTokenTransfer( - _data: StargateTransferDataStruct, + _data: StargateDataStruct, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; }; populateTransaction: { + getLzChainId( + _chainId: BigNumberish, + overrides?: CallOverrides + ): Promise; + initStargate( _stargateRouter: string, _stargateETHRouter: string, _chainId: BigNumberish, + _chainIdConfigs: ChainIdConfigStruct[], + overrides?: Overrides & { from?: string | Promise } + ): Promise; + + setLzChainId( + _chainId: BigNumberish, + _lzChainId: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -408,19 +506,18 @@ export interface StargateFacet extends BaseContract { ): Promise; stargateETHTransfer( - _data: StargateETHTransferDataStruct, + _data: StargateETHDataStruct, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; stargateFees( - _destChain: BigNumberish, - _receiver: string, + _data: StargateDataStruct, _router: string, overrides?: CallOverrides ): Promise; stargateTokenTransfer( - _data: StargateTransferDataStruct, + _data: StargateDataStruct, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; }; diff --git a/typings/StringsLib.ts b/typings/StringsLib.ts new file mode 100644 index 00000000..1f465796 --- /dev/null +++ b/typings/StringsLib.ts @@ -0,0 +1,157 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import { FunctionFragment, Result } from "@ethersproject/abi"; +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface StringsLibInterface extends utils.Interface { + functions: { + "c_203ff449(bytes8)": FunctionFragment; + "c_false203ff449(bytes8)": FunctionFragment; + "c_true203ff449(bytes8)": FunctionFragment; + }; + + encodeFunctionData( + functionFragment: "c_203ff449", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false203ff449", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true203ff449", + values: [BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "c_203ff449", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false203ff449", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true203ff449", + data: BytesLike + ): Result; + + events: {}; +} + +export interface StringsLib extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: StringsLibInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + c_203ff449( + c__203ff449: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false203ff449( + c__203ff449: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true203ff449( + c__203ff449: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + c_203ff449(c__203ff449: BytesLike, overrides?: CallOverrides): Promise; + + c_false203ff449( + c__203ff449: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true203ff449( + c__203ff449: BytesLike, + overrides?: CallOverrides + ): Promise; + + callStatic: { + c_203ff449( + c__203ff449: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false203ff449( + c__203ff449: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true203ff449( + c__203ff449: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + c_203ff449( + c__203ff449: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false203ff449( + c__203ff449: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true203ff449( + c__203ff449: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + c_203ff449( + c__203ff449: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false203ff449( + c__203ff449: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true203ff449( + c__203ff449: BytesLike, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/typings/SwapUtils.ts b/typings/SwapUtils.ts deleted file mode 100644 index df462f25..00000000 --- a/typings/SwapUtils.ts +++ /dev/null @@ -1,249 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { BaseContract, BigNumber, BytesLike, Signer, utils } from "ethers"; -import { EventFragment } from "@ethersproject/abi"; -import { Listener, Provider } from "@ethersproject/providers"; -import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; - -export interface SwapUtilsInterface extends utils.Interface { - functions: {}; - - events: { - "AddLiquidity(bytes32,address,uint256[],uint256[],uint256,uint256)": EventFragment; - "NewAdminFee(bytes32,uint256)": EventFragment; - "NewSwapFee(bytes32,uint256)": EventFragment; - "RemoveLiquidity(bytes32,address,uint256[],uint256)": EventFragment; - "RemoveLiquidityImbalance(bytes32,address,uint256[],uint256[],uint256,uint256)": EventFragment; - "RemoveLiquidityOne(bytes32,address,uint256,uint256,uint256,uint256)": EventFragment; - "TokenSwap(bytes32,address,uint256,uint256,uint128,uint128)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "AddLiquidity"): EventFragment; - getEvent(nameOrSignatureOrTopic: "NewAdminFee"): EventFragment; - getEvent(nameOrSignatureOrTopic: "NewSwapFee"): EventFragment; - getEvent(nameOrSignatureOrTopic: "RemoveLiquidity"): EventFragment; - getEvent(nameOrSignatureOrTopic: "RemoveLiquidityImbalance"): EventFragment; - getEvent(nameOrSignatureOrTopic: "RemoveLiquidityOne"): EventFragment; - getEvent(nameOrSignatureOrTopic: "TokenSwap"): EventFragment; -} - -export type AddLiquidityEvent = TypedEvent< - [string, string, BigNumber[], BigNumber[], BigNumber, BigNumber], - { - key: string; - provider: string; - tokenAmounts: BigNumber[]; - fees: BigNumber[]; - invariant: BigNumber; - lpTokenSupply: BigNumber; - } ->; - -export type AddLiquidityEventFilter = TypedEventFilter; - -export type NewAdminFeeEvent = TypedEvent< - [string, BigNumber], - { key: string; newAdminFee: BigNumber } ->; - -export type NewAdminFeeEventFilter = TypedEventFilter; - -export type NewSwapFeeEvent = TypedEvent< - [string, BigNumber], - { key: string; newSwapFee: BigNumber } ->; - -export type NewSwapFeeEventFilter = TypedEventFilter; - -export type RemoveLiquidityEvent = TypedEvent< - [string, string, BigNumber[], BigNumber], - { - key: string; - provider: string; - tokenAmounts: BigNumber[]; - lpTokenSupply: BigNumber; - } ->; - -export type RemoveLiquidityEventFilter = TypedEventFilter; - -export type RemoveLiquidityImbalanceEvent = TypedEvent< - [string, string, BigNumber[], BigNumber[], BigNumber, BigNumber], - { - key: string; - provider: string; - tokenAmounts: BigNumber[]; - fees: BigNumber[]; - invariant: BigNumber; - lpTokenSupply: BigNumber; - } ->; - -export type RemoveLiquidityImbalanceEventFilter = - TypedEventFilter; - -export type RemoveLiquidityOneEvent = TypedEvent< - [string, string, BigNumber, BigNumber, BigNumber, BigNumber], - { - key: string; - provider: string; - lpTokenAmount: BigNumber; - lpTokenSupply: BigNumber; - boughtId: BigNumber; - tokensBought: BigNumber; - } ->; - -export type RemoveLiquidityOneEventFilter = - TypedEventFilter; - -export type TokenSwapEvent = TypedEvent< - [string, string, BigNumber, BigNumber, BigNumber, BigNumber], - { - key: string; - buyer: string; - tokensSold: BigNumber; - tokensBought: BigNumber; - soldId: BigNumber; - boughtId: BigNumber; - } ->; - -export type TokenSwapEventFilter = TypedEventFilter; - -export interface SwapUtils extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: SwapUtilsInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: {}; - - callStatic: {}; - - filters: { - "AddLiquidity(bytes32,address,uint256[],uint256[],uint256,uint256)"( - key?: BytesLike | null, - provider?: string | null, - tokenAmounts?: null, - fees?: null, - invariant?: null, - lpTokenSupply?: null - ): AddLiquidityEventFilter; - AddLiquidity( - key?: BytesLike | null, - provider?: string | null, - tokenAmounts?: null, - fees?: null, - invariant?: null, - lpTokenSupply?: null - ): AddLiquidityEventFilter; - - "NewAdminFee(bytes32,uint256)"( - key?: BytesLike | null, - newAdminFee?: null - ): NewAdminFeeEventFilter; - NewAdminFee( - key?: BytesLike | null, - newAdminFee?: null - ): NewAdminFeeEventFilter; - - "NewSwapFee(bytes32,uint256)"( - key?: BytesLike | null, - newSwapFee?: null - ): NewSwapFeeEventFilter; - NewSwapFee( - key?: BytesLike | null, - newSwapFee?: null - ): NewSwapFeeEventFilter; - - "RemoveLiquidity(bytes32,address,uint256[],uint256)"( - key?: BytesLike | null, - provider?: string | null, - tokenAmounts?: null, - lpTokenSupply?: null - ): RemoveLiquidityEventFilter; - RemoveLiquidity( - key?: BytesLike | null, - provider?: string | null, - tokenAmounts?: null, - lpTokenSupply?: null - ): RemoveLiquidityEventFilter; - - "RemoveLiquidityImbalance(bytes32,address,uint256[],uint256[],uint256,uint256)"( - key?: BytesLike | null, - provider?: string | null, - tokenAmounts?: null, - fees?: null, - invariant?: null, - lpTokenSupply?: null - ): RemoveLiquidityImbalanceEventFilter; - RemoveLiquidityImbalance( - key?: BytesLike | null, - provider?: string | null, - tokenAmounts?: null, - fees?: null, - invariant?: null, - lpTokenSupply?: null - ): RemoveLiquidityImbalanceEventFilter; - - "RemoveLiquidityOne(bytes32,address,uint256,uint256,uint256,uint256)"( - key?: BytesLike | null, - provider?: string | null, - lpTokenAmount?: null, - lpTokenSupply?: null, - boughtId?: null, - tokensBought?: null - ): RemoveLiquidityOneEventFilter; - RemoveLiquidityOne( - key?: BytesLike | null, - provider?: string | null, - lpTokenAmount?: null, - lpTokenSupply?: null, - boughtId?: null, - tokensBought?: null - ): RemoveLiquidityOneEventFilter; - - "TokenSwap(bytes32,address,uint256,uint256,uint128,uint128)"( - key?: BytesLike | null, - buyer?: string | null, - tokensSold?: null, - tokensBought?: null, - soldId?: null, - boughtId?: null - ): TokenSwapEventFilter; - TokenSwap( - key?: BytesLike | null, - buyer?: string | null, - tokensSold?: null, - tokensBought?: null, - soldId?: null, - boughtId?: null - ): TokenSwapEventFilter; - }; - - estimateGas: {}; - - populateTransaction: {}; -} diff --git a/typings/TypedMemView.ts b/typings/TypedMemView.ts deleted file mode 100644 index c12ccf25..00000000 --- a/typings/TypedMemView.ts +++ /dev/null @@ -1,74 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { - BaseContract, - BigNumber, - BytesLike, - CallOverrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import { FunctionFragment, Result } from "@ethersproject/abi"; -import { Listener, Provider } from "@ethersproject/providers"; -import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; - -export interface TypedMemViewInterface extends utils.Interface { - functions: { - "NULL()": FunctionFragment; - }; - - encodeFunctionData(functionFragment: "NULL", values?: undefined): string; - - decodeFunctionResult(functionFragment: "NULL", data: BytesLike): Result; - - events: {}; -} - -export interface TypedMemView extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: TypedMemViewInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - NULL(overrides?: CallOverrides): Promise<[string]>; - }; - - NULL(overrides?: CallOverrides): Promise; - - callStatic: { - NULL(overrides?: CallOverrides): Promise; - }; - - filters: {}; - - estimateGas: { - NULL(overrides?: CallOverrides): Promise; - }; - - populateTransaction: { - NULL(overrides?: CallOverrides): Promise; - }; -} diff --git a/typings/factories/AddressLib__factory.ts b/typings/factories/AddressLib__factory.ts new file mode 100644 index 00000000..25a98753 --- /dev/null +++ b/typings/factories/AddressLib__factory.ts @@ -0,0 +1,109 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { AddressLib, AddressLibInterface } from "../AddressLib"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes8", + name: "c__3ff40878", + type: "bytes8", + }, + ], + name: "c_3ff40878", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__3ff40878", + type: "bytes8", + }, + ], + name: "c_false3ff40878", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__3ff40878", + type: "bytes8", + }, + ], + name: "c_true3ff40878", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, +]; + +const _bytecode = + "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c8063301055ea14610050578063b0076db1146100af578063e6f2691a146100f8575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b60405180821515815260200191505060405180910390f35b6100f6600480360360208110156100c557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061015e565b005b61013f6004803603602081101561010e57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610161565b60405180821515815260200191505060405180910390f35b6000919050565b50565b60006001905091905056fea164736f6c634300060c000a"; + +type AddressLibConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: AddressLibConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class AddressLib__factory extends ContractFactory { + constructor(...args: AddressLibConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + deploy( + overrides?: Overrides & { from?: string | Promise } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + getDeployTransaction( + overrides?: Overrides & { from?: string | Promise } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + attach(address: string): AddressLib { + return super.attach(address) as AddressLib; + } + connect(signer: Signer): AddressLib__factory { + return super.connect(signer) as AddressLib__factory; + } + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): AddressLibInterface { + return new utils.Interface(_abi) as AddressLibInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): AddressLib { + return new Contract(address, _abi, signerOrProvider) as AddressLib; + } +} diff --git a/typings/factories/AmplificationUtils__factory.ts b/typings/factories/AmplificationUtils__factory.ts deleted file mode 100644 index ba5b24f9..00000000 --- a/typings/factories/AmplificationUtils__factory.ts +++ /dev/null @@ -1,111 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { - AmplificationUtils, - AmplificationUtilsInterface, -} from "../AmplificationUtils"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "oldA", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "newA", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "initialTime", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "futureTime", - type: "uint256", - }, - ], - name: "RampA", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "currentA", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "time", - type: "uint256", - }, - ], - name: "StopRampA", - type: "event", - }, -]; - -const _bytecode = - "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b11fd6dff13a14654d73e77c50d46af55a0781b6d0604277b4a768052de705bc64736f6c63430008110033"; - -type AmplificationUtilsConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: AmplificationUtilsConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class AmplificationUtils__factory extends ContractFactory { - constructor(...args: AmplificationUtilsConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - } - - deploy( - overrides?: Overrides & { from?: string | Promise } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - getDeployTransaction( - overrides?: Overrides & { from?: string | Promise } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - attach(address: string): AmplificationUtils { - return super.attach(address) as AmplificationUtils; - } - connect(signer: Signer): AmplificationUtils__factory { - return super.connect(signer) as AmplificationUtils__factory; - } - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): AmplificationUtilsInterface { - return new utils.Interface(_abi) as AmplificationUtilsInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): AmplificationUtils { - return new Contract(address, _abi, signerOrProvider) as AmplificationUtils; - } -} diff --git a/typings/factories/AssetLogic__factory.ts b/typings/factories/AssetLogic__factory.ts deleted file mode 100644 index 8700e15e..00000000 --- a/typings/factories/AssetLogic__factory.ts +++ /dev/null @@ -1,88 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { AssetLogic, AssetLogicInterface } from "../AssetLogic"; - -const _abi = [ - { - inputs: [], - name: "AssetLogic__getConfig_notRegistered", - type: "error", - }, - { - inputs: [], - name: "AssetLogic__getTokenIndexFromStableSwapPool_notExist", - type: "error", - }, - { - inputs: [], - name: "AssetLogic__handleIncomingAsset_feeOnTransferNotSupported", - type: "error", - }, - { - inputs: [], - name: "AssetLogic__handleIncomingAsset_nativeAssetNotSupported", - type: "error", - }, - { - inputs: [], - name: "AssetLogic__handleOutgoingAsset_notNative", - type: "error", - }, - { - inputs: [], - name: "AssetLogic__swapAsset_externalStableSwapPoolDoesNotExist", - type: "error", - }, -]; - -const _bytecode = - "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a308637350ea3051c4aec0daff55569551361be4e979421eff6819f130e68b8f64736f6c63430008110033"; - -type AssetLogicConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: AssetLogicConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class AssetLogic__factory extends ContractFactory { - constructor(...args: AssetLogicConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - } - - deploy( - overrides?: Overrides & { from?: string | Promise } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - getDeployTransaction( - overrides?: Overrides & { from?: string | Promise } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - attach(address: string): AssetLogic { - return super.attach(address) as AssetLogic; - } - connect(signer: Signer): AssetLogic__factory { - return super.connect(signer) as AssetLogic__factory; - } - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): AssetLogicInterface { - return new utils.Interface(_abi) as AssetLogicInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): AssetLogic { - return new Contract(address, _abi, signerOrProvider) as AssetLogic; - } -} diff --git a/typings/factories/BlockLib__factory.ts b/typings/factories/BlockLib__factory.ts new file mode 100644 index 00000000..c981ea6d --- /dev/null +++ b/typings/factories/BlockLib__factory.ts @@ -0,0 +1,109 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { BlockLib, BlockLibInterface } from "../BlockLib"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes8", + name: "c__95aa65b5", + type: "bytes8", + }, + ], + name: "c_95aa65b5", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__95aa65b5", + type: "bytes8", + }, + ], + name: "c_false95aa65b5", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__95aa65b5", + type: "bytes8", + }, + ], + name: "c_true95aa65b5", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, +]; + +const _bytecode = + "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80632fbbf4f21461005057806355f38bce1461009957806377de63c6146100f8575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b005b6100e0600480360360208110156100af57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061015a565b60405180821515815260200191505060405180910390f35b61013f6004803603602081101561010e57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610161565b60405180821515815260200191505060405180910390f35b50565b6000919050565b60006001905091905056fea164736f6c634300060c000a"; + +type BlockLibConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: BlockLibConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class BlockLib__factory extends ContractFactory { + constructor(...args: BlockLibConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + deploy( + overrides?: Overrides & { from?: string | Promise } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + getDeployTransaction( + overrides?: Overrides & { from?: string | Promise } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + attach(address: string): BlockLib { + return super.attach(address) as BlockLib; + } + connect(signer: Signer): BlockLib__factory { + return super.connect(signer) as BlockLib__factory; + } + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): BlockLibInterface { + return new utils.Interface(_abi) as BlockLibInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): BlockLib { + return new Contract(address, _abi, signerOrProvider) as BlockLib; + } +} diff --git a/typings/factories/BytesLib__factory.ts b/typings/factories/BytesLib__factory.ts new file mode 100644 index 00000000..5cb80106 --- /dev/null +++ b/typings/factories/BytesLib__factory.ts @@ -0,0 +1,109 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { BytesLib, BytesLibInterface } from "../BytesLib"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes8", + name: "c__c2ee166d", + type: "bytes8", + }, + ], + name: "c_c2ee166d", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__c2ee166d", + type: "bytes8", + }, + ], + name: "c_falsec2ee166d", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__c2ee166d", + type: "bytes8", + }, + ], + name: "c_truec2ee166d", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, +]; + +const _bytecode = + "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c8063626dc95a146100505780639b03c16014610099578063e46b7ba9146100f8575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b005b6100e0600480360360208110156100af57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061015a565b60405180821515815260200191505060405180910390f35b61013f6004803603602081101561010e57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610165565b60405180821515815260200191505060405180910390f35b50565b600060019050919050565b600091905056fea164736f6c634300060c000a"; + +type BytesLibConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: BytesLibConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class BytesLib__factory extends ContractFactory { + constructor(...args: BytesLibConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + deploy( + overrides?: Overrides & { from?: string | Promise } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + getDeployTransaction( + overrides?: Overrides & { from?: string | Promise } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + attach(address: string): BytesLib { + return super.attach(address) as BytesLib; + } + connect(signer: Signer): BytesLib__factory { + return super.connect(signer) as BytesLib__factory; + } + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): BytesLibInterface { + return new utils.Interface(_abi) as BytesLibInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): BytesLib { + return new Contract(address, _abi, signerOrProvider) as BytesLib; + } +} diff --git a/typings/factories/ConnextFacet__factory.ts b/typings/factories/ConnextFacet__factory.ts index 0749c792..3dcfc179 100644 --- a/typings/factories/ConnextFacet__factory.ts +++ b/typings/factories/ConnextFacet__factory.ts @@ -213,7 +213,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50611b37806100206000396000f3fe6080604052600436106100345760003560e01c80633205dc691461003957806351b401b914610062578063da328d541461007e575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190611055565b61009a565b005b61007c600480360381019061007791906110de565b61029c565b005b610098600480360381019061009391906110de565b61064f565b005b6100a26109e3565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610108906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906111c8565b60405180910390fd5b600061018a610a7e565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160000160146101000a81548163ffffffff021916908363ffffffff160217905550818160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168363ffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe23ac138025651e2fb684be9a5c635424d4dac7fc73449494c24c4955e79027860405160405180910390a450505050565b60006102a6610aab565b90506000879050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff160361031c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610313906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361038b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610382906111c8565b60405180910390fd5b610393610ade565b63ffffffff168563ffffffff16036103e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d79061125a565b60405180910390fd5b823414610422576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610419906112c6565b60405180910390fd5b868173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b815260040161045e9291906112f5565b602060405180830381865afa15801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049f9190611333565b10156104e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d7906113d2565b60405180910390fd5b61050d3330898473ffffffffffffffffffffffffffffffffffffffff16610b01909392919063ffffffff16565b61053882888373ffffffffffffffffffffffffffffffffffffffff16610b8a9092919063ffffffff16565b60008273ffffffffffffffffffffffffffffffffffffffff16638aac16ba85888a8d338e8c604051806020016040528060008152506040518963ffffffff1660e01b815260040161058f97969594939291906114a0565b60206040518083038185885af11580156105ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105d2919061154c565b90508873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167f1a0290ac7c224ab0140c811403ba545f80e92404b9979b69e52b3f589bc1c1e08b888660405161063c93929190611588565b60405180910390a4505050505050505050565b6000610659610aab565b90506000610665610cd9565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16036106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cd906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073c906111c8565b60405180910390fd5b61074d610ade565b63ffffffff168563ffffffff160361079a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107919061125a565b60405180910390fd5b82876107a691906115ee565b34146107e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107de90611694565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b15801561083457600080fd5b505af1158015610848573d6000803e3d6000fd5b50505050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3848a6040518363ffffffff1660e01b81526004016108889291906116b4565b6020604051808303816000875af11580156108a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cb9190611715565b50506000866040516020016108e09190611742565b604051602081830303815290604052905060008373ffffffffffffffffffffffffffffffffffffffff16638aac16ba86898d87338f8d8a6040518963ffffffff1660e01b815260040161093997969594939291906114a0565b60206040518083038185885af1158015610957573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061097c919061154c565b90508773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167fe16c7dcc828782adcdd94aaeb1d07c3ae5a6d593a6b851ab5e023f9c961436873488856040516109cf93929190611588565b60405180910390a350505050505050505050565b6109eb610d0c565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a73906117cf565b60405180910390fd5b565b6000807ffa2e9c22c7fe2104814a1d7e2c66c58d10a2d7989d5bcf01173a2564aa59c04d90508091505090565b6000610ab5610a7e565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610ae8610a7e565b60000160149054906101000a900463ffffffff16905090565b610b84846323b872dd60e01b858585604051602401610b22939291906117ef565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b50505050565b6000811480610c14575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610bd19291906112f5565b602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611333565b145b610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90611898565b60405180910390fd5b610cd48363095ea7b360e01b8484604051602401610c729291906116b4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b505050565b6000610ce3610a7e565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610d9b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610e009092919063ffffffff16565b9050600081511115610dfb5780806020019051810190610dbb9190611715565b610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df19061192a565b60405180910390fd5b5b505050565b6060610e0f8484600085610e18565b90509392505050565b606082471015610e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e54906119bc565b60405180910390fd5b610e6685610f2c565b610ea5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9c90611a28565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ece9190611a84565b60006040518083038185875af1925050503d8060008114610f0b576040519150601f19603f3d011682016040523d82523d6000602084013e610f10565b606091505b5091509150610f20828286610f4f565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610f5f57829050610faf565b600083511115610f725782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa69190611adf565b60405180910390fd5b9392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610fe682610fbb565b9050919050565b610ff681610fdb565b811461100157600080fd5b50565b60008135905061101381610fed565b92915050565b600063ffffffff82169050919050565b61103281611019565b811461103d57600080fd5b50565b60008135905061104f81611029565b92915050565b60008060006060848603121561106e5761106d610fb6565b5b600061107c86828701611004565b935050602061108d86828701611040565b925050604061109e86828701611004565b9150509250925092565b6000819050919050565b6110bb816110a8565b81146110c657600080fd5b50565b6000813590506110d8816110b2565b92915050565b60008060008060008060c087890312156110fb576110fa610fb6565b5b600061110989828a01611004565b965050602061111a89828a016110c9565b955050604061112b89828a01611004565b945050606061113c89828a01611040565b935050608061114d89828a016110c9565b92505060a061115e89828a016110c9565b9150509295509295509295565b600082825260208201905092915050565b7f436f6e6e6578743a20696e76616c696420616464726573730000000000000000600082015250565b60006111b260188361116b565b91506111bd8261117c565b602082019050919050565b600060208201905081810360008301526111e1816111a5565b9050919050565b7f436f6e6e6578743a2043616e6e6f742062726964676520746f2073616d65206460008201527f6f6d61696e000000000000000000000000000000000000000000000000000000602082015250565b600061124460258361116b565b915061124f826111e8565b604082019050919050565b6000602082019050818103600083015261127381611237565b9050919050565b7f436f6e6e6578743a2072656c6179657246656520213d206d73672e76616c7565600082015250565b60006112b060208361116b565b91506112bb8261127a565b602082019050919050565b600060208201905081810360008301526112df816112a3565b9050919050565b6112ef81610fdb565b82525050565b600060408201905061130a60008301856112e6565b61131760208301846112e6565b9392505050565b60008151905061132d816110b2565b92915050565b60006020828403121561134957611348610fb6565b5b60006113578482850161131e565b91505092915050565b7f436f6e6e6578743a2055736572206d75737420617070726f766520616d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b60006113bc60218361116b565b91506113c782611360565b604082019050919050565b600060208201905081810360008301526113eb816113af565b9050919050565b6113fb81611019565b82525050565b61140a816110a8565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561144a57808201518184015260208101905061142f565b60008484015250505050565b6000601f19601f8301169050919050565b600061147282611410565b61147c818561141b565b935061148c81856020860161142c565b61149581611456565b840191505092915050565b600060e0820190506114b5600083018a6113f2565b6114c260208301896112e6565b6114cf60408301886112e6565b6114dc60608301876112e6565b6114e96080830186611401565b6114f660a0830185611401565b81810360c08301526115088184611467565b905098975050505050505050565b6000819050919050565b61152981611516565b811461153457600080fd5b50565b60008151905061154681611520565b92915050565b60006020828403121561156257611561610fb6565b5b600061157084828501611537565b91505092915050565b61158281611516565b82525050565b600060608201905061159d6000830186611401565b6115aa6020830185611401565b6115b76040830184611579565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115f9826110a8565b9150611604836110a8565b925082820190508082111561161c5761161b6115bf565b5b92915050565b7f436f6e6e6578743a20616d6f756e74202b2072656c6179657246656520213d2060008201527f6d73672e76616c75650000000000000000000000000000000000000000000000602082015250565b600061167e60298361116b565b915061168982611622565b604082019050919050565b600060208201905081810360008301526116ad81611671565b9050919050565b60006040820190506116c960008301856112e6565b6116d66020830184611401565b9392505050565b60008115159050919050565b6116f2816116dd565b81146116fd57600080fd5b50565b60008151905061170f816116e9565b92915050565b60006020828403121561172b5761172a610fb6565b5b600061173984828501611700565b91505092915050565b600060208201905061175760008301846112e6565b92915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006117b960228361116b565b91506117c48261175d565b604082019050919050565b600060208201905081810360008301526117e8816117ac565b9050919050565b600060608201905061180460008301866112e6565b61181160208301856112e6565b61181e6040830184611401565b949350505050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b600061188260368361116b565b915061188d82611826565b604082019050919050565b600060208201905081810360008301526118b181611875565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000611914602a8361116b565b915061191f826118b8565b604082019050919050565b6000602082019050818103600083015261194381611907565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006119a660268361116b565b91506119b18261194a565b604082019050919050565b600060208201905081810360008301526119d581611999565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000611a12601d8361116b565b9150611a1d826119dc565b602082019050919050565b60006020820190508181036000830152611a4181611a05565b9050919050565b600081905092915050565b6000611a5e82611410565b611a688185611a48565b9350611a7881856020860161142c565b80840191505092915050565b6000611a908284611a53565b915081905092915050565b600081519050919050565b6000611ab182611a9b565b611abb818561116b565b9350611acb81856020860161142c565b611ad481611456565b840191505092915050565b60006020820190508181036000830152611af98184611aa6565b90509291505056fea26469706673582212200d70fd58632d77e9650d1e907185cdd7cc0a2b728b4ea1a95a30b45c7bc071e364736f6c63430008110033"; + "0x608060405234801561001057600080fd5b50611b37806100206000396000f3fe6080604052600436106100345760003560e01c80633205dc691461003957806351b401b914610062578063da328d541461007e575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190611055565b61009a565b005b61007c600480360381019061007791906110de565b61029c565b005b610098600480360381019061009391906110de565b61064f565b005b6100a26109e3565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610108906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906111c8565b60405180910390fd5b600061018a610a7e565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160000160146101000a81548163ffffffff021916908363ffffffff160217905550818160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168363ffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe23ac138025651e2fb684be9a5c635424d4dac7fc73449494c24c4955e79027860405160405180910390a450505050565b60006102a6610aab565b90506000879050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff160361031c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610313906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361038b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610382906111c8565b60405180910390fd5b610393610ade565b63ffffffff168563ffffffff16036103e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d79061125a565b60405180910390fd5b823414610422576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610419906112c6565b60405180910390fd5b868173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b815260040161045e9291906112f5565b602060405180830381865afa15801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049f9190611333565b10156104e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d7906113d2565b60405180910390fd5b61050d3330898473ffffffffffffffffffffffffffffffffffffffff16610b01909392919063ffffffff16565b61053882888373ffffffffffffffffffffffffffffffffffffffff16610b8a9092919063ffffffff16565b60008273ffffffffffffffffffffffffffffffffffffffff16638aac16ba85888a8d338e8c604051806020016040528060008152506040518963ffffffff1660e01b815260040161058f97969594939291906114a0565b60206040518083038185885af11580156105ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105d2919061154c565b90508873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167f1a0290ac7c224ab0140c811403ba545f80e92404b9979b69e52b3f589bc1c1e08b888660405161063c93929190611588565b60405180910390a4505050505050505050565b6000610659610aab565b90506000610665610cd9565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16036106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cd906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073c906111c8565b60405180910390fd5b61074d610ade565b63ffffffff168563ffffffff160361079a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107919061125a565b60405180910390fd5b82876107a691906115ee565b34146107e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107de90611694565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b15801561083457600080fd5b505af1158015610848573d6000803e3d6000fd5b50505050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3848a6040518363ffffffff1660e01b81526004016108889291906116b4565b6020604051808303816000875af11580156108a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cb9190611715565b50506000866040516020016108e09190611742565b604051602081830303815290604052905060008373ffffffffffffffffffffffffffffffffffffffff16638aac16ba86898d87338f8d8a6040518963ffffffff1660e01b815260040161093997969594939291906114a0565b60206040518083038185885af1158015610957573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061097c919061154c565b90508773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167fe16c7dcc828782adcdd94aaeb1d07c3ae5a6d593a6b851ab5e023f9c961436873488856040516109cf93929190611588565b60405180910390a350505050505050505050565b6109eb610d0c565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a73906117cf565b60405180910390fd5b565b6000807ffa2e9c22c7fe2104814a1d7e2c66c58d10a2d7989d5bcf01173a2564aa59c04d90508091505090565b6000610ab5610a7e565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610ae8610a7e565b60000160149054906101000a900463ffffffff16905090565b610b84846323b872dd60e01b858585604051602401610b22939291906117ef565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b50505050565b6000811480610c14575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610bd19291906112f5565b602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611333565b145b610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90611898565b60405180910390fd5b610cd48363095ea7b360e01b8484604051602401610c729291906116b4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b505050565b6000610ce3610a7e565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610d9b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610e009092919063ffffffff16565b9050600081511115610dfb5780806020019051810190610dbb9190611715565b610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df19061192a565b60405180910390fd5b5b505050565b6060610e0f8484600085610e18565b90509392505050565b606082471015610e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e54906119bc565b60405180910390fd5b610e6685610f2c565b610ea5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9c90611a28565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ece9190611a84565b60006040518083038185875af1925050503d8060008114610f0b576040519150601f19603f3d011682016040523d82523d6000602084013e610f10565b606091505b5091509150610f20828286610f4f565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610f5f57829050610faf565b600083511115610f725782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa69190611adf565b60405180910390fd5b9392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610fe682610fbb565b9050919050565b610ff681610fdb565b811461100157600080fd5b50565b60008135905061101381610fed565b92915050565b600063ffffffff82169050919050565b61103281611019565b811461103d57600080fd5b50565b60008135905061104f81611029565b92915050565b60008060006060848603121561106e5761106d610fb6565b5b600061107c86828701611004565b935050602061108d86828701611040565b925050604061109e86828701611004565b9150509250925092565b6000819050919050565b6110bb816110a8565b81146110c657600080fd5b50565b6000813590506110d8816110b2565b92915050565b60008060008060008060c087890312156110fb576110fa610fb6565b5b600061110989828a01611004565b965050602061111a89828a016110c9565b955050604061112b89828a01611004565b945050606061113c89828a01611040565b935050608061114d89828a016110c9565b92505060a061115e89828a016110c9565b9150509295509295509295565b600082825260208201905092915050565b7f436f6e6e6578743a20696e76616c696420616464726573730000000000000000600082015250565b60006111b260188361116b565b91506111bd8261117c565b602082019050919050565b600060208201905081810360008301526111e1816111a5565b9050919050565b7f436f6e6e6578743a2043616e6e6f742062726964676520746f2073616d65206460008201527f6f6d61696e000000000000000000000000000000000000000000000000000000602082015250565b600061124460258361116b565b915061124f826111e8565b604082019050919050565b6000602082019050818103600083015261127381611237565b9050919050565b7f436f6e6e6578743a2072656c6179657246656520213d206d73672e76616c7565600082015250565b60006112b060208361116b565b91506112bb8261127a565b602082019050919050565b600060208201905081810360008301526112df816112a3565b9050919050565b6112ef81610fdb565b82525050565b600060408201905061130a60008301856112e6565b61131760208301846112e6565b9392505050565b60008151905061132d816110b2565b92915050565b60006020828403121561134957611348610fb6565b5b60006113578482850161131e565b91505092915050565b7f436f6e6e6578743a2055736572206d75737420617070726f766520616d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b60006113bc60218361116b565b91506113c782611360565b604082019050919050565b600060208201905081810360008301526113eb816113af565b9050919050565b6113fb81611019565b82525050565b61140a816110a8565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561144a57808201518184015260208101905061142f565b60008484015250505050565b6000601f19601f8301169050919050565b600061147282611410565b61147c818561141b565b935061148c81856020860161142c565b61149581611456565b840191505092915050565b600060e0820190506114b5600083018a6113f2565b6114c260208301896112e6565b6114cf60408301886112e6565b6114dc60608301876112e6565b6114e96080830186611401565b6114f660a0830185611401565b81810360c08301526115088184611467565b905098975050505050505050565b6000819050919050565b61152981611516565b811461153457600080fd5b50565b60008151905061154681611520565b92915050565b60006020828403121561156257611561610fb6565b5b600061157084828501611537565b91505092915050565b61158281611516565b82525050565b600060608201905061159d6000830186611401565b6115aa6020830185611401565b6115b76040830184611579565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115f9826110a8565b9150611604836110a8565b925082820190508082111561161c5761161b6115bf565b5b92915050565b7f436f6e6e6578743a20616d6f756e74202b2072656c6179657246656520213d2060008201527f6d73672e76616c75650000000000000000000000000000000000000000000000602082015250565b600061167e60298361116b565b915061168982611622565b604082019050919050565b600060208201905081810360008301526116ad81611671565b9050919050565b60006040820190506116c960008301856112e6565b6116d66020830184611401565b9392505050565b60008115159050919050565b6116f2816116dd565b81146116fd57600080fd5b50565b60008151905061170f816116e9565b92915050565b60006020828403121561172b5761172a610fb6565b5b600061173984828501611700565b91505092915050565b600060208201905061175760008301846112e6565b92915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006117b960228361116b565b91506117c48261175d565b604082019050919050565b600060208201905081810360008301526117e8816117ac565b9050919050565b600060608201905061180460008301866112e6565b61181160208301856112e6565b61181e6040830184611401565b949350505050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b600061188260368361116b565b915061188d82611826565b604082019050919050565b600060208201905081810360008301526118b181611875565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000611914602a8361116b565b915061191f826118b8565b604082019050919050565b6000602082019050818103600083015261194381611907565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006119a660268361116b565b91506119b18261194a565b604082019050919050565b600060208201905081810360008301526119d581611999565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000611a12601d8361116b565b9150611a1d826119dc565b602082019050919050565b60006020820190508181036000830152611a4181611a05565b9050919050565b600081905092915050565b6000611a5e82611410565b611a688185611a48565b9350611a7881856020860161142c565b80840191505092915050565b6000611a908284611a53565b915081905092915050565b600081519050919050565b6000611ab182611a9b565b611abb818561116b565b9350611acb81856020860161142c565b611ad481611456565b840191505092915050565b60006020820190508181036000830152611af98184611aa6565b90509291505056fea2646970667358221220b5fea5b9cc8c5bcf8466e24158d35f2d32e452b78f3daf48bba1a41f4c2624a764736f6c63430008110033"; type ConnextFacetConstructorParams = | [signer?: Signer] diff --git a/typings/factories/Constants__factory.ts b/typings/factories/Constants__factory.ts deleted file mode 100644 index a000f20b..00000000 --- a/typings/factories/Constants__factory.ts +++ /dev/null @@ -1,370 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { Constants, ConstantsInterface } from "../Constants"; - -const _abi = [ - { - inputs: [], - name: "AAVE_REFERRAL_CODE", - outputs: [ - { - internalType: "uint16", - name: "", - type: "uint16", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "A_PRECISION", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "BPS_FEE_DENOMINATOR", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "DEFAULT_COPY_BYTES", - outputs: [ - { - internalType: "uint16", - name: "", - type: "uint16", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "DEFAULT_DEADLINE_EXTENSION", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "DEFAULT_NORMALIZED_DECIMALS", - outputs: [ - { - internalType: "uint8", - name: "", - type: "uint8", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "EXECUTE_CALLDATA_RESERVE_GAS", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "FEE_DENOMINATOR", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "FUTURE_TIME_BUFFER", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "GOVERNANCE_DELAY", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "INITIAL_AAVE_REFERRAL_CODE", - outputs: [ - { - internalType: "uint16", - name: "", - type: "uint16", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "INITIAL_LIQUIDITY_FEE_NUMERATOR", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "INITIAL_MAX_ROUTERS", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "MAXIMUM_POOLED_TOKENS", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "MAX_A", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "MAX_ADMIN_FEE", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "MAX_A_CHANGE", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "MAX_LOOP_LIMIT", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "MAX_SWAP_FEE", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "MINIMUM_POOLED_TOKENS", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "MIN_RAMP_DELAY", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "MIN_RAMP_TIME", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "ORACLE_VALID_PERIOD", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "POOL_PRECISION_DECIMALS", - outputs: [ - { - internalType: "uint8", - name: "", - type: "uint8", - }, - ], - stateMutability: "view", - type: "function", - }, -]; - -const _bytecode = - "0x6105a1610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101625760003560e01c806360e26bb4116100cd578063c8d5d89e11610086578063c8d5d89e14610383578063d011f918146103a1578063d73792a9146103bf578063dab597ea146103dd578063f1828d56146103fb578063f3de03621461041957610162565b806360e26bb4146102cf578063834f3b70146102ed578063ab3d85441461030b578063ab5ac06114610329578063b0b5489514610347578063c86a23ee1461036557610162565b8063396984151161011f578063396984151461021b57806343bbce5814610239578063443841ef1461025757806351a7b98f1461027557806359f491c8146102935780636037af42146102b157610162565b80630296ab501461016757806305a363de1461018557806306e9481c146101a357806319b693e9146101c157806328c8d10e146101df57806330d356c4146101fd575b600080fd5b61016f610437565b60405161017c91906104e4565b60405180910390f35b61018d61043c565b60405161019a919061051c565b60405180910390f35b6101ab610441565b6040516101b89190610550565b60405180910390f35b6101c9610448565b6040516101d69190610550565b60405180910390f35b6101e761044f565b6040516101f49190610550565b60405180910390f35b610205610455565b6040516102129190610550565b60405180910390f35b61022361045a565b6040516102309190610550565b60405180910390f35b610241610461565b60405161024e9190610550565b60405180910390f35b61025f610466565b60405161026c9190610550565b60405180910390f35b61027d61046b565b60405161028a9190610550565b60405180910390f35b61029b610470565b6040516102a89190610550565b60405180910390f35b6102b9610476565b6040516102c69190610550565b60405180910390f35b6102d761047b565b6040516102e49190610550565b60405180910390f35b6102f5610481565b6040516103029190610550565b60405180910390f35b610313610487565b6040516103209190610550565b60405180910390f35b61033161048f565b60405161033e9190610550565b60405180910390f35b61034f610494565b60405161035c9190610550565b60405180910390f35b61036d61049b565b60405161037a9190610550565b60405180910390f35b61038b6104a1565b604051610398919061051c565b60405180910390f35b6103a96104a7565b6040516103b69190610550565b60405180910390f35b6103c76104ac565b6040516103d49190610550565b60405180910390f35b6103e56104b5565b6040516103f291906104e4565b60405180910390f35b6104036104ba565b604051610410919061051c565b60405180910390f35b6104216104bf565b60405161042e9190610550565b60405180910390f35b601281565b600081565b6212750081565b6201518081565b61271081565b600281565b620f424081565b600381565b603c81565b600581565b610e1081565b601081565b61271081565b61270b81565b6305f5e10081565b600281565b62093a8081565b61010081565b61010081565b606481565b6402540be40081565b601281565b600081565b6402540be40081565b600060ff82169050919050565b6104de816104c8565b82525050565b60006020820190506104f960008301846104d5565b92915050565b600061ffff82169050919050565b610516816104ff565b82525050565b6000602082019050610531600083018461050d565b92915050565b6000819050919050565b61054a81610537565b82525050565b60006020820190506105656000830184610541565b9291505056fea26469706673582212203efe6256091afb8e2107e33a5eaab449485de06d0808fe754bbef2f651ba32ed64736f6c63430008110033"; - -type ConstantsConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: ConstantsConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class Constants__factory extends ContractFactory { - constructor(...args: ConstantsConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - } - - deploy( - overrides?: Overrides & { from?: string | Promise } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - getDeployTransaction( - overrides?: Overrides & { from?: string | Promise } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - attach(address: string): Constants { - return super.attach(address) as Constants; - } - connect(signer: Signer): Constants__factory { - return super.connect(signer) as Constants__factory; - } - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): ConstantsInterface { - return new utils.Interface(_abi) as ConstantsInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): Constants { - return new Contract(address, _abi, signerOrProvider) as Constants; - } -} diff --git a/typings/factories/ContextUpgradeable__factory.ts b/typings/factories/ContextUpgradeable__factory.ts deleted file mode 100644 index 7ae8a3f0..00000000 --- a/typings/factories/ContextUpgradeable__factory.ts +++ /dev/null @@ -1,39 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { Contract, Signer, utils } from "ethers"; -import { Provider } from "@ethersproject/providers"; -import type { - ContextUpgradeable, - ContextUpgradeableInterface, -} from "../ContextUpgradeable"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint8", - name: "version", - type: "uint8", - }, - ], - name: "Initialized", - type: "event", - }, -]; - -export class ContextUpgradeable__factory { - static readonly abi = _abi; - static createInterface(): ContextUpgradeableInterface { - return new utils.Interface(_abi) as ContextUpgradeableInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): ContextUpgradeable { - return new Contract(address, _abi, signerOrProvider) as ContextUpgradeable; - } -} diff --git a/typings/factories/ECDSAExtendedLib__factory.ts b/typings/factories/ECDSAExtendedLib__factory.ts new file mode 100644 index 00000000..f3ab0358 --- /dev/null +++ b/typings/factories/ECDSAExtendedLib__factory.ts @@ -0,0 +1,112 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { + ECDSAExtendedLib, + ECDSAExtendedLibInterface, +} from "../ECDSAExtendedLib"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes8", + name: "c__9bb8a8e4", + type: "bytes8", + }, + ], + name: "c_9bb8a8e4", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9bb8a8e4", + type: "bytes8", + }, + ], + name: "c_false9bb8a8e4", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9bb8a8e4", + type: "bytes8", + }, + ], + name: "c_true9bb8a8e4", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, +]; + +const _bytecode = + "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80630e7628df14610050578063640701d0146100af5780639acc0e50146100f8575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b60405180821515815260200191505060405180910390f35b6100f6600480360360208110156100c557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061015e565b005b61013f6004803603602081101561010e57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610161565b60405180821515815260200191505060405180910390f35b6000919050565b50565b60006001905091905056fea164736f6c634300060c000a"; + +type ECDSAExtendedLibConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ECDSAExtendedLibConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ECDSAExtendedLib__factory extends ContractFactory { + constructor(...args: ECDSAExtendedLibConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + deploy( + overrides?: Overrides & { from?: string | Promise } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + getDeployTransaction( + overrides?: Overrides & { from?: string | Promise } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + attach(address: string): ECDSAExtendedLib { + return super.attach(address) as ECDSAExtendedLib; + } + connect(signer: Signer): ECDSAExtendedLib__factory { + return super.connect(signer) as ECDSAExtendedLib__factory; + } + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ECDSAExtendedLibInterface { + return new utils.Interface(_abi) as ECDSAExtendedLibInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ECDSAExtendedLib { + return new Contract(address, _abi, signerOrProvider) as ECDSAExtendedLib; + } +} diff --git a/typings/factories/ECDSALib__factory.ts b/typings/factories/ECDSALib__factory.ts new file mode 100644 index 00000000..ce19cd3f --- /dev/null +++ b/typings/factories/ECDSALib__factory.ts @@ -0,0 +1,109 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { ECDSALib, ECDSALibInterface } from "../ECDSALib"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes8", + name: "c__c84856ed", + type: "bytes8", + }, + ], + name: "c_c84856ed", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__c84856ed", + type: "bytes8", + }, + ], + name: "c_falsec84856ed", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__c84856ed", + type: "bytes8", + }, + ], + name: "c_truec84856ed", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, +]; + +const _bytecode = + "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806362d6a4e11461005057806379c6fa5914610099578063c27a7fba146100f8575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b005b6100e0600480360360208110156100af57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061015a565b60405180821515815260200191505060405180910390f35b61013f6004803603602081101561010e57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610161565b60405180821515815260200191505060405180910390f35b50565b6000919050565b60006001905091905056fea164736f6c634300060c000a"; + +type ECDSALibConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ECDSALibConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ECDSALib__factory extends ContractFactory { + constructor(...args: ECDSALibConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + deploy( + overrides?: Overrides & { from?: string | Promise } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + getDeployTransaction( + overrides?: Overrides & { from?: string | Promise } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + attach(address: string): ECDSALib { + return super.attach(address) as ECDSALib; + } + connect(signer: Signer): ECDSALib__factory { + return super.connect(signer) as ECDSALib__factory; + } + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ECDSALibInterface { + return new utils.Interface(_abi) as ECDSALibInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ECDSALib { + return new Contract(address, _abi, signerOrProvider) as ECDSALib; + } +} diff --git a/typings/factories/ENSAbstractResolver__factory.ts b/typings/factories/ENSAbstractResolver__factory.ts new file mode 100644 index 00000000..426bee9b --- /dev/null +++ b/typings/factories/ENSAbstractResolver__factory.ts @@ -0,0 +1,77 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import { Provider } from "@ethersproject/providers"; +import type { + ENSAbstractResolver, + ENSAbstractResolverInterface, +} from "../ENSAbstractResolver"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes8", + name: "c__4aed2fa4", + type: "bytes8", + }, + ], + name: "c_4aed2fa4", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__4aed2fa4", + type: "bytes8", + }, + ], + name: "c_false4aed2fa4", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__4aed2fa4", + type: "bytes8", + }, + ], + name: "c_true4aed2fa4", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, +]; + +export class ENSAbstractResolver__factory { + static readonly abi = _abi; + static createInterface(): ENSAbstractResolverInterface { + return new utils.Interface(_abi) as ENSAbstractResolverInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ENSAbstractResolver { + return new Contract(address, _abi, signerOrProvider) as ENSAbstractResolver; + } +} diff --git a/typings/factories/ERC20BurnableUpgradeable__factory.ts b/typings/factories/ERC20BurnableUpgradeable__factory.ts deleted file mode 100644 index dce0efde..00000000 --- a/typings/factories/ERC20BurnableUpgradeable__factory.ts +++ /dev/null @@ -1,344 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { Contract, Signer, utils } from "ethers"; -import { Provider } from "@ethersproject/providers"; -import type { - ERC20BurnableUpgradeable, - ERC20BurnableUpgradeableInterface, -} from "../ERC20BurnableUpgradeable"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "owner", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "spender", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "value", - type: "uint256", - }, - ], - name: "Approval", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint8", - name: "version", - type: "uint8", - }, - ], - name: "Initialized", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "from", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "to", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "value", - type: "uint256", - }, - ], - name: "Transfer", - type: "event", - }, - { - inputs: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "address", - name: "spender", - type: "address", - }, - ], - name: "allowance", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "spender", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "approve", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "balanceOf", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "burn", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "account", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "burnFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "decimals", - outputs: [ - { - internalType: "uint8", - name: "", - type: "uint8", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "spender", - type: "address", - }, - { - internalType: "uint256", - name: "subtractedValue", - type: "uint256", - }, - ], - name: "decreaseAllowance", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "spender", - type: "address", - }, - { - internalType: "uint256", - name: "addedValue", - type: "uint256", - }, - ], - name: "increaseAllowance", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "name", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "symbol", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "totalSupply", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "transfer", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "from", - type: "address", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "transferFrom", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, -]; - -export class ERC20BurnableUpgradeable__factory { - static readonly abi = _abi; - static createInterface(): ERC20BurnableUpgradeableInterface { - return new utils.Interface(_abi) as ERC20BurnableUpgradeableInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): ERC20BurnableUpgradeable { - return new Contract( - address, - _abi, - signerOrProvider - ) as ERC20BurnableUpgradeable; - } -} diff --git a/typings/factories/ERC20Upgradeable__factory.ts b/typings/factories/ERC20Upgradeable__factory.ts deleted file mode 100644 index aab2e5d1..00000000 --- a/typings/factories/ERC20Upgradeable__factory.ts +++ /dev/null @@ -1,344 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { - ERC20Upgradeable, - ERC20UpgradeableInterface, -} from "../ERC20Upgradeable"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "owner", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "spender", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "value", - type: "uint256", - }, - ], - name: "Approval", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint8", - name: "version", - type: "uint8", - }, - ], - name: "Initialized", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "from", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "to", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "value", - type: "uint256", - }, - ], - name: "Transfer", - type: "event", - }, - { - inputs: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "address", - name: "spender", - type: "address", - }, - ], - name: "allowance", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "spender", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "approve", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "balanceOf", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "decimals", - outputs: [ - { - internalType: "uint8", - name: "", - type: "uint8", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "spender", - type: "address", - }, - { - internalType: "uint256", - name: "subtractedValue", - type: "uint256", - }, - ], - name: "decreaseAllowance", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "spender", - type: "address", - }, - { - internalType: "uint256", - name: "addedValue", - type: "uint256", - }, - ], - name: "increaseAllowance", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "name", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "symbol", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "totalSupply", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "transfer", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "from", - type: "address", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "transferFrom", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, -]; - -const _bytecode = - "0x608060405234801561001057600080fd5b5061123c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610b19565b60405180910390f35b6100e660048036038101906100e19190610bd4565b610308565b6040516100f39190610c2f565b60405180910390f35b61010461032b565b6040516101119190610c59565b60405180910390f35b610134600480360381019061012f9190610c74565b610335565b6040516101419190610c2f565b60405180910390f35b610152610364565b60405161015f9190610ce3565b60405180910390f35b610182600480360381019061017d9190610bd4565b61036d565b60405161018f9190610c2f565b60405180910390f35b6101b260048036038101906101ad9190610cfe565b6103a4565b6040516101bf9190610c59565b60405180910390f35b6101d06103ed565b6040516101dd9190610b19565b60405180910390f35b61020060048036038101906101fb9190610bd4565b61047f565b60405161020d9190610c2f565b60405180910390f35b610230600480360381019061022b9190610bd4565b6104f6565b60405161023d9190610c2f565b60405180910390f35b610260600480360381019061025b9190610d2b565b610519565b60405161026d9190610c59565b60405180910390f35b60606036805461028590610d9a565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610d9a565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b6000806103136105a0565b90506103208185856105a8565b600191505092915050565b6000603554905090565b6000806103406105a0565b905061034d858285610771565b6103588585856107fd565b60019150509392505050565b60006012905090565b6000806103786105a0565b905061039981858561038a8589610519565b6103949190610dfa565b6105a8565b600191505092915050565b6000603360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060603780546103fc90610d9a565b80601f016020809104026020016040519081016040528092919081815260200182805461042890610d9a565b80156104755780601f1061044a57610100808354040283529160200191610475565b820191906000526020600020905b81548152906001019060200180831161045857829003601f168201915b5050505050905090565b60008061048a6105a0565b905060006104988286610519565b9050838110156104dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d490610ea0565b60405180910390fd5b6104ea82868684036105a8565b60019250505092915050565b6000806105016105a0565b905061050e8185856107fd565b600191505092915050565b6000603460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060e90610f32565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067d90610fc4565b60405180910390fd5b80603460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107649190610c59565b60405180910390a3505050565b600061077d8484610519565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107f757818110156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e090611030565b60405180910390fd5b6107f684848484036105a8565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361086c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610863906110c2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d290611154565b60405180910390fd5b6108e6838383610a7f565b6000603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561096d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610964906111e6565b60405180910390fd5b818103603360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a029190610dfa565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a669190610c59565b60405180910390a3610a79848484610a84565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ac3578082015181840152602081019050610aa8565b60008484015250505050565b6000601f19601f8301169050919050565b6000610aeb82610a89565b610af58185610a94565b9350610b05818560208601610aa5565b610b0e81610acf565b840191505092915050565b60006020820190508181036000830152610b338184610ae0565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b6b82610b40565b9050919050565b610b7b81610b60565b8114610b8657600080fd5b50565b600081359050610b9881610b72565b92915050565b6000819050919050565b610bb181610b9e565b8114610bbc57600080fd5b50565b600081359050610bce81610ba8565b92915050565b60008060408385031215610beb57610bea610b3b565b5b6000610bf985828601610b89565b9250506020610c0a85828601610bbf565b9150509250929050565b60008115159050919050565b610c2981610c14565b82525050565b6000602082019050610c446000830184610c20565b92915050565b610c5381610b9e565b82525050565b6000602082019050610c6e6000830184610c4a565b92915050565b600080600060608486031215610c8d57610c8c610b3b565b5b6000610c9b86828701610b89565b9350506020610cac86828701610b89565b9250506040610cbd86828701610bbf565b9150509250925092565b600060ff82169050919050565b610cdd81610cc7565b82525050565b6000602082019050610cf86000830184610cd4565b92915050565b600060208284031215610d1457610d13610b3b565b5b6000610d2284828501610b89565b91505092915050565b60008060408385031215610d4257610d41610b3b565b5b6000610d5085828601610b89565b9250506020610d6185828601610b89565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610db257607f821691505b602082108103610dc557610dc4610d6b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e0582610b9e565b9150610e1083610b9e565b9250828201905080821115610e2857610e27610dcb565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000610e8a602583610a94565b9150610e9582610e2e565b604082019050919050565b60006020820190508181036000830152610eb981610e7d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000610f1c602483610a94565b9150610f2782610ec0565b604082019050919050565b60006020820190508181036000830152610f4b81610f0f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000610fae602283610a94565b9150610fb982610f52565b604082019050919050565b60006020820190508181036000830152610fdd81610fa1565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061101a601d83610a94565b915061102582610fe4565b602082019050919050565b600060208201905081810360008301526110498161100d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006110ac602583610a94565b91506110b782611050565b604082019050919050565b600060208201905081810360008301526110db8161109f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061113e602383610a94565b9150611149826110e2565b604082019050919050565b6000602082019050818103600083015261116d81611131565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006111d0602683610a94565b91506111db82611174565b604082019050919050565b600060208201905081810360008301526111ff816111c3565b905091905056fea2646970667358221220570c0e0d06a73dfa709fe533b769121e01b78900fa0907c7b1e500184231f38464736f6c63430008110033"; - -type ERC20UpgradeableConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: ERC20UpgradeableConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class ERC20Upgradeable__factory extends ContractFactory { - constructor(...args: ERC20UpgradeableConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - } - - deploy( - overrides?: Overrides & { from?: string | Promise } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - getDeployTransaction( - overrides?: Overrides & { from?: string | Promise } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - attach(address: string): ERC20Upgradeable { - return super.attach(address) as ERC20Upgradeable; - } - connect(signer: Signer): ERC20Upgradeable__factory { - return super.connect(signer) as ERC20Upgradeable__factory; - } - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): ERC20UpgradeableInterface { - return new utils.Interface(_abi) as ERC20UpgradeableInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): ERC20Upgradeable { - return new Contract(address, _abi, signerOrProvider) as ERC20Upgradeable; - } -} diff --git a/typings/factories/IConnectorManager__factory.ts b/typings/factories/IConnectorManager__factory.ts deleted file mode 100644 index 5d77ccf5..00000000 --- a/typings/factories/IConnectorManager__factory.ts +++ /dev/null @@ -1,71 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { Contract, Signer, utils } from "ethers"; -import { Provider } from "@ethersproject/providers"; -import type { - IConnectorManager, - IConnectorManagerInterface, -} from "../IConnectorManager"; - -const _abi = [ - { - inputs: [], - name: "home", - outputs: [ - { - internalType: "contract IOutbox", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_potentialReplica", - type: "address", - }, - ], - name: "isReplica", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "localDomain", - outputs: [ - { - internalType: "uint32", - name: "", - type: "uint32", - }, - ], - stateMutability: "view", - type: "function", - }, -]; - -export class IConnectorManager__factory { - static readonly abi = _abi; - static createInterface(): IConnectorManagerInterface { - return new utils.Interface(_abi) as IConnectorManagerInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): IConnectorManager { - return new Contract(address, _abi, signerOrProvider) as IConnectorManager; - } -} diff --git a/typings/factories/IConnext__factory.ts b/typings/factories/IConnext__factory.ts index 91e7bbb4..2cc3b252 100644 --- a/typings/factories/IConnext__factory.ts +++ b/typings/factories/IConnext__factory.ts @@ -7,3223 +7,6 @@ import { Provider } from "@ethersproject/providers"; import type { IConnext, IConnextInterface } from "../IConnext"; const _abi = [ - { - anonymous: false, - inputs: [ - { - components: [ - { - internalType: "address", - name: "facetAddress", - type: "address", - }, - { - internalType: "enum IDiamondCut.FacetCutAction", - name: "action", - type: "uint8", - }, - { - internalType: "bytes4[]", - name: "functionSelectors", - type: "bytes4[]", - }, - ], - indexed: false, - internalType: "struct IDiamondCut.FacetCut[]", - name: "_diamondCut", - type: "tuple[]", - }, - { - indexed: false, - internalType: "address", - name: "_init", - type: "address", - }, - { - indexed: false, - internalType: "bytes", - name: "_calldata", - type: "bytes", - }, - ], - name: "DiamondCut", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - components: [ - { - internalType: "address", - name: "facetAddress", - type: "address", - }, - { - internalType: "enum IDiamondCut.FacetCutAction", - name: "action", - type: "uint8", - }, - { - internalType: "bytes4[]", - name: "functionSelectors", - type: "bytes4[]", - }, - ], - indexed: false, - internalType: "struct IDiamondCut.FacetCut[]", - name: "_diamondCut", - type: "tuple[]", - }, - { - indexed: false, - internalType: "address", - name: "_init", - type: "address", - }, - { - indexed: false, - internalType: "bytes", - name: "_calldata", - type: "bytes", - }, - { - indexed: false, - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - name: "DiamondCutProposed", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - components: [ - { - internalType: "address", - name: "facetAddress", - type: "address", - }, - { - internalType: "enum IDiamondCut.FacetCutAction", - name: "action", - type: "uint8", - }, - { - internalType: "bytes4[]", - name: "functionSelectors", - type: "bytes4[]", - }, - ], - indexed: false, - internalType: "struct IDiamondCut.FacetCut[]", - name: "_diamondCut", - type: "tuple[]", - }, - { - indexed: false, - internalType: "address", - name: "_init", - type: "address", - }, - { - indexed: false, - internalType: "bytes", - name: "_calldata", - type: "bytes", - }, - ], - name: "DiamondCutRescinded", - type: "event", - }, - { - inputs: [], - name: "LIQUIDITY_FEE_DENOMINATOR", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "LIQUIDITY_FEE_NUMERATOR", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "aavePool", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "aavePortalFee", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "acceptProposedOwner", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "router", - type: "address", - }, - ], - name: "acceptProposedRouterOwner", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint32", - name: "_domain", - type: "uint32", - }, - { - internalType: "address", - name: "_connext", - type: "address", - }, - ], - name: "addConnextion", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_relayer", - type: "address", - }, - ], - name: "addRelayer", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "_amount", - type: "uint256", - }, - { - internalType: "address", - name: "_local", - type: "address", - }, - ], - name: "addRouterLiquidity", - outputs: [], - stateMutability: "payable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "_amount", - type: "uint256", - }, - { - internalType: "address", - name: "_local", - type: "address", - }, - { - internalType: "address", - name: "_router", - type: "address", - }, - ], - name: "addRouterLiquidityFor", - outputs: [], - stateMutability: "payable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_sequencer", - type: "address", - }, - ], - name: "addSequencer", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint32", - name: "domain", - type: "uint32", - }, - { - internalType: "bytes32", - name: "id", - type: "bytes32", - }, - ], - internalType: "struct TokenId", - name: "_canonical", - type: "tuple", - }, - { - internalType: "address", - name: "_stableSwapPool", - type: "address", - }, - ], - name: "addStableSwapPool", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - { - internalType: "uint256[]", - name: "amounts", - type: "uint256[]", - }, - { - internalType: "uint256", - name: "minToMint", - type: "uint256", - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - name: "addSwapLiquidity", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_adopted", - type: "address", - }, - ], - name: "adoptedToCanonical", - outputs: [ - { - components: [ - { - internalType: "uint32", - name: "domain", - type: "uint32", - }, - { - internalType: "bytes32", - name: "id", - type: "bytes32", - }, - ], - internalType: "struct TokenId", - name: "", - type: "tuple", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint32", - name: "domain", - type: "uint32", - }, - { - internalType: "bytes32", - name: "id", - type: "bytes32", - }, - ], - internalType: "struct TokenId", - name: "_canonical", - type: "tuple", - }, - ], - name: "adoptedToLocalExternalPools", - outputs: [ - { - internalType: "contract IStableSwap", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "_key", - type: "bytes32", - }, - ], - name: "adoptedToLocalExternalPools", - outputs: [ - { - internalType: "contract IStableSwap", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "router", - type: "address", - }, - ], - name: "approveRouter", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_router", - type: "address", - }, - ], - name: "approveRouterForPortal", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "_key", - type: "bytes32", - }, - ], - name: "approvedAssets", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint32", - name: "domain", - type: "uint32", - }, - { - internalType: "bytes32", - name: "id", - type: "bytes32", - }, - ], - internalType: "struct TokenId", - name: "_canonical", - type: "tuple", - }, - ], - name: "approvedAssets", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_relayer", - type: "address", - }, - ], - name: "approvedRelayers", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_sequencer", - type: "address", - }, - ], - name: "approvedSequencers", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "_transferId", - type: "bytes32", - }, - ], - name: "bumpTransfer", - outputs: [], - stateMutability: "payable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "calculateRemoveSwapLiquidity", - outputs: [ - { - internalType: "uint256[]", - name: "", - type: "uint256[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - { - internalType: "uint256", - name: "tokenAmount", - type: "uint256", - }, - { - internalType: "uint8", - name: "tokenIndex", - type: "uint8", - }, - ], - name: "calculateRemoveSwapLiquidityOneToken", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - { - internalType: "uint8", - name: "tokenIndexFrom", - type: "uint8", - }, - { - internalType: "uint8", - name: "tokenIndexTo", - type: "uint8", - }, - { - internalType: "uint256", - name: "dx", - type: "uint256", - }, - ], - name: "calculateSwap", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - { - internalType: "uint256[]", - name: "amounts", - type: "uint256[]", - }, - { - internalType: "bool", - name: "deposit", - type: "bool", - }, - ], - name: "calculateSwapTokenAmount", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "_key", - type: "bytes32", - }, - ], - name: "canonicalToAdopted", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint32", - name: "domain", - type: "uint32", - }, - { - internalType: "bytes32", - name: "id", - type: "bytes32", - }, - ], - internalType: "struct TokenId", - name: "_canonical", - type: "tuple", - }, - ], - name: "canonicalToAdopted", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "_key", - type: "bytes32", - }, - ], - name: "canonicalToRepresentation", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint32", - name: "domain", - type: "uint32", - }, - { - internalType: "bytes32", - name: "id", - type: "bytes32", - }, - ], - internalType: "struct TokenId", - name: "_canonical", - type: "tuple", - }, - ], - name: "canonicalToRepresentation", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "delay", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "address", - name: "facetAddress", - type: "address", - }, - { - internalType: "enum IDiamondCut.FacetCutAction", - name: "action", - type: "uint8", - }, - { - internalType: "bytes4[]", - name: "functionSelectors", - type: "bytes4[]", - }, - ], - internalType: "struct IDiamondCut.FacetCut[]", - name: "_diamondCut", - type: "tuple[]", - }, - { - internalType: "address", - name: "_init", - type: "address", - }, - { - internalType: "bytes", - name: "_calldata", - type: "bytes", - }, - ], - name: "diamondCut", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "domain", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint32", - name: "_domain", - type: "uint32", - }, - { - internalType: "bytes32", - name: "_id", - type: "bytes32", - }, - { - internalType: "address", - name: "_custom", - type: "address", - }, - ], - name: "enrollCustom", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint32", - name: "_domain", - type: "uint32", - }, - { - internalType: "bytes32", - name: "_router", - type: "bytes32", - }, - ], - name: "enrollRemoteRouter", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - components: [ - { - components: [ - { - internalType: "uint32", - name: "originDomain", - type: "uint32", - }, - { - internalType: "uint32", - name: "destinationDomain", - type: "uint32", - }, - { - internalType: "uint32", - name: "canonicalDomain", - type: "uint32", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "address", - name: "delegate", - type: "address", - }, - { - internalType: "bool", - name: "receiveLocal", - type: "bool", - }, - { - internalType: "bytes", - name: "callData", - type: "bytes", - }, - { - internalType: "uint256", - name: "slippage", - type: "uint256", - }, - { - internalType: "address", - name: "originSender", - type: "address", - }, - { - internalType: "uint256", - name: "bridgedAmt", - type: "uint256", - }, - { - internalType: "uint256", - name: "normalizedIn", - type: "uint256", - }, - { - internalType: "uint256", - name: "nonce", - type: "uint256", - }, - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - ], - internalType: "struct TransferInfo", - name: "params", - type: "tuple", - }, - { - internalType: "address[]", - name: "routers", - type: "address[]", - }, - { - internalType: "bytes[]", - name: "routerSignatures", - type: "bytes[]", - }, - { - internalType: "address", - name: "sequencer", - type: "address", - }, - { - internalType: "bytes", - name: "sequencerSignature", - type: "bytes", - }, - ], - internalType: "struct ExecuteArgs", - name: "_args", - type: "tuple", - }, - ], - name: "execute", - outputs: [ - { - internalType: "bytes32", - name: "transferId", - type: "bytes32", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes4", - name: "_functionSelector", - type: "bytes4", - }, - ], - name: "facetAddress", - outputs: [ - { - internalType: "address", - name: "facetAddress_", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "facetAddresses", - outputs: [ - { - internalType: "address[]", - name: "facetAddresses_", - type: "address[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_facet", - type: "address", - }, - ], - name: "facetFunctionSelectors", - outputs: [ - { - internalType: "bytes4[]", - name: "facetFunctionSelectors_", - type: "bytes4[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "facets", - outputs: [ - { - components: [ - { - internalType: "address", - name: "facetAddress", - type: "address", - }, - { - internalType: "bytes4[]", - name: "functionSelectors", - type: "bytes4[]", - }, - ], - internalType: "struct IDiamondLoupe.Facet[]", - name: "facets_", - type: "tuple[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint32", - name: "originDomain", - type: "uint32", - }, - { - internalType: "uint32", - name: "destinationDomain", - type: "uint32", - }, - { - internalType: "uint32", - name: "canonicalDomain", - type: "uint32", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "address", - name: "delegate", - type: "address", - }, - { - internalType: "bool", - name: "receiveLocal", - type: "bool", - }, - { - internalType: "bytes", - name: "callData", - type: "bytes", - }, - { - internalType: "uint256", - name: "slippage", - type: "uint256", - }, - { - internalType: "address", - name: "originSender", - type: "address", - }, - { - internalType: "uint256", - name: "bridgedAmt", - type: "uint256", - }, - { - internalType: "uint256", - name: "normalizedIn", - type: "uint256", - }, - { - internalType: "uint256", - name: "nonce", - type: "uint256", - }, - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - ], - internalType: "struct TransferInfo", - name: "_params", - type: "tuple", - }, - ], - name: "forceReceiveLocal", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint32", - name: "originDomain", - type: "uint32", - }, - { - internalType: "uint32", - name: "destinationDomain", - type: "uint32", - }, - { - internalType: "uint32", - name: "canonicalDomain", - type: "uint32", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "address", - name: "delegate", - type: "address", - }, - { - internalType: "bool", - name: "receiveLocal", - type: "bool", - }, - { - internalType: "bytes", - name: "callData", - type: "bytes", - }, - { - internalType: "uint256", - name: "slippage", - type: "uint256", - }, - { - internalType: "address", - name: "originSender", - type: "address", - }, - { - internalType: "uint256", - name: "bridgedAmt", - type: "uint256", - }, - { - internalType: "uint256", - name: "normalizedIn", - type: "uint256", - }, - { - internalType: "uint256", - name: "nonce", - type: "uint256", - }, - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - ], - internalType: "struct TransferInfo", - name: "_params", - type: "tuple", - }, - { - internalType: "uint256", - name: "_slippage", - type: "uint256", - }, - ], - name: "forceUpdateSlippage", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "_transferId", - type: "bytes32", - }, - ], - name: "getAavePortalDebt", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "_transferId", - type: "bytes32", - }, - ], - name: "getAavePortalFeeDebt", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "address", - name: "facetAddress", - type: "address", - }, - { - internalType: "enum IDiamondCut.FacetCutAction", - name: "action", - type: "uint8", - }, - { - internalType: "bytes4[]", - name: "functionSelectors", - type: "bytes4[]", - }, - ], - internalType: "struct IDiamondCut.FacetCut[]", - name: "_diamondCut", - type: "tuple[]", - }, - { - internalType: "address", - name: "_init", - type: "address", - }, - { - internalType: "bytes", - name: "_calldata", - type: "bytes", - }, - ], - name: "getAcceptanceTime", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "_key", - type: "bytes32", - }, - ], - name: "getCustodiedAmount", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "_id", - type: "bytes32", - }, - { - internalType: "uint32", - name: "_domain", - type: "uint32", - }, - ], - name: "getLocalAndAdoptedToken", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_router", - type: "address", - }, - ], - name: "getProposedRouterOwner", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_router", - type: "address", - }, - ], - name: "getProposedRouterOwnerTimestamp", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_router", - type: "address", - }, - ], - name: "getRouterApproval", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_router", - type: "address", - }, - ], - name: "getRouterApprovalForPortal", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_router", - type: "address", - }, - ], - name: "getRouterOwner", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_router", - type: "address", - }, - ], - name: "getRouterRecipient", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - ], - name: "getSwapA", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - ], - name: "getSwapAPrecise", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - { - internalType: "uint256", - name: "index", - type: "uint256", - }, - ], - name: "getSwapAdminBalance", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - ], - name: "getSwapLPToken", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - ], - name: "getSwapStorage", - outputs: [ - { - components: [ - { - internalType: "bytes32", - name: "key", - type: "bytes32", - }, - { - internalType: "uint256", - name: "initialA", - type: "uint256", - }, - { - internalType: "uint256", - name: "futureA", - type: "uint256", - }, - { - internalType: "uint256", - name: "initialATime", - type: "uint256", - }, - { - internalType: "uint256", - name: "futureATime", - type: "uint256", - }, - { - internalType: "uint256", - name: "swapFee", - type: "uint256", - }, - { - internalType: "uint256", - name: "adminFee", - type: "uint256", - }, - { - internalType: "contract LPToken", - name: "lpToken", - type: "address", - }, - { - internalType: "contract IERC20[]", - name: "pooledTokens", - type: "address[]", - }, - { - internalType: "uint256[]", - name: "tokenPrecisionMultipliers", - type: "uint256[]", - }, - { - internalType: "uint256[]", - name: "balances", - type: "uint256[]", - }, - { - internalType: "uint256[]", - name: "adminFees", - type: "uint256[]", - }, - { - internalType: "bool", - name: "disabled", - type: "bool", - }, - { - internalType: "uint256", - name: "removeTime", - type: "uint256", - }, - ], - internalType: "struct SwapUtils.Swap", - name: "", - type: "tuple", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - { - internalType: "uint8", - name: "index", - type: "uint8", - }, - ], - name: "getSwapToken", - outputs: [ - { - internalType: "contract IERC20", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - { - internalType: "uint8", - name: "index", - type: "uint8", - }, - ], - name: "getSwapTokenBalance", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - { - internalType: "address", - name: "tokenAddress", - type: "address", - }, - ], - name: "getSwapTokenIndex", - outputs: [ - { - internalType: "uint8", - name: "", - type: "uint8", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - ], - name: "getSwapVirtualPrice", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_candidate", - type: "address", - }, - ], - name: "getTokenId", - outputs: [ - { - components: [ - { - internalType: "uint32", - name: "domain", - type: "uint32", - }, - { - internalType: "bytes32", - name: "id", - type: "bytes32", - }, - ], - internalType: "struct TokenId", - name: "", - type: "tuple", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint32", - name: "_origin", - type: "uint32", - }, - { - internalType: "uint32", - name: "_nonce", - type: "uint32", - }, - { - internalType: "bytes32", - name: "_sender", - type: "bytes32", - }, - { - internalType: "bytes", - name: "_message", - type: "bytes", - }, - ], - name: "handle", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "address", - name: "recipient", - type: "address", - }, - ], - name: "initializeRouter", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "_canonicalId", - type: "bytes32", - }, - { - internalType: "contract IERC20[]", - name: "_pooledTokens", - type: "address[]", - }, - { - internalType: "uint8[]", - name: "decimals", - type: "uint8[]", - }, - { - internalType: "string", - name: "lpTokenName", - type: "string", - }, - { - internalType: "string", - name: "lpTokenSymbol", - type: "string", - }, - { - internalType: "uint256", - name: "_a", - type: "uint256", - }, - { - internalType: "uint256", - name: "_fee", - type: "uint256", - }, - { - internalType: "uint256", - name: "_adminFee", - type: "uint256", - }, - ], - name: "initializeSwap", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "lpTokenTargetAddress", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "maxRoutersPerTransfer", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "nonce", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "owner", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "pause", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "paused", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "address", - name: "facetAddress", - type: "address", - }, - { - internalType: "enum IDiamondCut.FacetCutAction", - name: "action", - type: "uint8", - }, - { - internalType: "bytes4[]", - name: "functionSelectors", - type: "bytes4[]", - }, - ], - internalType: "struct IDiamondCut.FacetCut[]", - name: "_diamondCut", - type: "tuple[]", - }, - { - internalType: "address", - name: "_init", - type: "address", - }, - { - internalType: "bytes", - name: "_calldata", - type: "bytes", - }, - ], - name: "proposeDiamondCut", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "newlyProposed", - type: "address", - }, - ], - name: "proposeNewOwner", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "proposeRouterAllowlistRemoval", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "router", - type: "address", - }, - { - internalType: "address", - name: "proposed", - type: "address", - }, - ], - name: "proposeRouterOwner", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "proposed", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "proposedTimestamp", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - { - internalType: "uint256", - name: "futureA", - type: "uint256", - }, - { - internalType: "uint256", - name: "futureTime", - type: "uint256", - }, - ], - name: "rampA", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "relayerFeeVault", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint32", - name: "_domain", - type: "uint32", - }, - ], - name: "remote", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint32", - name: "domain", - type: "uint32", - }, - { - internalType: "bytes32", - name: "id", - type: "bytes32", - }, - ], - internalType: "struct TokenId", - name: "_canonical", - type: "tuple", - }, - { - internalType: "address", - name: "_adoptedAssetId", - type: "address", - }, - { - internalType: "address", - name: "_representation", - type: "address", - }, - ], - name: "removeAssetId", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "_key", - type: "bytes32", - }, - { - internalType: "address", - name: "_adoptedAssetId", - type: "address", - }, - { - internalType: "address", - name: "_representation", - type: "address", - }, - ], - name: "removeAssetId", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_relayer", - type: "address", - }, - ], - name: "removeRelayer", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "removeRouterAllowlist", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "_amount", - type: "uint256", - }, - { - internalType: "address", - name: "_local", - type: "address", - }, - { - internalType: "address payable", - name: "_to", - type: "address", - }, - ], - name: "removeRouterLiquidity", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "_amount", - type: "uint256", - }, - { - internalType: "address", - name: "_local", - type: "address", - }, - { - internalType: "address payable", - name: "_to", - type: "address", - }, - { - internalType: "address", - name: "_router", - type: "address", - }, - ], - name: "removeRouterLiquidityFor", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_sequencer", - type: "address", - }, - ], - name: "removeSequencer", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "minAmounts", - type: "uint256[]", - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - name: "removeSwapLiquidity", - outputs: [ - { - internalType: "uint256[]", - name: "", - type: "uint256[]", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - { - internalType: "uint256[]", - name: "amounts", - type: "uint256[]", - }, - { - internalType: "uint256", - name: "maxBurnAmount", - type: "uint256", - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - name: "removeSwapLiquidityImbalance", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - { - internalType: "uint256", - name: "tokenAmount", - type: "uint256", - }, - { - internalType: "uint8", - name: "tokenIndex", - type: "uint8", - }, - { - internalType: "uint256", - name: "minAmount", - type: "uint256", - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - name: "removeSwapLiquidityOneToken", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint32", - name: "originDomain", - type: "uint32", - }, - { - internalType: "uint32", - name: "destinationDomain", - type: "uint32", - }, - { - internalType: "uint32", - name: "canonicalDomain", - type: "uint32", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "address", - name: "delegate", - type: "address", - }, - { - internalType: "bool", - name: "receiveLocal", - type: "bool", - }, - { - internalType: "bytes", - name: "callData", - type: "bytes", - }, - { - internalType: "uint256", - name: "slippage", - type: "uint256", - }, - { - internalType: "address", - name: "originSender", - type: "address", - }, - { - internalType: "uint256", - name: "bridgedAmt", - type: "uint256", - }, - { - internalType: "uint256", - name: "normalizedIn", - type: "uint256", - }, - { - internalType: "uint256", - name: "nonce", - type: "uint256", - }, - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - ], - internalType: "struct TransferInfo", - name: "_params", - type: "tuple", - }, - { - internalType: "uint256", - name: "_backingAmount", - type: "uint256", - }, - { - internalType: "uint256", - name: "_feeAmount", - type: "uint256", - }, - { - internalType: "uint256", - name: "_maxIn", - type: "uint256", - }, - ], - name: "repayAavePortal", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint32", - name: "originDomain", - type: "uint32", - }, - { - internalType: "uint32", - name: "destinationDomain", - type: "uint32", - }, - { - internalType: "uint32", - name: "canonicalDomain", - type: "uint32", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "address", - name: "delegate", - type: "address", - }, - { - internalType: "bool", - name: "receiveLocal", - type: "bool", - }, - { - internalType: "bytes", - name: "callData", - type: "bytes", - }, - { - internalType: "uint256", - name: "slippage", - type: "uint256", - }, - { - internalType: "address", - name: "originSender", - type: "address", - }, - { - internalType: "uint256", - name: "bridgedAmt", - type: "uint256", - }, - { - internalType: "uint256", - name: "normalizedIn", - type: "uint256", - }, - { - internalType: "uint256", - name: "nonce", - type: "uint256", - }, - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - ], - internalType: "struct TransferInfo", - name: "_params", - type: "tuple", - }, - { - internalType: "uint256", - name: "_backingAmount", - type: "uint256", - }, - { - internalType: "uint256", - name: "_feeAmount", - type: "uint256", - }, - ], - name: "repayAavePortalFor", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_adopted", - type: "address", - }, - ], - name: "representationToCanonical", - outputs: [ - { - components: [ - { - internalType: "uint32", - name: "domain", - type: "uint32", - }, - { - internalType: "bytes32", - name: "id", - type: "bytes32", - }, - ], - internalType: "struct TokenId", - name: "", - type: "tuple", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "address", - name: "facetAddress", - type: "address", - }, - { - internalType: "enum IDiamondCut.FacetCutAction", - name: "action", - type: "uint8", - }, - { - internalType: "bytes4[]", - name: "functionSelectors", - type: "bytes4[]", - }, - ], - internalType: "struct IDiamondCut.FacetCut[]", - name: "_diamondCut", - type: "tuple[]", - }, - { - internalType: "address", - name: "_init", - type: "address", - }, - { - internalType: "bytes", - name: "_calldata", - type: "bytes", - }, - ], - name: "rescindDiamondCut", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "_transferId", - type: "bytes32", - }, - ], - name: "routedTransfers", - outputs: [ - { - internalType: "address[]", - name: "", - type: "address[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "routerAllowlistRemoved", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "routerAllowlistTimestamp", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_router", - type: "address", - }, - { - internalType: "address", - name: "_asset", - type: "address", - }, - ], - name: "routerBalances", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_aavePool", - type: "address", - }, - ], - name: "setAavePool", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "_aavePortalFeeNumerator", - type: "uint256", - }, - ], - name: "setAavePortalFee", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "_numerator", - type: "uint256", - }, - ], - name: "setLiquidityFeeNumerator", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "_newMaxRouters", - type: "uint256", - }, - ], - name: "setMaxRoutersPerTransfer", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_relayerFeeVault", - type: "address", - }, - ], - name: "setRelayerFeeVault", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "router", - type: "address", - }, - { - internalType: "address", - name: "recipient", - type: "address", - }, - ], - name: "setRouterRecipient", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - { - internalType: "uint256", - name: "newAdminFee", - type: "uint256", - }, - ], - name: "setSwapAdminFee", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - { - internalType: "uint256", - name: "newSwapFee", - type: "uint256", - }, - ], - name: "setSwapFee", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_xAppConnectionManager", - type: "address", - }, - ], - name: "setXAppConnectionManager", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint32", - name: "domain", - type: "uint32", - }, - { - internalType: "bytes32", - name: "id", - type: "bytes32", - }, - ], - internalType: "struct TokenId", - name: "_canonical", - type: "tuple", - }, - { - internalType: "uint8", - name: "_canonicalDecimals", - type: "uint8", - }, - { - internalType: "string", - name: "_representationName", - type: "string", - }, - { - internalType: "string", - name: "_representationSymbol", - type: "string", - }, - { - internalType: "address", - name: "_adoptedAssetId", - type: "address", - }, - { - internalType: "address", - name: "_stableSwapPool", - type: "address", - }, - { - internalType: "uint256", - name: "_cap", - type: "uint256", - }, - ], - name: "setupAsset", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint32", - name: "domain", - type: "uint32", - }, - { - internalType: "bytes32", - name: "id", - type: "bytes32", - }, - ], - internalType: "struct TokenId", - name: "_canonical", - type: "tuple", - }, - { - internalType: "address", - name: "_representation", - type: "address", - }, - { - internalType: "address", - name: "_adoptedAssetId", - type: "address", - }, - { - internalType: "address", - name: "_stableSwapPool", - type: "address", - }, - ], - name: "setupAssetWithDeployedRepresentation", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - ], - name: "stopRampA", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - { - internalType: "uint8", - name: "tokenIndexFrom", - type: "uint8", - }, - { - internalType: "uint8", - name: "tokenIndexTo", - type: "uint8", - }, - { - internalType: "uint256", - name: "dx", - type: "uint256", - }, - { - internalType: "uint256", - name: "minDy", - type: "uint256", - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - name: "swap", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - { - internalType: "uint256", - name: "amountIn", - type: "uint256", - }, - { - internalType: "address", - name: "assetIn", - type: "address", - }, - { - internalType: "address", - name: "assetOut", - type: "address", - }, - { - internalType: "uint256", - name: "minAmountOut", - type: "uint256", - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - name: "swapExact", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "payable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - { - internalType: "uint256", - name: "amountOut", - type: "uint256", - }, - { - internalType: "address", - name: "assetIn", - type: "address", - }, - { - internalType: "address", - name: "assetOut", - type: "address", - }, - { - internalType: "uint256", - name: "maxAmountIn", - type: "uint256", - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - name: "swapExactOut", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "payable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "_transferId", - type: "bytes32", - }, - ], - name: "transferStatus", - outputs: [ - { - internalType: "enum DestinationTransferStatus", - name: "", - type: "uint8", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "router", - type: "address", - }, - ], - name: "unapproveRouter", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_router", - type: "address", - }, - ], - name: "unapproveRouterForPortal", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "unpause", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint32", - name: "domain", - type: "uint32", - }, - { - internalType: "bytes32", - name: "id", - type: "bytes32", - }, - ], - internalType: "struct TokenId", - name: "_canonical", - type: "tuple", - }, - { - internalType: "string", - name: "_name", - type: "string", - }, - { - internalType: "string", - name: "_symbol", - type: "string", - }, - ], - name: "updateDetails", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint32", - name: "domain", - type: "uint32", - }, - { - internalType: "bytes32", - name: "id", - type: "bytes32", - }, - ], - internalType: "struct TokenId", - name: "_canonical", - type: "tuple", - }, - { - internalType: "uint256", - name: "_updated", - type: "uint256", - }, - ], - name: "updateLiquidityCap", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "newAddress", - type: "address", - }, - ], - name: "updateLpTokenTarget", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "canonicalId", - type: "bytes32", - }, - ], - name: "withdrawSwapAdminFees", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "xAppConnectionManager", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, { inputs: [ { @@ -3273,55 +56,6 @@ const _abi = [ stateMutability: "payable", type: "function", }, - { - inputs: [ - { - internalType: "uint32", - name: "_destination", - type: "uint32", - }, - { - internalType: "address", - name: "_to", - type: "address", - }, - { - internalType: "address", - name: "_asset", - type: "address", - }, - { - internalType: "address", - name: "_delegate", - type: "address", - }, - { - internalType: "uint256", - name: "_amount", - type: "uint256", - }, - { - internalType: "uint256", - name: "_slippage", - type: "uint256", - }, - { - internalType: "bytes", - name: "_callData", - type: "bytes", - }, - ], - name: "xcallIntoLocal", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - ], - stateMutability: "payable", - type: "function", - }, ]; export class IConnext__factory { diff --git a/typings/factories/IDiamondCut__factory.ts b/typings/factories/IDiamondCut__factory.ts index 7db1df32..03343356 100644 --- a/typings/factories/IDiamondCut__factory.ts +++ b/typings/factories/IDiamondCut__factory.ts @@ -49,96 +49,6 @@ const _abi = [ name: "DiamondCut", type: "event", }, - { - anonymous: false, - inputs: [ - { - components: [ - { - internalType: "address", - name: "facetAddress", - type: "address", - }, - { - internalType: "enum IDiamondCut.FacetCutAction", - name: "action", - type: "uint8", - }, - { - internalType: "bytes4[]", - name: "functionSelectors", - type: "bytes4[]", - }, - ], - indexed: false, - internalType: "struct IDiamondCut.FacetCut[]", - name: "_diamondCut", - type: "tuple[]", - }, - { - indexed: false, - internalType: "address", - name: "_init", - type: "address", - }, - { - indexed: false, - internalType: "bytes", - name: "_calldata", - type: "bytes", - }, - { - indexed: false, - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - name: "DiamondCutProposed", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - components: [ - { - internalType: "address", - name: "facetAddress", - type: "address", - }, - { - internalType: "enum IDiamondCut.FacetCutAction", - name: "action", - type: "uint8", - }, - { - internalType: "bytes4[]", - name: "functionSelectors", - type: "bytes4[]", - }, - ], - indexed: false, - internalType: "struct IDiamondCut.FacetCut[]", - name: "_diamondCut", - type: "tuple[]", - }, - { - indexed: false, - internalType: "address", - name: "_init", - type: "address", - }, - { - indexed: false, - internalType: "bytes", - name: "_calldata", - type: "bytes", - }, - ], - name: "DiamondCutRescinded", - type: "event", - }, { inputs: [ { @@ -179,132 +89,6 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, - { - inputs: [ - { - components: [ - { - internalType: "address", - name: "facetAddress", - type: "address", - }, - { - internalType: "enum IDiamondCut.FacetCutAction", - name: "action", - type: "uint8", - }, - { - internalType: "bytes4[]", - name: "functionSelectors", - type: "bytes4[]", - }, - ], - internalType: "struct IDiamondCut.FacetCut[]", - name: "_diamondCut", - type: "tuple[]", - }, - { - internalType: "address", - name: "_init", - type: "address", - }, - { - internalType: "bytes", - name: "_calldata", - type: "bytes", - }, - ], - name: "getAcceptanceTime", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "address", - name: "facetAddress", - type: "address", - }, - { - internalType: "enum IDiamondCut.FacetCutAction", - name: "action", - type: "uint8", - }, - { - internalType: "bytes4[]", - name: "functionSelectors", - type: "bytes4[]", - }, - ], - internalType: "struct IDiamondCut.FacetCut[]", - name: "_diamondCut", - type: "tuple[]", - }, - { - internalType: "address", - name: "_init", - type: "address", - }, - { - internalType: "bytes", - name: "_calldata", - type: "bytes", - }, - ], - name: "proposeDiamondCut", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "address", - name: "facetAddress", - type: "address", - }, - { - internalType: "enum IDiamondCut.FacetCutAction", - name: "action", - type: "uint8", - }, - { - internalType: "bytes4[]", - name: "functionSelectors", - type: "bytes4[]", - }, - ], - internalType: "struct IDiamondCut.FacetCut[]", - name: "_diamondCut", - type: "tuple[]", - }, - { - internalType: "address", - name: "_init", - type: "address", - }, - { - internalType: "bytes", - name: "_calldata", - type: "bytes", - }, - ], - name: "rescindDiamondCut", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, ]; export class IDiamondCut__factory { diff --git a/typings/factories/IERC20MetadataUpgradeable__factory.ts b/typings/factories/IERC20MetadataUpgradeable__factory.ts deleted file mode 100644 index 6549eb63..00000000 --- a/typings/factories/IERC20MetadataUpgradeable__factory.ts +++ /dev/null @@ -1,252 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { Contract, Signer, utils } from "ethers"; -import { Provider } from "@ethersproject/providers"; -import type { - IERC20MetadataUpgradeable, - IERC20MetadataUpgradeableInterface, -} from "../IERC20MetadataUpgradeable"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "owner", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "spender", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "value", - type: "uint256", - }, - ], - name: "Approval", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "from", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "to", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "value", - type: "uint256", - }, - ], - name: "Transfer", - type: "event", - }, - { - inputs: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "address", - name: "spender", - type: "address", - }, - ], - name: "allowance", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "spender", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "approve", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "balanceOf", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "decimals", - outputs: [ - { - internalType: "uint8", - name: "", - type: "uint8", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "name", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "symbol", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "totalSupply", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "transfer", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "from", - type: "address", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "transferFrom", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, -]; - -export class IERC20MetadataUpgradeable__factory { - static readonly abi = _abi; - static createInterface(): IERC20MetadataUpgradeableInterface { - return new utils.Interface(_abi) as IERC20MetadataUpgradeableInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): IERC20MetadataUpgradeable { - return new Contract( - address, - _abi, - signerOrProvider - ) as IERC20MetadataUpgradeable; - } -} diff --git a/typings/factories/IERC20Metadata__factory.ts b/typings/factories/IERC20Metadata__factory.ts deleted file mode 100644 index f955c5c3..00000000 --- a/typings/factories/IERC20Metadata__factory.ts +++ /dev/null @@ -1,248 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { Contract, Signer, utils } from "ethers"; -import { Provider } from "@ethersproject/providers"; -import type { - IERC20Metadata, - IERC20MetadataInterface, -} from "../IERC20Metadata"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "owner", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "spender", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "value", - type: "uint256", - }, - ], - name: "Approval", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "from", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "to", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "value", - type: "uint256", - }, - ], - name: "Transfer", - type: "event", - }, - { - inputs: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "address", - name: "spender", - type: "address", - }, - ], - name: "allowance", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "spender", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "approve", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "balanceOf", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "decimals", - outputs: [ - { - internalType: "uint8", - name: "", - type: "uint8", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "name", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "symbol", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "totalSupply", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "transfer", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "from", - type: "address", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "transferFrom", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, -]; - -export class IERC20Metadata__factory { - static readonly abi = _abi; - static createInterface(): IERC20MetadataInterface { - return new utils.Interface(_abi) as IERC20MetadataInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): IERC20Metadata { - return new Contract(address, _abi, signerOrProvider) as IERC20Metadata; - } -} diff --git a/typings/factories/IERC20Upgradeable__factory.ts b/typings/factories/IERC20Upgradeable__factory.ts deleted file mode 100644 index 5e7d8c85..00000000 --- a/typings/factories/IERC20Upgradeable__factory.ts +++ /dev/null @@ -1,209 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { Contract, Signer, utils } from "ethers"; -import { Provider } from "@ethersproject/providers"; -import type { - IERC20Upgradeable, - IERC20UpgradeableInterface, -} from "../IERC20Upgradeable"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "owner", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "spender", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "value", - type: "uint256", - }, - ], - name: "Approval", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "from", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "to", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "value", - type: "uint256", - }, - ], - name: "Transfer", - type: "event", - }, - { - inputs: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "address", - name: "spender", - type: "address", - }, - ], - name: "allowance", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "spender", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "approve", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "balanceOf", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "totalSupply", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "transfer", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "from", - type: "address", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "transferFrom", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, -]; - -export class IERC20Upgradeable__factory { - static readonly abi = _abi; - static createInterface(): IERC20UpgradeableInterface { - return new utils.Interface(_abi) as IERC20UpgradeableInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): IERC20Upgradeable { - return new Contract(address, _abi, signerOrProvider) as IERC20Upgradeable; - } -} diff --git a/typings/factories/IOutbox__factory.ts b/typings/factories/IOutbox__factory.ts deleted file mode 100644 index eb1cd376..00000000 --- a/typings/factories/IOutbox__factory.ts +++ /dev/null @@ -1,94 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { Contract, Signer, utils } from "ethers"; -import { Provider } from "@ethersproject/providers"; -import type { IOutbox, IOutboxInterface } from "../IOutbox"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "bytes32", - name: "messageHash", - type: "bytes32", - }, - { - indexed: true, - internalType: "uint256", - name: "leafIndex", - type: "uint256", - }, - { - indexed: true, - internalType: "uint64", - name: "destinationAndNonce", - type: "uint64", - }, - { - indexed: false, - internalType: "bytes32", - name: "committedRoot", - type: "bytes32", - }, - { - indexed: false, - internalType: "bytes", - name: "message", - type: "bytes", - }, - ], - name: "Dispatch", - type: "event", - }, - { - inputs: [ - { - internalType: "uint32", - name: "_destinationDomain", - type: "uint32", - }, - { - internalType: "bytes32", - name: "_recipientAddress", - type: "bytes32", - }, - { - internalType: "bytes", - name: "_messageBody", - type: "bytes", - }, - ], - name: "dispatch", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - { - internalType: "bytes", - name: "", - type: "bytes", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, -]; - -export class IOutbox__factory { - static readonly abi = _abi; - static createInterface(): IOutboxInterface { - return new utils.Interface(_abi) as IOutboxInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): IOutbox { - return new Contract(address, _abi, signerOrProvider) as IOutbox; - } -} diff --git a/typings/factories/IStableSwap__factory.ts b/typings/factories/IStableSwap__factory.ts deleted file mode 100644 index 7e4f20a2..00000000 --- a/typings/factories/IStableSwap__factory.ts +++ /dev/null @@ -1,837 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { Contract, Signer, utils } from "ethers"; -import { Provider } from "@ethersproject/providers"; -import type { IStableSwap, IStableSwapInterface } from "../IStableSwap"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "provider", - type: "address", - }, - { - indexed: false, - internalType: "uint256[]", - name: "tokenAmounts", - type: "uint256[]", - }, - { - indexed: false, - internalType: "uint256[]", - name: "fees", - type: "uint256[]", - }, - { - indexed: false, - internalType: "uint256", - name: "invariant", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "lpTokenSupply", - type: "uint256", - }, - ], - name: "AddLiquidity", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "newAdminFee", - type: "uint256", - }, - ], - name: "NewAdminFee", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "newSwapFee", - type: "uint256", - }, - ], - name: "NewSwapFee", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "newWithdrawFee", - type: "uint256", - }, - ], - name: "NewWithdrawFee", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "oldA", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "newA", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "initialTime", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "futureTime", - type: "uint256", - }, - ], - name: "RampA", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "provider", - type: "address", - }, - { - indexed: false, - internalType: "uint256[]", - name: "tokenAmounts", - type: "uint256[]", - }, - { - indexed: false, - internalType: "uint256", - name: "lpTokenSupply", - type: "uint256", - }, - ], - name: "RemoveLiquidity", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "provider", - type: "address", - }, - { - indexed: false, - internalType: "uint256[]", - name: "tokenAmounts", - type: "uint256[]", - }, - { - indexed: false, - internalType: "uint256[]", - name: "fees", - type: "uint256[]", - }, - { - indexed: false, - internalType: "uint256", - name: "invariant", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "lpTokenSupply", - type: "uint256", - }, - ], - name: "RemoveLiquidityImbalance", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "provider", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "lpTokenAmount", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "lpTokenSupply", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "boughtId", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "tokensBought", - type: "uint256", - }, - ], - name: "RemoveLiquidityOne", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "currentA", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "time", - type: "uint256", - }, - ], - name: "StopRampA", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "buyer", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "tokensSold", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "tokensBought", - type: "uint256", - }, - { - indexed: false, - internalType: "uint128", - name: "soldId", - type: "uint128", - }, - { - indexed: false, - internalType: "uint128", - name: "boughtId", - type: "uint128", - }, - ], - name: "TokenSwap", - type: "event", - }, - { - inputs: [ - { - internalType: "uint256[]", - name: "amounts", - type: "uint256[]", - }, - { - internalType: "uint256", - name: "minToMint", - type: "uint256", - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - name: "addLiquidity", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "calculateRemoveLiquidity", - outputs: [ - { - internalType: "uint256[]", - name: "", - type: "uint256[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "tokenAmount", - type: "uint256", - }, - { - internalType: "uint8", - name: "tokenIndex", - type: "uint8", - }, - ], - name: "calculateRemoveLiquidityOneToken", - outputs: [ - { - internalType: "uint256", - name: "availableTokenAmount", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint8", - name: "tokenIndexFrom", - type: "uint8", - }, - { - internalType: "uint8", - name: "tokenIndexTo", - type: "uint8", - }, - { - internalType: "uint256", - name: "dx", - type: "uint256", - }, - ], - name: "calculateSwap", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "assetIn", - type: "address", - }, - { - internalType: "address", - name: "assetOut", - type: "address", - }, - { - internalType: "uint256", - name: "amountIn", - type: "uint256", - }, - ], - name: "calculateSwapFromAddress", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint8", - name: "tokenIndexFrom", - type: "uint8", - }, - { - internalType: "uint8", - name: "tokenIndexTo", - type: "uint8", - }, - { - internalType: "uint256", - name: "dy", - type: "uint256", - }, - ], - name: "calculateSwapOut", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "assetIn", - type: "address", - }, - { - internalType: "address", - name: "assetOut", - type: "address", - }, - { - internalType: "uint256", - name: "amountOut", - type: "uint256", - }, - ], - name: "calculateSwapOutFromAddress", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256[]", - name: "amounts", - type: "uint256[]", - }, - { - internalType: "bool", - name: "deposit", - type: "bool", - }, - ], - name: "calculateTokenAmount", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "getA", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint8", - name: "index", - type: "uint8", - }, - ], - name: "getToken", - outputs: [ - { - internalType: "contract IERC20", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint8", - name: "index", - type: "uint8", - }, - ], - name: "getTokenBalance", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "tokenAddress", - type: "address", - }, - ], - name: "getTokenIndex", - outputs: [ - { - internalType: "uint8", - name: "", - type: "uint8", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "getVirtualPrice", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "contract IERC20[]", - name: "pooledTokens", - type: "address[]", - }, - { - internalType: "uint8[]", - name: "decimals", - type: "uint8[]", - }, - { - internalType: "string", - name: "lpTokenName", - type: "string", - }, - { - internalType: "string", - name: "lpTokenSymbol", - type: "string", - }, - { - internalType: "uint256", - name: "a", - type: "uint256", - }, - { - internalType: "uint256", - name: "fee", - type: "uint256", - }, - { - internalType: "uint256", - name: "adminFee", - type: "uint256", - }, - { - internalType: "address", - name: "lpTokenTargetAddress", - type: "address", - }, - ], - name: "initialize", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "minAmounts", - type: "uint256[]", - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - name: "removeLiquidity", - outputs: [ - { - internalType: "uint256[]", - name: "", - type: "uint256[]", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256[]", - name: "amounts", - type: "uint256[]", - }, - { - internalType: "uint256", - name: "maxBurnAmount", - type: "uint256", - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - name: "removeLiquidityImbalance", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "tokenAmount", - type: "uint256", - }, - { - internalType: "uint8", - name: "tokenIndex", - type: "uint8", - }, - { - internalType: "uint256", - name: "minAmount", - type: "uint256", - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - name: "removeLiquidityOneToken", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint8", - name: "tokenIndexFrom", - type: "uint8", - }, - { - internalType: "uint8", - name: "tokenIndexTo", - type: "uint8", - }, - { - internalType: "uint256", - name: "dx", - type: "uint256", - }, - { - internalType: "uint256", - name: "minDy", - type: "uint256", - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - name: "swap", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amountIn", - type: "uint256", - }, - { - internalType: "address", - name: "assetIn", - type: "address", - }, - { - internalType: "address", - name: "assetOut", - type: "address", - }, - { - internalType: "uint256", - name: "minAmountOut", - type: "uint256", - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - name: "swapExact", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "payable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amountOut", - type: "uint256", - }, - { - internalType: "address", - name: "assetIn", - type: "address", - }, - { - internalType: "address", - name: "assetOut", - type: "address", - }, - { - internalType: "uint256", - name: "maxAmountIn", - type: "uint256", - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - name: "swapExactOut", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "payable", - type: "function", - }, -]; - -export class IStableSwap__factory { - static readonly abi = _abi; - static createInterface(): IStableSwapInterface { - return new utils.Interface(_abi) as IStableSwapInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): IStableSwap { - return new Contract(address, _abi, signerOrProvider) as IStableSwap; - } -} diff --git a/typings/factories/LPToken__factory.ts b/typings/factories/LPToken__factory.ts deleted file mode 100644 index 55011fd0..00000000 --- a/typings/factories/LPToken__factory.ts +++ /dev/null @@ -1,453 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { LPToken, LPTokenInterface } from "../LPToken"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "owner", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "spender", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "value", - type: "uint256", - }, - ], - name: "Approval", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint8", - name: "version", - type: "uint8", - }, - ], - name: "Initialized", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "previousOwner", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "newOwner", - type: "address", - }, - ], - name: "OwnershipTransferred", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "from", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "to", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "value", - type: "uint256", - }, - ], - name: "Transfer", - type: "event", - }, - { - inputs: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "address", - name: "spender", - type: "address", - }, - ], - name: "allowance", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "spender", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "approve", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "balanceOf", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "account", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "burnFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "decimals", - outputs: [ - { - internalType: "uint8", - name: "", - type: "uint8", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "spender", - type: "address", - }, - { - internalType: "uint256", - name: "subtractedValue", - type: "uint256", - }, - ], - name: "decreaseAllowance", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "spender", - type: "address", - }, - { - internalType: "uint256", - name: "addedValue", - type: "uint256", - }, - ], - name: "increaseAllowance", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "string", - name: "name", - type: "string", - }, - { - internalType: "string", - name: "symbol", - type: "string", - }, - ], - name: "initialize", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "recipient", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "mint", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "name", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "owner", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "renounceOwnership", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "symbol", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "totalSupply", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "transfer", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "from", - type: "address", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "transferFrom", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "newOwner", - type: "address", - }, - ], - name: "transferOwnership", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, -]; - -const _bytecode = - "0x608060405234801561001057600080fd5b506127d4806100206000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806370a08231116100a257806395d89b411161007157806395d89b41146102ba578063a457c2d7146102d8578063a9059cbb14610308578063dd62ed3e14610338578063f2fde38b146103685761010b565b806370a0823114610246578063715018a61461027657806379cc6790146102805780638da5cb5b1461029c5761010b565b8063313ce567116100de578063313ce567146101ac57806339509351146101ca57806340c10f19146101fa5780634cd88b76146102165761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e57806323b872dd1461017c575b600080fd5b610118610384565b60405161012591906116cd565b60405180910390f35b61014860048036038101906101439190611797565b610416565b60405161015591906117f2565b60405180910390f35b610166610439565b604051610173919061181c565b60405180910390f35b61019660048036038101906101919190611837565b610443565b6040516101a391906117f2565b60405180910390f35b6101b4610472565b6040516101c191906118a6565b60405180910390f35b6101e460048036038101906101df9190611797565b61047b565b6040516101f191906117f2565b60405180910390f35b610214600480360381019061020f9190611797565b6104b2565b005b610230600480360381019061022b91906119f6565b61057f565b60405161023d91906117f2565b60405180910390f35b610260600480360381019061025b9190611a6e565b61062e565b60405161026d919061181c565b60405180910390f35b61027e610677565b005b61029a60048036038101906102959190611797565b6106ff565b005b6102a46107cc565b6040516102b19190611aaa565b60405180910390f35b6102c26107f6565b6040516102cf91906116cd565b60405180910390f35b6102f260048036038101906102ed9190611797565b610888565b6040516102ff91906117f2565b60405180910390f35b610322600480360381019061031d9190611797565b6108ff565b60405161032f91906117f2565b60405180910390f35b610352600480360381019061034d9190611ac5565b610922565b60405161035f919061181c565b60405180910390f35b610382600480360381019061037d9190611a6e565b6109a9565b005b60606036805461039390611b34565b80601f01602080910402602001604051908101604052809291908181526020018280546103bf90611b34565b801561040c5780601f106103e15761010080835404028352916020019161040c565b820191906000526020600020905b8154815290600101906020018083116103ef57829003601f168201915b5050505050905090565b600080610421610aa0565b905061042e818585610aa8565b600191505092915050565b6000603554905090565b60008061044e610aa0565b905061045b858285610c71565b610466858585610cfd565b60019150509392505050565b60006012905090565b600080610486610aa0565b90506104a78185856104988589610922565b6104a29190611b94565b610aa8565b600191505092915050565b6104ba610aa0565b73ffffffffffffffffffffffffffffffffffffffff166104d86107cc565b73ffffffffffffffffffffffffffffffffffffffff161461052e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052590611c14565b60405180910390fd5b60008103610571576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056890611c80565b60405180910390fd5b61057b8282610f7f565b5050565b60008061058c60016110df565b905080156105b0576001600060016101000a81548160ff0219169083151502179055505b6105b86111cf565b6105c28484611220565b6105ca611293565b6001915080156106275760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498600160405161061e9190611ce5565b60405180910390a15b5092915050565b6000603360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61067f610aa0565b73ffffffffffffffffffffffffffffffffffffffff1661069d6107cc565b73ffffffffffffffffffffffffffffffffffffffff16146106f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ea90611c14565b60405180910390fd5b6106fd60006112f4565b565b610707610aa0565b73ffffffffffffffffffffffffffffffffffffffff166107256107cc565b73ffffffffffffffffffffffffffffffffffffffff161461077b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077290611c14565b60405180910390fd5b600081036107be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b590611d4c565b60405180910390fd5b6107c882826113ba565b5050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606037805461080590611b34565b80601f016020809104026020016040519081016040528092919081815260200182805461083190611b34565b801561087e5780601f106108535761010080835404028352916020019161087e565b820191906000526020600020905b81548152906001019060200180831161086157829003601f168201915b5050505050905090565b600080610893610aa0565b905060006108a18286610922565b9050838110156108e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108dd90611dde565b60405180910390fd5b6108f38286868403610aa8565b60019250505092915050565b60008061090a610aa0565b9050610917818585610cfd565b600191505092915050565b6000603460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6109b1610aa0565b73ffffffffffffffffffffffffffffffffffffffff166109cf6107cc565b73ffffffffffffffffffffffffffffffffffffffff1614610a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1c90611c14565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8b90611e70565b60405180910390fd5b610a9d816112f4565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0e90611f02565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7d90611f94565b60405180910390fd5b80603460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c64919061181c565b60405180910390a3505050565b6000610c7d8484610922565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610cf75781811015610ce9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce090612000565b60405180910390fd5b610cf68484848403610aa8565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6390612092565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd290612124565b60405180910390fd5b610de6838383611592565b6000603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e64906121b6565b60405180910390fd5b818103603360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f029190611b94565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f66919061181c565b60405180910390a3610f79848484611610565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe590612222565b60405180910390fd5b610ffa60008383611592565b806035600082825461100c9190611b94565b9250508190555080603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110629190611b94565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110c7919061181c565b60405180910390a36110db60008383611610565b5050565b60008060019054906101000a900460ff16156111565760018260ff1614801561110e575061110c30611615565b155b61114d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611144906122b4565b60405180910390fd5b600090506111ca565b8160ff1660008054906101000a900460ff1660ff16106111ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a2906122b4565b60405180910390fd5b816000806101000a81548160ff021916908360ff160217905550600190505b919050565b600060019054906101000a900460ff1661121e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121590612346565b60405180910390fd5b565b600060019054906101000a900460ff1661126f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126690612346565b60405180910390fd5b816036908161127e9190612508565b50806037908161128e9190612508565b505050565b600060019054906101000a900460ff166112e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d990612346565b60405180910390fd5b6112f26112ed610aa0565b6112f4565b565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611429576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114209061264c565b60405180910390fd5b61143582600083611592565b6000603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156114bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b3906126de565b60405180910390fd5b818103603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816035600082825461151491906126fe565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611579919061181c565b60405180910390a361158d83600084611610565b505050565b61159d838383611638565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361160b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116029061277e565b60405180910390fd5b505050565b505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561167757808201518184015260208101905061165c565b60008484015250505050565b6000601f19601f8301169050919050565b600061169f8261163d565b6116a98185611648565b93506116b9818560208601611659565b6116c281611683565b840191505092915050565b600060208201905081810360008301526116e78184611694565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061172e82611703565b9050919050565b61173e81611723565b811461174957600080fd5b50565b60008135905061175b81611735565b92915050565b6000819050919050565b61177481611761565b811461177f57600080fd5b50565b6000813590506117918161176b565b92915050565b600080604083850312156117ae576117ad6116f9565b5b60006117bc8582860161174c565b92505060206117cd85828601611782565b9150509250929050565b60008115159050919050565b6117ec816117d7565b82525050565b600060208201905061180760008301846117e3565b92915050565b61181681611761565b82525050565b6000602082019050611831600083018461180d565b92915050565b6000806000606084860312156118505761184f6116f9565b5b600061185e8682870161174c565b935050602061186f8682870161174c565b925050604061188086828701611782565b9150509250925092565b600060ff82169050919050565b6118a08161188a565b82525050565b60006020820190506118bb6000830184611897565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61190382611683565b810181811067ffffffffffffffff82111715611922576119216118cb565b5b80604052505050565b60006119356116ef565b905061194182826118fa565b919050565b600067ffffffffffffffff821115611961576119606118cb565b5b61196a82611683565b9050602081019050919050565b82818337600083830152505050565b600061199961199484611946565b61192b565b9050828152602081018484840111156119b5576119b46118c6565b5b6119c0848285611977565b509392505050565b600082601f8301126119dd576119dc6118c1565b5b81356119ed848260208601611986565b91505092915050565b60008060408385031215611a0d57611a0c6116f9565b5b600083013567ffffffffffffffff811115611a2b57611a2a6116fe565b5b611a37858286016119c8565b925050602083013567ffffffffffffffff811115611a5857611a576116fe565b5b611a64858286016119c8565b9150509250929050565b600060208284031215611a8457611a836116f9565b5b6000611a928482850161174c565b91505092915050565b611aa481611723565b82525050565b6000602082019050611abf6000830184611a9b565b92915050565b60008060408385031215611adc57611adb6116f9565b5b6000611aea8582860161174c565b9250506020611afb8582860161174c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611b4c57607f821691505b602082108103611b5f57611b5e611b05565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611b9f82611761565b9150611baa83611761565b9250828201905080821115611bc257611bc1611b65565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611bfe602083611648565b9150611c0982611bc8565b602082019050919050565b60006020820190508181036000830152611c2d81611bf1565b9050919050565b7f4c50546f6b656e3a2063616e6e6f74206d696e74203000000000000000000000600082015250565b6000611c6a601683611648565b9150611c7582611c34565b602082019050919050565b60006020820190508181036000830152611c9981611c5d565b9050919050565b6000819050919050565b6000819050919050565b6000611ccf611cca611cc584611ca0565b611caa565b61188a565b9050919050565b611cdf81611cb4565b82525050565b6000602082019050611cfa6000830184611cd6565b92915050565b7f4c50546f6b656e3a2063616e6e6f74206275726e203000000000000000000000600082015250565b6000611d36601683611648565b9150611d4182611d00565b602082019050919050565b60006020820190508181036000830152611d6581611d29565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611dc8602583611648565b9150611dd382611d6c565b604082019050919050565b60006020820190508181036000830152611df781611dbb565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611e5a602683611648565b9150611e6582611dfe565b604082019050919050565b60006020820190508181036000830152611e8981611e4d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611eec602483611648565b9150611ef782611e90565b604082019050919050565b60006020820190508181036000830152611f1b81611edf565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611f7e602283611648565b9150611f8982611f22565b604082019050919050565b60006020820190508181036000830152611fad81611f71565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611fea601d83611648565b9150611ff582611fb4565b602082019050919050565b6000602082019050818103600083015261201981611fdd565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061207c602583611648565b915061208782612020565b604082019050919050565b600060208201905081810360008301526120ab8161206f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061210e602383611648565b9150612119826120b2565b604082019050919050565b6000602082019050818103600083015261213d81612101565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006121a0602683611648565b91506121ab82612144565b604082019050919050565b600060208201905081810360008301526121cf81612193565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061220c601f83611648565b9150612217826121d6565b602082019050919050565b6000602082019050818103600083015261223b816121ff565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b600061229e602e83611648565b91506122a982612242565b604082019050919050565b600060208201905081810360008301526122cd81612291565b9050919050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b6000612330602b83611648565b915061233b826122d4565b604082019050919050565b6000602082019050818103600083015261235f81612323565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026123c87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261238b565b6123d2868361238b565b95508019841693508086168417925050509392505050565b60006124056124006123fb84611761565b611caa565b611761565b9050919050565b6000819050919050565b61241f836123ea565b61243361242b8261240c565b848454612398565b825550505050565b600090565b61244861243b565b612453818484612416565b505050565b5b818110156124775761246c600082612440565b600181019050612459565b5050565b601f8211156124bc5761248d81612366565b6124968461237b565b810160208510156124a5578190505b6124b96124b18561237b565b830182612458565b50505b505050565b600082821c905092915050565b60006124df600019846008026124c1565b1980831691505092915050565b60006124f883836124ce565b9150826002028217905092915050565b6125118261163d565b67ffffffffffffffff81111561252a576125296118cb565b5b6125348254611b34565b61253f82828561247b565b600060209050601f8311600181146125725760008415612560578287015190505b61256a85826124ec565b8655506125d2565b601f19841661258086612366565b60005b828110156125a857848901518255600182019150602085019450602081019050612583565b868310156125c557848901516125c1601f8916826124ce565b8355505b6001600288020188555050505b505050505050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612636602183611648565b9150612641826125da565b604082019050919050565b6000602082019050818103600083015261266581612629565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006126c8602283611648565b91506126d38261266c565b604082019050919050565b600060208201905081810360008301526126f7816126bb565b9050919050565b600061270982611761565b915061271483611761565b925082820390508181111561272c5761272b611b65565b5b92915050565b7f4c50546f6b656e3a2063616e6e6f742073656e6420746f20697473656c660000600082015250565b6000612768601e83611648565b915061277382612732565b602082019050919050565b600060208201905081810360008301526127978161275b565b905091905056fea26469706673582212205283f0c2c21f76fe91a041cd217127f4146298d69e685b5b0469d8154e80f20464736f6c63430008110033"; - -type LPTokenConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: LPTokenConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class LPToken__factory extends ContractFactory { - constructor(...args: LPTokenConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - } - - deploy( - overrides?: Overrides & { from?: string | Promise } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - getDeployTransaction( - overrides?: Overrides & { from?: string | Promise } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - attach(address: string): LPToken { - return super.attach(address) as LPToken; - } - connect(signer: Signer): LPToken__factory { - return super.connect(signer) as LPToken__factory; - } - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): LPTokenInterface { - return new utils.Interface(_abi) as LPTokenInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): LPToken { - return new Contract(address, _abi, signerOrProvider) as LPToken; - } -} diff --git a/typings/factories/LibAsset__factory.ts b/typings/factories/LibAsset__factory.ts new file mode 100644 index 00000000..338bf753 --- /dev/null +++ b/typings/factories/LibAsset__factory.ts @@ -0,0 +1,109 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { LibAsset, LibAssetInterface } from "../LibAsset"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes8", + name: "c__8aa85783", + type: "bytes8", + }, + ], + name: "c_8aa85783", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__8aa85783", + type: "bytes8", + }, + ], + name: "c_false8aa85783", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__8aa85783", + type: "bytes8", + }, + ], + name: "c_true8aa85783", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, +]; + +const _bytecode = + "0x6101a5610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806344669a9814610050578063b3b92f2914610080578063fb0a561c146100b0575b600080fd5b61006a600480360381019061006591906100f6565b6100cc565b604051610077919061012e565b60405180910390f35b61009a600480360381019061009591906100f6565b6100d7565b6040516100a7919061012e565b60405180910390f35b6100ca60048036038101906100c591906100f6565b6100de565b005b600060019050919050565b6000919050565b50565b6000813590506100f081610181565b92915050565b60006020828403121561010857600080fd5b6000610116848285016100e1565b91505092915050565b61012881610149565b82525050565b6000602082019050610143600083018461011f565b92915050565b60008115159050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b61018a81610155565b811461019557600080fd5b5056fea164736f6c6343000804000a"; + +type LibAssetConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: LibAssetConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class LibAsset__factory extends ContractFactory { + constructor(...args: LibAssetConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + deploy( + overrides?: Overrides & { from?: string | Promise } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + getDeployTransaction( + overrides?: Overrides & { from?: string | Promise } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + attach(address: string): LibAsset { + return super.attach(address) as LibAsset; + } + connect(signer: Signer): LibAsset__factory { + return super.connect(signer) as LibAsset__factory; + } + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): LibAssetInterface { + return new utils.Interface(_abi) as LibAssetInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): LibAsset { + return new Contract(address, _abi, signerOrProvider) as LibAsset; + } +} diff --git a/typings/factories/LibDiamond__factory.ts b/typings/factories/LibDiamond__factory.ts index cb3b9ba7..1cc70695 100644 --- a/typings/factories/LibDiamond__factory.ts +++ b/typings/factories/LibDiamond__factory.ts @@ -48,96 +48,6 @@ const _abi = [ name: "DiamondCut", type: "event", }, - { - anonymous: false, - inputs: [ - { - components: [ - { - internalType: "address", - name: "facetAddress", - type: "address", - }, - { - internalType: "enum IDiamondCut.FacetCutAction", - name: "action", - type: "uint8", - }, - { - internalType: "bytes4[]", - name: "functionSelectors", - type: "bytes4[]", - }, - ], - indexed: false, - internalType: "struct IDiamondCut.FacetCut[]", - name: "_diamondCut", - type: "tuple[]", - }, - { - indexed: false, - internalType: "address", - name: "_init", - type: "address", - }, - { - indexed: false, - internalType: "bytes", - name: "_calldata", - type: "bytes", - }, - { - indexed: false, - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - name: "DiamondCutProposed", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - components: [ - { - internalType: "address", - name: "facetAddress", - type: "address", - }, - { - internalType: "enum IDiamondCut.FacetCutAction", - name: "action", - type: "uint8", - }, - { - internalType: "bytes4[]", - name: "functionSelectors", - type: "bytes4[]", - }, - ], - indexed: false, - internalType: "struct IDiamondCut.FacetCut[]", - name: "_diamondCut", - type: "tuple[]", - }, - { - indexed: false, - internalType: "address", - name: "_init", - type: "address", - }, - { - indexed: false, - internalType: "bytes", - name: "_calldata", - type: "bytes", - }, - ], - name: "DiamondCutRescinded", - type: "event", - }, { anonymous: false, inputs: [ @@ -160,7 +70,7 @@ const _abi = [ ]; const _bytecode = - "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206922ca8e9dffbe8e5db3b3dd699ffdc80e58d3e948116f271e02ded63b25adbf64736f6c63430008110033"; + "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e443216bcd038ab1823e4b419d4c6f195e30184d868d9d809f07908d8502743064736f6c63430008110033"; type LibDiamondConstructorParams = | [signer?: Signer] diff --git a/typings/factories/OwnableUpgradeable__factory.ts b/typings/factories/OwnableUpgradeable__factory.ts deleted file mode 100644 index 3100f92f..00000000 --- a/typings/factories/OwnableUpgradeable__factory.ts +++ /dev/null @@ -1,91 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { Contract, Signer, utils } from "ethers"; -import { Provider } from "@ethersproject/providers"; -import type { - OwnableUpgradeable, - OwnableUpgradeableInterface, -} from "../OwnableUpgradeable"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint8", - name: "version", - type: "uint8", - }, - ], - name: "Initialized", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "previousOwner", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "newOwner", - type: "address", - }, - ], - name: "OwnershipTransferred", - type: "event", - }, - { - inputs: [], - name: "owner", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "renounceOwnership", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "newOwner", - type: "address", - }, - ], - name: "transferOwnership", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, -]; - -export class OwnableUpgradeable__factory { - static readonly abi = _abi; - static createInterface(): OwnableUpgradeableInterface { - return new utils.Interface(_abi) as OwnableUpgradeableInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): OwnableUpgradeable { - return new Contract(address, _abi, signerOrProvider) as OwnableUpgradeable; - } -} diff --git a/typings/factories/SGReceiver__factory.ts b/typings/factories/SGReceiver__factory.ts new file mode 100644 index 00000000..dd195d0a --- /dev/null +++ b/typings/factories/SGReceiver__factory.ts @@ -0,0 +1,133 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { SGReceiver, SGReceiverInterface } from "../SGReceiver"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_sgRouter", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "ReentrancyError", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "StargateReceivedOnDestination", + type: "event", + }, + { + inputs: [ + { + internalType: "uint16", + name: "", + type: "uint16", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint256", + name: "_amountLD", + type: "uint256", + }, + { + internalType: "bytes", + name: "_payload", + type: "bytes", + }, + ], + name: "sgReceive", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b50604051610ce2380380610ce28339818101604052810190610032919061008d565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506100ff565b600081519050610087816100e8565b92915050565b60006020828403121561009f57600080fd5b60006100ad84828501610078565b91505092915050565b60006100c1826100c8565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6100f1816100b6565b81146100fc57600080fd5b50565b610bd48061010e6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ab8236f314610030575b600080fd5b61004a60048036038101906100459190610612565b61004c565b005b60006100566101bf565b9050600181600001541415610097576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461012f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012690610861565b60405180910390fd5b60008280602001905181019061014591906105c0565b905061017281858773ffffffffffffffffffffffffffffffffffffffff166101ec9092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c85856040516101a39291906107f6565b60405180910390a1506000816000018190555050505050505050565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b61026d8363a9059cbb60e01b848460405160240161020b9291906107f6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610272565b505050565b60006102d4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166103399092919063ffffffff16565b905060008151111561033457808060200190518101906102f491906105e9565b610333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032a906108a1565b60405180910390fd5b5b505050565b60606103488484600085610351565b90509392505050565b606082471015610396576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038d90610841565b60405180910390fd5b61039f85610465565b6103de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d590610881565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161040791906107df565b60006040518083038185875af1925050503d8060008114610444576040519150601f19603f3d011682016040523d82523d6000602084013e610449565b606091505b5091509150610459828286610488565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610498578290506104e8565b6000835111156104ab5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104df919061081f565b60405180910390fd5b9392505050565b60006105026104fd846108e6565b6108c1565b90508281526020810184848401111561051a57600080fd5b6105258482856109b1565b509392505050565b60008135905061053c81610b54565b92915050565b60008151905061055181610b6b565b92915050565b60008151905061056681610b82565b92915050565b600082601f83011261057d57600080fd5b813561058d8482602086016104ef565b91505092915050565b6000813590506105a581610b99565b92915050565b6000813590506105ba81610bb0565b92915050565b6000602082840312156105d257600080fd5b60006105e084828501610542565b91505092915050565b6000602082840312156105fb57600080fd5b600061060984828501610557565b91505092915050565b60008060008060008060c0878903121561062b57600080fd5b600061063989828a01610596565b965050602087013567ffffffffffffffff81111561065657600080fd5b61066289828a0161056c565b955050604061067389828a016105ab565b945050606061068489828a0161052d565b935050608061069589828a016105ab565b92505060a087013567ffffffffffffffff8111156106b257600080fd5b6106be89828a0161056c565b9150509295509295509295565b6106d481610949565b82525050565b60006106e582610917565b6106ef818561092d565b93506106ff8185602086016109c0565b80840191505092915050565b600061071682610922565b6107208185610938565b93506107308185602086016109c0565b61073981610a53565b840191505092915050565b6000610751602683610938565b915061075c82610a64565b604082019050919050565b6000610774601f83610938565b915061077f82610ab3565b602082019050919050565b6000610797601d83610938565b91506107a282610adc565b602082019050919050565b60006107ba602a83610938565b91506107c582610b05565b604082019050919050565b6107d9816109a7565b82525050565b60006107eb82846106da565b915081905092915050565b600060408201905061080b60008301856106cb565b61081860208301846107d0565b9392505050565b60006020820190508181036000830152610839818461070b565b905092915050565b6000602082019050818103600083015261085a81610744565b9050919050565b6000602082019050818103600083015261087a81610767565b9050919050565b6000602082019050818103600083015261089a8161078a565b9050919050565b600060208201905081810360008301526108ba816107ad565b9050919050565b60006108cb6108dc565b90506108d782826109f3565b919050565b6000604051905090565b600067ffffffffffffffff82111561090157610900610a24565b5b61090a82610a53565b9050602081019050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061095482610987565b9050919050565b600061096682610987565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156109de5780820151818401526020810190506109c3565b838111156109ed576000848401525b50505050565b6109fc82610a53565b810181811067ffffffffffffffff82111715610a1b57610a1a610a24565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b610b5d81610949565b8114610b6857600080fd5b50565b610b748161095b565b8114610b7f57600080fd5b50565b610b8b8161096d565b8114610b9657600080fd5b50565b610ba281610979565b8114610bad57600080fd5b50565b610bb9816109a7565b8114610bc457600080fd5b5056fea164736f6c6343000804000a"; + +type SGReceiverConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: SGReceiverConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class SGReceiver__factory extends ContractFactory { + constructor(...args: SGReceiverConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + deploy( + _sgRouter: string, + overrides?: Overrides & { from?: string | Promise } + ): Promise { + return super.deploy(_sgRouter, overrides || {}) as Promise; + } + getDeployTransaction( + _sgRouter: string, + overrides?: Overrides & { from?: string | Promise } + ): TransactionRequest { + return super.getDeployTransaction(_sgRouter, overrides || {}); + } + attach(address: string): SGReceiver { + return super.attach(address) as SGReceiver; + } + connect(signer: Signer): SGReceiver__factory { + return super.connect(signer) as SGReceiver__factory; + } + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): SGReceiverInterface { + return new utils.Interface(_abi) as SGReceiverInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): SGReceiver { + return new Contract(address, _abi, signerOrProvider) as SGReceiver; + } +} diff --git a/typings/factories/SafeMathLib__factory.ts b/typings/factories/SafeMathLib__factory.ts new file mode 100644 index 00000000..cb7f6c89 --- /dev/null +++ b/typings/factories/SafeMathLib__factory.ts @@ -0,0 +1,109 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { SafeMathLib, SafeMathLibInterface } from "../SafeMathLib"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes8", + name: "c__463892cc", + type: "bytes8", + }, + ], + name: "c_463892cc", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__463892cc", + type: "bytes8", + }, + ], + name: "c_false463892cc", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__463892cc", + type: "bytes8", + }, + ], + name: "c_true463892cc", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, +]; + +const _bytecode = + "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80636f312deb14610050578063a6c4e55f146100af578063ed7153421461010e575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b60405180821515815260200191505060405180910390f35b6100f6600480360360208110156100c557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610162565b60405180821515815260200191505060405180910390f35b6101556004803603602081101561012457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610169565b005b600060019050919050565b6000919050565b5056fea164736f6c634300060c000a"; + +type SafeMathLibConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: SafeMathLibConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class SafeMathLib__factory extends ContractFactory { + constructor(...args: SafeMathLibConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + deploy( + overrides?: Overrides & { from?: string | Promise } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + getDeployTransaction( + overrides?: Overrides & { from?: string | Promise } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + attach(address: string): SafeMathLib { + return super.attach(address) as SafeMathLib; + } + connect(signer: Signer): SafeMathLib__factory { + return super.connect(signer) as SafeMathLib__factory; + } + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): SafeMathLibInterface { + return new utils.Interface(_abi) as SafeMathLibInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): SafeMathLib { + return new Contract(address, _abi, signerOrProvider) as SafeMathLib; + } +} diff --git a/typings/factories/StargateFacet__factory.ts b/typings/factories/StargateFacet__factory.ts index a32f6f16..6037455e 100644 --- a/typings/factories/StargateFacet__factory.ts +++ b/typings/factories/StargateFacet__factory.ts @@ -11,6 +11,25 @@ const _abi = [ name: "ReentrancyError", type: "error", }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "chainId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint16", + name: "lzChainId", + type: "uint16", + }, + ], + name: "LzChainIdSet", + type: "event", + }, { anonymous: false, inputs: [ @@ -39,7 +58,7 @@ const _abi = [ type: "uint16", }, ], - name: "StargateETHTokenSwap", + name: "StargateETHSwap", type: "event", }, { @@ -123,6 +142,25 @@ const _abi = [ name: "StargateTokenSwap", type: "event", }, + { + inputs: [ + { + internalType: "uint256", + name: "_chainId", + type: "uint256", + }, + ], + name: "getLzChainId", + outputs: [ + { + internalType: "uint16", + name: "", + type: "uint16", + }, + ], + stateMutability: "view", + type: "function", + }, { inputs: [ { @@ -140,12 +178,47 @@ const _abi = [ name: "_chainId", type: "uint16", }, + { + components: [ + { + internalType: "uint256", + name: "chainId", + type: "uint256", + }, + { + internalType: "uint16", + name: "layerZeroChainId", + type: "uint16", + }, + ], + internalType: "struct StargateFacet.ChainIdConfig[]", + name: "_chainIdConfigs", + type: "tuple[]", + }, ], name: "initStargate", outputs: [], stateMutability: "nonpayable", type: "function", }, + { + inputs: [ + { + internalType: "uint256", + name: "_chainId", + type: "uint256", + }, + { + internalType: "uint16", + name: "_lzChainId", + type: "uint16", + }, + ], + name: "setLzChainId", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, { inputs: [ { @@ -209,7 +282,7 @@ const _abi = [ type: "uint16", }, ], - internalType: "struct StargateFacet.StargateETHTransferData", + internalType: "struct StargateFacet.StargateETHData", name: "_data", type: "tuple", }, @@ -222,14 +295,51 @@ const _abi = [ { inputs: [ { - internalType: "uint16", - name: "_destChain", - type: "uint16", - }, - { - internalType: "address", - name: "_receiver", - type: "address", + components: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "bridgeToken", + type: "address", + }, + { + internalType: "uint16", + name: "dstChainId", + type: "uint16", + }, + { + internalType: "uint16", + name: "srcPoolId", + type: "uint16", + }, + { + internalType: "uint16", + name: "dstPoolId", + type: "uint16", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint16", + name: "slippage", + type: "uint16", + }, + { + internalType: "address", + name: "destStargateComposed", + type: "address", + }, + ], + internalType: "struct StargateFacet.StargateData", + name: "_data", + type: "tuple", }, { internalType: "contract IStargateRouter", @@ -288,12 +398,12 @@ const _abi = [ type: "uint16", }, { - internalType: "uint256", + internalType: "address", name: "destStargateComposed", - type: "uint256", + type: "address", }, ], - internalType: "struct StargateFacet.StargateTransferData", + internalType: "struct StargateFacet.StargateData", name: "_data", type: "tuple", }, @@ -306,7 +416,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b5061257a806100206000396000f3fe60806040526004361061004a5760003560e01c80632d64c4d61461004f578063a7e7ba7814610078578063ab8236f314610094578063ce36ebd3146100bd578063eff1bb1f146100d9575b600080fd5b34801561005b57600080fd5b506100766004803603810190610071919061139a565b610116565b005b610092600480360381019061008d919061143b565b6102b9565b005b3480156100a057600080fd5b506100bb60048036038101906100b691906114dd565b610692565b005b6100d760048036038101906100d29190611412565b61078c565b005b3480156100e557600080fd5b5061010060048036038101906100fb919061148e565b610aa7565b60405161010d9190611e49565b60405180910390f35b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156101805750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6101bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b690611c27565b60405180910390fd5b6101c7610ba4565b60006101d1610c3f565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818160010160146101000a81548161ffff021916908361ffff1602179055507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb8484846040516102ab93929190611a69565b60405180910390a150505050565b60006102c3610c6c565b9050600181600001541415610304576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060003411610351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034890611bc7565b60405180910390fd5b6000826000013511610398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038f90611c87565b60405180910390fd5b60006103a2610c99565b905060006103d58460400160208101906103bc9190611465565b8560a00160208101906103cf9190611348565b84610aa7565b905060006127108560c00160208101906103ef9190611465565b6127106103fc9190611f99565b61ffff16866000013561040f9190611f3f565b6104199190611f0e565b905060008560e0013560405160200161043291906119b7565b604051602081830303815290604052905060008660a00160208101906104589190611348565b60405160200161046891906119d2565b60405160208183030381529060405290506104bc333089600001358a60200160208101906104969190611348565b73ffffffffffffffffffffffffffffffffffffffff16610ccc909392919063ffffffff16565b6104fd8588600001358960200160208101906104d89190611348565b73ffffffffffffffffffffffffffffffffffffffff16610d559092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc8589604001602081019061052d9190611465565b8a60600160208101906105409190611465565b8b60800160208101906105539190611465565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b81526004016105d499989796959493929190611da7565b6000604051808303818588803b1580156105ed57600080fd5b505af1158015610601573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a86687602001602081019061063a9190611348565b338960a001602081019061064e9190611348565b8a600001358b60400160208101906106669190611465565b604051610677959493929190611a16565b60405180910390a15050505050600081600001819055505050565b61069a610c99565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fe90611c07565b60405180910390fd5b60008180602001905181019061071d9190611371565b905061074a81848673ffffffffffffffffffffffffffffffffffffffff16610eb39092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c848460405161077b929190611b1c565b60405180910390a150505050505050565b6000610796610c6c565b90506001816000015414156107d7576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060003411610824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081b90611ca7565b60405180910390fd5b600082600001351161086b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086290611c87565b60405180910390fd5b816000013534116108b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a890611be7565b60405180910390fd5b60006108bb610f39565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561092d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092490611b87565b60405180910390fd5b60008360400160208101906109429190611348565b6040516020016109529190611985565b6040516020818303038152906040529050600061271085606001602081019061097b9190611465565b6127106109889190611f99565b61ffff16866000013561099b9190611f3f565b6109a59190611f0e565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a348760200160208101906109d79190611465565b33868a60000135876040518763ffffffff1660e01b81526004016109ff959493929190611ce7565b6000604051808303818588803b158015610a1857600080fd5b505af1158015610a2c573d6000803e3d6000fd5b50505050507f080b5c39604783610b00b0195fe910d6da4148788b0ce0726bd8c6821227394733866040016020810190610a669190611348565b8760000135886020016020810190610a7e9190611465565b604051610a8e9493929190611ad7565b60405180910390a1505050600081600001819055505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236986600187604051602001610ada9190611985565b604051602081830303815290604052604051806060016040528062030d408152602001600081526020016000604051602001610b169190611985565b6040516020818303038152906040528152506040518563ffffffff1660e01b8152600401610b479493929190611d41565b604080518083038186803b158015610b5e57600080fd5b505afa158015610b72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9691906115bf565b509050809150509392505050565b610bac610f6c565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3490611b67565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000610ca3610c3f565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d4f846323b872dd60e01b858585604051602401610ced93929190611aa0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f99565b50505050565b6000811480610dee575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610d9c9291906119ed565b60206040518083038186803b158015610db457600080fd5b505afa158015610dc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dec9190611596565b145b610e2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2490611cc7565b60405180910390fd5b610eae8363095ea7b360e01b8484604051602401610e4c929190611b1c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f99565b505050565b610f348363a9059cbb60e01b8484604051602401610ed2929190611b1c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610f99565b505050565b6000610f43610c3f565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610ffb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166110609092919063ffffffff16565b905060008151111561105b578080602001905181019061101b91906113e9565b61105a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105190611c67565b60405180910390fd5b5b505050565b606061106f8484600085611078565b90509392505050565b6060824710156110bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b490611ba7565b60405180910390fd5b6110c68561118c565b611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc90611c47565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161112e91906119a0565b60006040518083038185875af1925050503d806000811461116b576040519150601f19603f3d011682016040523d82523d6000602084013e611170565b606091505b50915091506111808282866111af565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606083156111bf5782905061120f565b6000835111156111d25782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112069190611b45565b60405180910390fd5b9392505050565b600061122961122484611e89565b611e64565b90508281526020810184848401111561124157600080fd5b61124c848285612078565b509392505050565b600081359050611263816124e3565b92915050565b600081519050611278816124fa565b92915050565b60008151905061128d81612511565b92915050565b600082601f8301126112a457600080fd5b81356112b4848260208601611216565b91505092915050565b6000813590506112cc81612528565b92915050565b6000608082840312156112e457600080fd5b81905092915050565b6000610100828403121561130057600080fd5b81905092915050565b6000813590506113188161253f565b92915050565b60008135905061132d81612556565b92915050565b60008151905061134281612556565b92915050565b60006020828403121561135a57600080fd5b600061136884828501611254565b91505092915050565b60006020828403121561138357600080fd5b600061139184828501611269565b91505092915050565b6000806000606084860312156113af57600080fd5b60006113bd86828701611254565b93505060206113ce86828701611254565b92505060406113df86828701611309565b9150509250925092565b6000602082840312156113fb57600080fd5b60006114098482850161127e565b91505092915050565b60006080828403121561142457600080fd5b6000611432848285016112d2565b91505092915050565b6000610100828403121561144e57600080fd5b600061145c848285016112ed565b91505092915050565b60006020828403121561147757600080fd5b600061148584828501611309565b91505092915050565b6000806000606084860312156114a357600080fd5b60006114b186828701611309565b93505060206114c286828701611254565b92505060406114d3868287016112bd565b9150509250925092565b60008060008060008060c087890312156114f657600080fd5b600061150489828a01611309565b965050602087013567ffffffffffffffff81111561152157600080fd5b61152d89828a01611293565b955050604061153e89828a0161131e565b945050606061154f89828a01611254565b935050608061156089828a0161131e565b92505060a087013567ffffffffffffffff81111561157d57600080fd5b61158989828a01611293565b9150509295509295509295565b6000602082840312156115a857600080fd5b60006115b684828501611333565b91505092915050565b600080604083850312156115d257600080fd5b60006115e085828601611333565b92505060206115f185828601611333565b9150509250929050565b61160481611fdf565b82525050565b61161381611fcd565b82525050565b61162a61162582611fcd565b6120eb565b82525050565b600061163b82611eba565b6116458185611ed0565b9350611655818560208601612087565b61165e816121a6565b840191505092915050565b600061167482611eba565b61167e8185611ee1565b935061168e818560208601612087565b611697816121a6565b840191505092915050565b60006116ad82611eba565b6116b78185611ef2565b93506116c7818560208601612087565b80840191505092915050565b6116dc81612054565b82525050565b60006116ed82611ec5565b6116f78185611efd565b9350611707818560208601612087565b611710816121a6565b840191505092915050565b6000611728602283611efd565b9150611733826121c4565b604082019050919050565b600061174b602583611efd565b915061175682612213565b604082019050919050565b600061176e600283611ee1565b915061177982612262565b602082019050919050565b6000611791602683611efd565b915061179c8261228b565b604082019050919050565b60006117b4602c83611efd565b91506117bf826122da565b604082019050919050565b60006117d7602883611efd565b91506117e282612329565b604082019050919050565b60006117fa601f83611efd565b915061180582612378565b602082019050919050565b600061181d601a83611efd565b9150611828826123a1565b602082019050919050565b6000611840601d83611efd565b915061184b826123ca565b602082019050919050565b6000611863602a83611efd565b915061186e826123f3565b604082019050919050565b6000611886601b83611efd565b915061189182612442565b602082019050919050565b60006118a9601d83611efd565b91506118b48261246b565b602082019050919050565b60006118cc603683611efd565b91506118d782612494565b604082019050919050565b60006060830160008301516118fa6000860182611950565b50602083015161190d6020860182611950565b50604083015184820360408601526119258282611630565b9150508091505092915050565b61193b8161200f565b82525050565b61194a81612066565b82525050565b6119598161203d565b82525050565b6119688161203d565b82525050565b61197f61197a8261203d565b61210f565b82525050565b60006119918284611619565b60148201915081905092915050565b60006119ac82846116a2565b915081905092915050565b60006119c3828461196e565b60208201915081905092915050565b60006020820190506119e7600083018461160a565b92915050565b6000604082019050611a02600083018561160a565b611a0f602083018461160a565b9392505050565b600060a082019050611a2b600083018861160a565b611a38602083018761160a565b611a45604083018661160a565b611a52606083018561195f565b611a5f6080830184611932565b9695505050505050565b6000606082019050611a7e600083018661160a565b611a8b602083018561160a565b611a986040830184611932565b949350505050565b6000606082019050611ab5600083018661160a565b611ac2602083018561160a565b611acf604083018461195f565b949350505050565b6000608082019050611aec600083018761160a565b611af9602083018661160a565b611b06604083018561195f565b611b136060830184611932565b95945050505050565b6000604082019050611b31600083018561160a565b611b3e602083018461195f565b9392505050565b60006020820190508181036000830152611b5f81846116e2565b905092915050565b60006020820190508181036000830152611b808161171b565b9050919050565b60006020820190508181036000830152611ba08161173e565b9050919050565b60006020820190508181036000830152611bc081611784565b9050919050565b60006020820190508181036000830152611be0816117a7565b9050919050565b60006020820190508181036000830152611c00816117ca565b9050919050565b60006020820190508181036000830152611c20816117ed565b9050919050565b60006020820190508181036000830152611c4081611810565b9050919050565b60006020820190508181036000830152611c6081611833565b9050919050565b60006020820190508181036000830152611c8081611856565b9050919050565b60006020820190508181036000830152611ca081611879565b9050919050565b60006020820190508181036000830152611cc08161189c565b9050919050565b60006020820190508181036000830152611ce0816118bf565b9050919050565b600060a082019050611cfc6000830188611932565b611d0960208301876115fb565b8181036040830152611d1b8186611669565b9050611d2a606083018561195f565b611d37608083018461195f565b9695505050505050565b600060a082019050611d566000830187611932565b611d6360208301866116d3565b8181036040830152611d758185611669565b90508181036060830152611d8881611761565b90508181036080830152611d9c81846118e2565b905095945050505050565b600061012082019050611dbd600083018c611932565b611dca602083018b611941565b611dd7604083018a611941565b611de460608301896115fb565b611df1608083018861195f565b611dfe60a083018761195f565b81810360c0830152611e1081866118e2565b905081810360e0830152611e248185611669565b9050818103610100830152611e398184611669565b90509a9950505050505050505050565b6000602082019050611e5e600083018461195f565b92915050565b6000611e6e611e7f565b9050611e7a82826120ba565b919050565b6000604051905090565b600067ffffffffffffffff821115611ea457611ea3612177565b5b611ead826121a6565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000611f198261203d565b9150611f248361203d565b925082611f3457611f33612148565b5b828204905092915050565b6000611f4a8261203d565b9150611f558361203d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611f8e57611f8d612119565b5b828202905092915050565b6000611fa48261200f565b9150611faf8361200f565b925082821015611fc257611fc1612119565b5b828203905092915050565b6000611fd88261201d565b9050919050565b6000611fea8261201d565b9050919050565b60008115159050919050565b600061200882611fcd565b9050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061205f82612047565b9050919050565b60006120718261200f565b9050919050565b82818337600083830152505050565b60005b838110156120a557808201518184015260208101905061208a565b838111156120b4576000848401525b50505050565b6120c3826121a6565b810181811067ffffffffffffffff821117156120e2576120e1612177565b5b80604052505050565b60006120f6826120fd565b9050919050565b6000612108826121b7565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b7f3078000000000000000000000000000000000000000000000000000000000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f53746172676174653a3a20696e76616c69642061646472657373000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b6124ec81611fcd565b81146124f757600080fd5b50565b61250381611fdf565b811461250e57600080fd5b50565b61251a81611ff1565b811461252557600080fd5b50565b61253181611ffd565b811461253c57600080fd5b50565b6125488161200f565b811461255357600080fd5b50565b61255f8161203d565b811461256a57600080fd5b5056fea164736f6c6343000804000a"; + "0x60a060405261271060809081525034801561001957600080fd5b50608051612c8261004a600039600081816103210152818161035901528181610b680152610ba00152612c826000f3fe6080604052600436106100705760003560e01c8063be9899101161004e578063be989910146100e3578063ce36ebd314610120578063d61bf1fa1461013c578063e08e50711461016557610070565b8063295d4d41146100755780638083a0db1461009e578063ab8236f3146100ba575b600080fd5b34801561008157600080fd5b5061009c60048036038101906100979190611ace565b6101a2565b005b6100b860048036038101906100b39190611909565b610224565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906119c3565b61062e565b005b3480156100ef57600080fd5b5061010a60048036038101906101059190611933565b610728565b6040516101179190612425565b60405180910390f35b61013a60048036038101906101359190611971565b610887565b005b34801561014857600080fd5b50610163600480360381019061015e9190611860565b610cf1565b005b34801561017157600080fd5b5061018c60048036038101906101879190611a7c565b610f78565b60405161019991906122a6565b60405180910390f35b6101aa610fff565b60006101b461109a565b90508181600201600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc8383604051610217929190612440565b60405180910390a1505050565b600061022e6110c7565b905060018160000154141561026f576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160000181905550600034116102bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b390612146565b60405180910390fd5b6000826000013511610303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fa90612226565b60405180910390fd5b600061030d6110f4565b9050600061031b8483610728565b905060007f00000000000000000000000000000000000000000000000000000000000000008560c0016020810190610353919061199a565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610382919061259e565b86600001356103919190612544565b61039b9190612513565b905060008560e00160208101906103b2919061180e565b6040516020016103c29190611eff565b604051602081830303815290604052905060008660a00160208101906103e8919061180e565b6040516020016103f89190611f31565b604051602081830303815290604052905061044c333089600001358a6020016020810190610426919061180e565b73ffffffffffffffffffffffffffffffffffffffff16611127909392919063ffffffff16565b61048d858860000135896020016020810190610468919061180e565b73ffffffffffffffffffffffffffffffffffffffff166111b09092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc856104c98a60400160208101906104c0919061199a565b61ffff16610f78565b8a60600160208101906104dc919061199a565b8b60800160208101906104ef919061199a565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161057099989796959493929190612383565b6000604051808303818588803b15801561058957600080fd5b505af115801561059d573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a8668760200160208101906105d6919061180e565b338960a00160208101906105ea919061180e565b8a600001358b6040016020810190610602919061199a565b604051610613959493929190611f75565b60405180910390a15050505050600081600001819055505050565b6106366110f4565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069a906121a6565b60405180910390fd5b6000818060200190518101906106b99190611837565b90506106e681848673ffffffffffffffffffffffffffffffffffffffff1661130e9092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c848460405161071792919061207b565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236961076686604001602081019061075d919061199a565b61ffff16610f78565b60018760e001602081019061077b919061180e565b60405160200161078b9190611eff565b6040516020818303038152906040528860a00160208101906107ad919061180e565b6040516020016107bd9190611f31565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016107f99190611eff565b6040516020818303038152906040528152506040518663ffffffff1660e01b815260040161082b95949392919061231b565b604080518083038186803b15801561084257600080fd5b505afa158015610856573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087a9190611b0a565b5090508091505092915050565b60006108916110c7565b90506001816000015414156108d2576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060006108e6611394565b61ffff16905060018114806108fc575061a4b181145b806109075750600a81145b610946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093d906120c6565b60405180910390fd5b600183602001602081019061095b919061199a565b61ffff161480610982575061a4b183602001602081019061097c919061199a565b61ffff16145b806109a35750600a83602001602081019061099d919061199a565b61ffff16145b6109e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d990612286565b60405180910390fd5b60003411610a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1c90612246565b60405180910390fd5b6000836000013511610a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6390612226565b60405180910390fd5b82600001353411610ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa990612166565b60405180910390fd5b6000610abc6113b5565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2590612106565b60405180910390fd5b6000846040016020810190610b43919061180e565b604051602001610b539190611eff565b604051602081830303815290604052905060007f0000000000000000000000000000000000000000000000000000000000000000866060016020810190610b9a919061199a565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610bc9919061259e565b8760000135610bd89190612544565b610be29190612513565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a34610c20896020016020810190610c17919061199a565b61ffff16610f78565b33868b60000135876040518763ffffffff1660e01b8152600401610c489594939291906122c1565b6000604051808303818588803b158015610c6157600080fd5b505af1158015610c75573d6000803e3d6000fd5b50505050507f96d8881a4aa5dbc2504224c656dc33918e070ada05b7379f89ef88e706bec7ce33876040016020810190610caf919061180e565b8860000135896020016020810190610cc7919061199a565b604051610cd79493929190612036565b60405180910390a150505050600081600001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015610d5b5750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b610d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d91906121c6565b60405180910390fd5b610da2610fff565b6000610dac61109a565b9050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160146101000a81548161ffff021916908361ffff16021790555060005b83839050811015610f3457838382818110610e9a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050604002016020016020810190610eb2919061199a565b826002016000868685818110610ef1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610f2d906126f0565b9050610e56565b507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb868686604051610f6893929190611fc8565b60405180910390a1505050505050565b600080610f8361109a565b9050600081600201600085815260200190815260200160002060009054906101000a900461ffff16905060008161ffff161415610ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fec90612186565b60405180910390fd5b8092505050919050565b6110076113e8565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611098576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108f906120e6565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b60006110fe61109a565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6111aa846323b872dd60e01b85858560405160240161114893929190611fff565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611415565b50505050565b6000811480611249575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016111f7929190611f4c565b60206040518083038186803b15801561120f57600080fd5b505afa158015611223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112479190611aa5565b145b611288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127f90612266565b60405180910390fd5b6113098363095ea7b360e01b84846040516024016112a792919061207b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611415565b505050565b61138f8363a9059cbb60e01b848460405160240161132d92919061207b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611415565b505050565b600061139e61109a565b60010160149054906101000a900461ffff16905090565b60006113bf61109a565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000611477826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114dc9092919063ffffffff16565b90506000815111156114d7578080602001905181019061149791906118e0565b6114d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cd90612206565b60405180910390fd5b5b505050565b60606114eb84846000856114f4565b90509392505050565b606082471015611539576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153090612126565b60405180910390fd5b61154285611608565b611581576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611578906121e6565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115aa9190611f1a565b60006040518083038185875af1925050503d80600081146115e7576040519150601f19603f3d011682016040523d82523d6000602084013e6115ec565b606091505b50915091506115fc82828661162b565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060831561163b5782905061168b565b60008351111561164e5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168291906120a4565b60405180910390fd5b9392505050565b60006116a56116a08461248e565b612469565b9050828152602081018484840111156116bd57600080fd5b6116c884828561267d565b509392505050565b6000813590506116df81612beb565b92915050565b6000815190506116f481612c02565b92915050565b60008083601f84011261170c57600080fd5b8235905067ffffffffffffffff81111561172557600080fd5b60208301915083604082028301111561173d57600080fd5b9250929050565b60008151905061175381612c19565b92915050565b600082601f83011261176a57600080fd5b813561177a848260208601611692565b91505092915050565b60008135905061179281612c30565b92915050565b600061010082840312156117ab57600080fd5b81905092915050565b6000608082840312156117c657600080fd5b81905092915050565b6000813590506117de81612c47565b92915050565b6000813590506117f381612c5e565b92915050565b60008151905061180881612c5e565b92915050565b60006020828403121561182057600080fd5b600061182e848285016116d0565b91505092915050565b60006020828403121561184957600080fd5b6000611857848285016116e5565b91505092915050565b60008060008060006080868803121561187857600080fd5b6000611886888289016116d0565b9550506020611897888289016116d0565b94505060406118a8888289016117cf565b935050606086013567ffffffffffffffff8111156118c557600080fd5b6118d1888289016116fa565b92509250509295509295909350565b6000602082840312156118f257600080fd5b600061190084828501611744565b91505092915050565b6000610100828403121561191c57600080fd5b600061192a84828501611798565b91505092915050565b600080610120838503121561194757600080fd5b600061195585828601611798565b92505061010061196785828601611783565b9150509250929050565b60006080828403121561198357600080fd5b6000611991848285016117b4565b91505092915050565b6000602082840312156119ac57600080fd5b60006119ba848285016117cf565b91505092915050565b60008060008060008060c087890312156119dc57600080fd5b60006119ea89828a016117cf565b965050602087013567ffffffffffffffff811115611a0757600080fd5b611a1389828a01611759565b9550506040611a2489828a016117e4565b9450506060611a3589828a016116d0565b9350506080611a4689828a016117e4565b92505060a087013567ffffffffffffffff811115611a6357600080fd5b611a6f89828a01611759565b9150509295509295509295565b600060208284031215611a8e57600080fd5b6000611a9c848285016117e4565b91505092915050565b600060208284031215611ab757600080fd5b6000611ac5848285016117f9565b91505092915050565b60008060408385031215611ae157600080fd5b6000611aef858286016117e4565b9250506020611b00858286016117cf565b9150509250929050565b60008060408385031215611b1d57600080fd5b6000611b2b858286016117f9565b9250506020611b3c858286016117f9565b9150509250929050565b611b4f816125e4565b82525050565b611b5e816125d2565b82525050565b611b75611b70826125d2565b612739565b82525050565b6000611b86826124bf565b611b9081856124d5565b9350611ba081856020860161268c565b611ba9816127ea565b840191505092915050565b6000611bbf826124bf565b611bc981856124e6565b9350611bd981856020860161268c565b611be2816127ea565b840191505092915050565b6000611bf8826124bf565b611c0281856124f7565b9350611c1281856020860161268c565b80840191505092915050565b611c2781612659565b82525050565b6000611c38826124ca565b611c428185612502565b9350611c5281856020860161268c565b611c5b816127ea565b840191505092915050565b6000611c73603583612502565b9150611c7e82612808565b604082019050919050565b6000611c96602283612502565b9150611ca182612857565b604082019050919050565b6000611cb9602583612502565b9150611cc4826128a6565b604082019050919050565b6000611cdc602683612502565b9150611ce7826128f5565b604082019050919050565b6000611cff602c83612502565b9150611d0a82612944565b604082019050919050565b6000611d22602883612502565b9150611d2d82612993565b604082019050919050565b6000611d45603183612502565b9150611d50826129e2565b604082019050919050565b6000611d68601f83612502565b9150611d7382612a31565b602082019050919050565b6000611d8b601a83612502565b9150611d9682612a5a565b602082019050919050565b6000611dae601d83612502565b9150611db982612a83565b602082019050919050565b6000611dd1602a83612502565b9150611ddc82612aac565b604082019050919050565b6000611df4601b83612502565b9150611dff82612afb565b602082019050919050565b6000611e17601d83612502565b9150611e2282612b24565b602082019050919050565b6000611e3a603683612502565b9150611e4582612b4d565b604082019050919050565b6000611e5d603383612502565b9150611e6882612b9c565b604082019050919050565b6000606083016000830151611e8b6000860182611ee1565b506020830151611e9e6020860182611ee1565b5060408301518482036040860152611eb68282611b7b565b9150508091505092915050565b611ecc81612614565b82525050565b611edb8161266b565b82525050565b611eea81612642565b82525050565b611ef981612642565b82525050565b6000611f0b8284611b64565b60148201915081905092915050565b6000611f268284611bed565b915081905092915050565b6000602082019050611f466000830184611b55565b92915050565b6000604082019050611f616000830185611b55565b611f6e6020830184611b55565b9392505050565b600060a082019050611f8a6000830188611b55565b611f976020830187611b55565b611fa46040830186611b55565b611fb16060830185611ef0565b611fbe6080830184611ec3565b9695505050505050565b6000606082019050611fdd6000830186611b55565b611fea6020830185611b55565b611ff76040830184611ec3565b949350505050565b60006060820190506120146000830186611b55565b6120216020830185611b55565b61202e6040830184611ef0565b949350505050565b600060808201905061204b6000830187611b55565b6120586020830186611b55565b6120656040830185611ef0565b6120726060830184611ec3565b95945050505050565b60006040820190506120906000830185611b55565b61209d6020830184611ef0565b9392505050565b600060208201905081810360008301526120be8184611c2d565b905092915050565b600060208201905081810360008301526120df81611c66565b9050919050565b600060208201905081810360008301526120ff81611c89565b9050919050565b6000602082019050818103600083015261211f81611cac565b9050919050565b6000602082019050818103600083015261213f81611ccf565b9050919050565b6000602082019050818103600083015261215f81611cf2565b9050919050565b6000602082019050818103600083015261217f81611d15565b9050919050565b6000602082019050818103600083015261219f81611d38565b9050919050565b600060208201905081810360008301526121bf81611d5b565b9050919050565b600060208201905081810360008301526121df81611d7e565b9050919050565b600060208201905081810360008301526121ff81611da1565b9050919050565b6000602082019050818103600083015261221f81611dc4565b9050919050565b6000602082019050818103600083015261223f81611de7565b9050919050565b6000602082019050818103600083015261225f81611e0a565b9050919050565b6000602082019050818103600083015261227f81611e2d565b9050919050565b6000602082019050818103600083015261229f81611e50565b9050919050565b60006020820190506122bb6000830184611ec3565b92915050565b600060a0820190506122d66000830188611ec3565b6122e36020830187611b46565b81810360408301526122f58186611bb4565b90506123046060830185611ef0565b6123116080830184611ef0565b9695505050505050565b600060a0820190506123306000830188611ec3565b61233d6020830187611c1e565b818103604083015261234f8186611bb4565b905081810360608301526123638185611bb4565b905081810360808301526123778184611e73565b90509695505050505050565b600061012082019050612399600083018c611ec3565b6123a6602083018b611ed2565b6123b3604083018a611ed2565b6123c06060830189611b46565b6123cd6080830188611ef0565b6123da60a0830187611ef0565b81810360c08301526123ec8186611e73565b905081810360e08301526124008185611bb4565b90508181036101008301526124158184611bb4565b90509a9950505050505050505050565b600060208201905061243a6000830184611ef0565b92915050565b60006040820190506124556000830185611ef0565b6124626020830184611ec3565b9392505050565b6000612473612484565b905061247f82826126bf565b919050565b6000604051905090565b600067ffffffffffffffff8211156124a9576124a86127bb565b5b6124b2826127ea565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061251e82612642565b915061252983612642565b9250826125395761253861278c565b5b828204905092915050565b600061254f82612642565b915061255a83612642565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156125935761259261275d565b5b828202905092915050565b60006125a982612642565b91506125b483612642565b9250828210156125c7576125c661275d565b5b828203905092915050565b60006125dd82612622565b9050919050565b60006125ef82612622565b9050919050565b60008115159050919050565b600061260d826125d2565b9050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126648261264c565b9050919050565b600061267682612614565b9050919050565b82818337600083830152505050565b60005b838110156126aa57808201518184015260208101905061268f565b838111156126b9576000848401525b50505050565b6126c8826127ea565b810181811067ffffffffffffffff821117156126e7576126e66127bb565b5b80604052505050565b60006126fb82612642565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561272e5761272d61275d565b5b600182019050919050565b60006127448261274b565b9050919050565b6000612756826127fb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f53746172676174653a3a20696e76616c69642061646472657373000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b612bf4816125d2565b8114612bff57600080fd5b50565b612c0b816125e4565b8114612c1657600080fd5b50565b612c22816125f6565b8114612c2d57600080fd5b50565b612c3981612602565b8114612c4457600080fd5b50565b612c5081612614565b8114612c5b57600080fd5b50565b612c6781612642565b8114612c7257600080fd5b5056fea164736f6c6343000804000a"; type StargateFacetConstructorParams = | [signer?: Signer] diff --git a/typings/factories/StringsLib__factory.ts b/typings/factories/StringsLib__factory.ts new file mode 100644 index 00000000..748d520c --- /dev/null +++ b/typings/factories/StringsLib__factory.ts @@ -0,0 +1,109 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { StringsLib, StringsLibInterface } from "../StringsLib"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes8", + name: "c__203ff449", + type: "bytes8", + }, + ], + name: "c_203ff449", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__203ff449", + type: "bytes8", + }, + ], + name: "c_false203ff449", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__203ff449", + type: "bytes8", + }, + ], + name: "c_true203ff449", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, +]; + +const _bytecode = + "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806343fbc10d14610050578063979df09c146100af578063dfeff3d81461010e575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b60405180821515815260200191505060405180910390f35b6100f6600480360360208110156100c557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061015e565b60405180821515815260200191505060405180910390f35b6101556004803603602081101561012457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610169565b005b6000919050565b600060019050919050565b5056fea164736f6c634300060c000a"; + +type StringsLibConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: StringsLibConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class StringsLib__factory extends ContractFactory { + constructor(...args: StringsLibConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + deploy( + overrides?: Overrides & { from?: string | Promise } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + getDeployTransaction( + overrides?: Overrides & { from?: string | Promise } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + attach(address: string): StringsLib { + return super.attach(address) as StringsLib; + } + connect(signer: Signer): StringsLib__factory { + return super.connect(signer) as StringsLib__factory; + } + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): StringsLibInterface { + return new utils.Interface(_abi) as StringsLibInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): StringsLib { + return new Contract(address, _abi, signerOrProvider) as StringsLib; + } +} diff --git a/typings/factories/SwapUtils__factory.ts b/typings/factories/SwapUtils__factory.ts deleted file mode 100644 index c8600303..00000000 --- a/typings/factories/SwapUtils__factory.ts +++ /dev/null @@ -1,299 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { SwapUtils, SwapUtilsInterface } from "../SwapUtils"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "bytes32", - name: "key", - type: "bytes32", - }, - { - indexed: true, - internalType: "address", - name: "provider", - type: "address", - }, - { - indexed: false, - internalType: "uint256[]", - name: "tokenAmounts", - type: "uint256[]", - }, - { - indexed: false, - internalType: "uint256[]", - name: "fees", - type: "uint256[]", - }, - { - indexed: false, - internalType: "uint256", - name: "invariant", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "lpTokenSupply", - type: "uint256", - }, - ], - name: "AddLiquidity", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "bytes32", - name: "key", - type: "bytes32", - }, - { - indexed: false, - internalType: "uint256", - name: "newAdminFee", - type: "uint256", - }, - ], - name: "NewAdminFee", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "bytes32", - name: "key", - type: "bytes32", - }, - { - indexed: false, - internalType: "uint256", - name: "newSwapFee", - type: "uint256", - }, - ], - name: "NewSwapFee", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "bytes32", - name: "key", - type: "bytes32", - }, - { - indexed: true, - internalType: "address", - name: "provider", - type: "address", - }, - { - indexed: false, - internalType: "uint256[]", - name: "tokenAmounts", - type: "uint256[]", - }, - { - indexed: false, - internalType: "uint256", - name: "lpTokenSupply", - type: "uint256", - }, - ], - name: "RemoveLiquidity", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "bytes32", - name: "key", - type: "bytes32", - }, - { - indexed: true, - internalType: "address", - name: "provider", - type: "address", - }, - { - indexed: false, - internalType: "uint256[]", - name: "tokenAmounts", - type: "uint256[]", - }, - { - indexed: false, - internalType: "uint256[]", - name: "fees", - type: "uint256[]", - }, - { - indexed: false, - internalType: "uint256", - name: "invariant", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "lpTokenSupply", - type: "uint256", - }, - ], - name: "RemoveLiquidityImbalance", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "bytes32", - name: "key", - type: "bytes32", - }, - { - indexed: true, - internalType: "address", - name: "provider", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "lpTokenAmount", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "lpTokenSupply", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "boughtId", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "tokensBought", - type: "uint256", - }, - ], - name: "RemoveLiquidityOne", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "bytes32", - name: "key", - type: "bytes32", - }, - { - indexed: true, - internalType: "address", - name: "buyer", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "tokensSold", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "tokensBought", - type: "uint256", - }, - { - indexed: false, - internalType: "uint128", - name: "soldId", - type: "uint128", - }, - { - indexed: false, - internalType: "uint128", - name: "boughtId", - type: "uint128", - }, - ], - name: "TokenSwap", - type: "event", - }, -]; - -const _bytecode = - "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fe3255418198d05cb59f80673e371c7cbe2ccb41266274a70918938b377ab77a64736f6c63430008110033"; - -type SwapUtilsConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: SwapUtilsConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class SwapUtils__factory extends ContractFactory { - constructor(...args: SwapUtilsConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - } - - deploy( - overrides?: Overrides & { from?: string | Promise } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - getDeployTransaction( - overrides?: Overrides & { from?: string | Promise } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - attach(address: string): SwapUtils { - return super.attach(address) as SwapUtils; - } - connect(signer: Signer): SwapUtils__factory { - return super.connect(signer) as SwapUtils__factory; - } - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): SwapUtilsInterface { - return new utils.Interface(_abi) as SwapUtilsInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): SwapUtils { - return new Contract(address, _abi, signerOrProvider) as SwapUtils; - } -} diff --git a/typings/factories/TypedMemView__factory.ts b/typings/factories/TypedMemView__factory.ts deleted file mode 100644 index 16815f3f..00000000 --- a/typings/factories/TypedMemView__factory.ts +++ /dev/null @@ -1,138 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { TypedMemView, TypedMemViewInterface } from "../TypedMemView"; - -const _abi = [ - { - inputs: [ - { - internalType: "uint256", - name: "actual", - type: "uint256", - }, - { - internalType: "uint256", - name: "expected", - type: "uint256", - }, - ], - name: "TypedMemView__assertType_typeAssertionFailed", - type: "error", - }, - { - inputs: [], - name: "TypedMemView__assertValid_validityAssertionFailed", - type: "error", - }, - { - inputs: [], - name: "TypedMemView__index_indexMoreThan32Bytes", - type: "error", - }, - { - inputs: [ - { - internalType: "uint256", - name: "loc", - type: "uint256", - }, - { - internalType: "uint256", - name: "len", - type: "uint256", - }, - { - internalType: "uint256", - name: "index", - type: "uint256", - }, - { - internalType: "uint256", - name: "slice", - type: "uint256", - }, - ], - name: "TypedMemView__index_overrun", - type: "error", - }, - { - inputs: [], - name: "TypedMemView__unsafeCopyTo_identityOOG", - type: "error", - }, - { - inputs: [], - name: "TypedMemView__unsafeCopyTo_invalidPointer", - type: "error", - }, - { - inputs: [], - name: "TypedMemView__unsafeCopyTo_nullPointer", - type: "error", - }, - { - inputs: [], - name: "NULL", - outputs: [ - { - internalType: "bytes29", - name: "", - type: "bytes29", - }, - ], - stateMutability: "view", - type: "function", - }, -]; - -const _bytecode = - "0x60fe610052600b82828239805160001a607314610045577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063f26be3fc146038575b600080fd5b603e6052565b6040516049919060af565b60405180910390f35b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000081565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000082169050919050565b60a9816076565b82525050565b600060208201905060c2600083018460a2565b9291505056fea2646970667358221220b4c6d51394dd56dea414ace3c64f6f6657812e662d881bbae525d54dbb571f8364736f6c63430008110033"; - -type TypedMemViewConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: TypedMemViewConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class TypedMemView__factory extends ContractFactory { - constructor(...args: TypedMemViewConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - } - - deploy( - overrides?: Overrides & { from?: string | Promise } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - getDeployTransaction( - overrides?: Overrides & { from?: string | Promise } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - attach(address: string): TypedMemView { - return super.attach(address) as TypedMemView; - } - connect(signer: Signer): TypedMemView__factory { - return super.connect(signer) as TypedMemView__factory; - } - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): TypedMemViewInterface { - return new utils.Interface(_abi) as TypedMemViewInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): TypedMemView { - return new Contract(address, _abi, signerOrProvider) as TypedMemView; - } -} diff --git a/typings/index.ts b/typings/index.ts index 53399398..3e1842ed 100644 --- a/typings/index.ts +++ b/typings/index.ts @@ -1,27 +1,6 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -export type { LPToken } from "./LPToken"; -export type { IConnext } from "./IConnext"; -export type { IDiamondCut } from "./IDiamondCut"; -export type { IDiamondLoupe } from "./IDiamondLoupe"; -export type { IStableSwap } from "./IStableSwap"; -export type { AmplificationUtils } from "./AmplificationUtils"; -export type { AssetLogic } from "./AssetLogic"; -export type { Constants } from "./Constants"; -export type { LibDiamond } from "./LibDiamond"; -export type { SwapUtils } from "./SwapUtils"; -export type { IConnectorManager } from "./IConnectorManager"; -export type { IOutbox } from "./IOutbox"; -export type { TypedMemView } from "./TypedMemView"; -export type { OwnableUpgradeable } from "./OwnableUpgradeable"; -export type { Initializable } from "./Initializable"; -export type { ERC20Upgradeable } from "./ERC20Upgradeable"; -export type { ERC20BurnableUpgradeable } from "./ERC20BurnableUpgradeable"; -export type { IERC20MetadataUpgradeable } from "./IERC20MetadataUpgradeable"; -export type { IERC20Upgradeable } from "./IERC20Upgradeable"; -export type { ContextUpgradeable } from "./ContextUpgradeable"; -export type { IERC20Metadata } from "./IERC20Metadata"; export type { IERC20 } from "./IERC20"; export type { ISuperAgreement } from "./ISuperAgreement"; export type { ISuperfluidToken } from "./ISuperfluidToken"; @@ -33,7 +12,11 @@ export type { DiamondLoupeFacet } from "./DiamondLoupeFacet"; export type { HopFacet } from "./HopFacet"; export type { OwnershipFacet } from "./OwnershipFacet"; export type { StargateFacet } from "./StargateFacet"; +export type { SGReceiver } from "./SGReceiver"; export type { ICBridge } from "./ICBridge"; +export type { IConnext } from "./IConnext"; +export type { IDiamondCut } from "./IDiamondCut"; +export type { IDiamondLoupe } from "./IDiamondLoupe"; export type { IERC165 } from "./IERC165"; export type { IERC173 } from "./IERC173"; export type { IHopBridge } from "./IHopBridge"; @@ -41,6 +24,7 @@ export type { IWETH } from "./IWETH"; export type { IStargateReceiver } from "./IStargateReceiver"; export type { IStargateRouter } from "./IStargateRouter"; export type { IStargateRouterETH } from "./IStargateRouterETH"; +export type { LibDiamond } from "./LibDiamond"; export type { Controlled } from "./Controlled"; export type { Guarded } from "./Guarded"; export type { GuardedMock } from "./GuardedMock"; @@ -55,6 +39,7 @@ export type { AccountRegistryMock } from "./AccountRegistryMock"; export type { BalancesHelper } from "./BalancesHelper"; export type { BalancesHelperV2 } from "./BalancesHelperV2"; export type { ReentrancyGuard } from "./ReentrancyGuard"; +export type { Initializable } from "./Initializable"; export type { SignatureValidator } from "./SignatureValidator"; export type { ERC20Token } from "./ERC20Token"; export type { ENSController } from "./ENSController"; @@ -76,27 +61,6 @@ export type { PersonalAccountImplementationV1 } from "./PersonalAccountImplement export type { PersonalAccountRegistry } from "./PersonalAccountRegistry"; export type { WrappedWeiToken } from "./WrappedWeiToken"; -export { LPToken__factory } from "./factories/LPToken__factory"; -export { IConnext__factory } from "./factories/IConnext__factory"; -export { IDiamondCut__factory } from "./factories/IDiamondCut__factory"; -export { IDiamondLoupe__factory } from "./factories/IDiamondLoupe__factory"; -export { IStableSwap__factory } from "./factories/IStableSwap__factory"; -export { AmplificationUtils__factory } from "./factories/AmplificationUtils__factory"; -export { AssetLogic__factory } from "./factories/AssetLogic__factory"; -export { Constants__factory } from "./factories/Constants__factory"; -export { LibDiamond__factory } from "./factories/LibDiamond__factory"; -export { SwapUtils__factory } from "./factories/SwapUtils__factory"; -export { IConnectorManager__factory } from "./factories/IConnectorManager__factory"; -export { IOutbox__factory } from "./factories/IOutbox__factory"; -export { TypedMemView__factory } from "./factories/TypedMemView__factory"; -export { OwnableUpgradeable__factory } from "./factories/OwnableUpgradeable__factory"; -export { Initializable__factory } from "./factories/Initializable__factory"; -export { ERC20Upgradeable__factory } from "./factories/ERC20Upgradeable__factory"; -export { ERC20BurnableUpgradeable__factory } from "./factories/ERC20BurnableUpgradeable__factory"; -export { IERC20MetadataUpgradeable__factory } from "./factories/IERC20MetadataUpgradeable__factory"; -export { IERC20Upgradeable__factory } from "./factories/IERC20Upgradeable__factory"; -export { ContextUpgradeable__factory } from "./factories/ContextUpgradeable__factory"; -export { IERC20Metadata__factory } from "./factories/IERC20Metadata__factory"; export { IERC20__factory } from "./factories/IERC20__factory"; export { ISuperAgreement__factory } from "./factories/ISuperAgreement__factory"; export { ISuperfluidToken__factory } from "./factories/ISuperfluidToken__factory"; @@ -108,7 +72,11 @@ export { DiamondLoupeFacet__factory } from "./factories/DiamondLoupeFacet__facto export { HopFacet__factory } from "./factories/HopFacet__factory"; export { OwnershipFacet__factory } from "./factories/OwnershipFacet__factory"; export { StargateFacet__factory } from "./factories/StargateFacet__factory"; +export { SGReceiver__factory } from "./factories/SGReceiver__factory"; export { ICBridge__factory } from "./factories/ICBridge__factory"; +export { IConnext__factory } from "./factories/IConnext__factory"; +export { IDiamondCut__factory } from "./factories/IDiamondCut__factory"; +export { IDiamondLoupe__factory } from "./factories/IDiamondLoupe__factory"; export { IERC165__factory } from "./factories/IERC165__factory"; export { IERC173__factory } from "./factories/IERC173__factory"; export { IHopBridge__factory } from "./factories/IHopBridge__factory"; @@ -116,6 +84,7 @@ export { IWETH__factory } from "./factories/IWETH__factory"; export { IStargateReceiver__factory } from "./factories/IStargateReceiver__factory"; export { IStargateRouter__factory } from "./factories/IStargateRouter__factory"; export { IStargateRouterETH__factory } from "./factories/IStargateRouterETH__factory"; +export { LibDiamond__factory } from "./factories/LibDiamond__factory"; export { Controlled__factory } from "./factories/Controlled__factory"; export { Guarded__factory } from "./factories/Guarded__factory"; export { GuardedMock__factory } from "./factories/GuardedMock__factory"; @@ -130,6 +99,7 @@ export { AccountRegistryMock__factory } from "./factories/AccountRegistryMock__f export { BalancesHelper__factory } from "./factories/BalancesHelper__factory"; export { BalancesHelperV2__factory } from "./factories/BalancesHelperV2__factory"; export { ReentrancyGuard__factory } from "./factories/ReentrancyGuard__factory"; +export { Initializable__factory } from "./factories/Initializable__factory"; export { SignatureValidator__factory } from "./factories/SignatureValidator__factory"; export { ERC20Token__factory } from "./factories/ERC20Token__factory"; export { ENSController__factory } from "./factories/ENSController__factory"; diff --git a/utils/diamond.ts b/utils/diamond.ts index 409a35b9..3538c578 100644 --- a/utils/diamond.ts +++ b/utils/diamond.ts @@ -1,57 +1,57 @@ -import { constants, Contract } from 'ethers' -import { Fragment, FunctionFragment } from 'ethers/lib/utils' -import { ethers } from 'hardhat' -import { IDiamondCut, IDiamondLoupe } from '../typings' +import { constants, Contract } from "ethers"; +import { Fragment, FunctionFragment } from "ethers/lib/utils"; +import { ethers } from "hardhat"; +import { IDiamondCut, IDiamondLoupe } from "../typings"; export function getSelectors(contract: Contract): string[] { const selectors = contract.interface.fragments.reduce( (acc: string[], val: Fragment) => { - if (val.type === 'function') { - const sig = contract.interface.getSighash(val as FunctionFragment) - acc.push(sig) - return acc + if (val.type === "function") { + const sig = contract.interface.getSighash(val as FunctionFragment); + acc.push(sig); + return acc; } else { - return acc + return acc; } }, - [] - ) - return selectors + [], + ); + return selectors; } export const FacetCutAction = { Add: 0, Replace: 1, Remove: 2, -} +}; export async function addOrReplaceFacets( facets: Contract[], diamondAddress: string, initContract: string = constants.AddressZero, - initData = '0x' + initData = "0x", ): Promise { const loupe = ( - await ethers.getContractAt('IDiamondLoupe', diamondAddress) - ) + await ethers.getContractAt("IDiamondLoupe", diamondAddress) + ); - const cut = [] + const cut = []; for (const f of facets) { - const replaceSelectors = [] - const addSelectors = [] + const replaceSelectors = []; + const addSelectors = []; - const selectors = getSelectors(f) + const selectors = getSelectors(f); for (const s of selectors) { - const addr = await loupe.facetAddress(s) + const addr = await loupe.facetAddress(s); if (addr === constants.AddressZero) { - addSelectors.push(s) - continue + addSelectors.push(s); + continue; } if (addr.toLowerCase() !== f.address.toLowerCase()) { - replaceSelectors.push(s) + replaceSelectors.push(s); } } @@ -60,79 +60,73 @@ export async function addOrReplaceFacets( facetAddress: f.address, action: FacetCutAction.Replace, functionSelectors: replaceSelectors, - }) + }); } if (addSelectors.length) { cut.push({ facetAddress: f.address, action: FacetCutAction.Add, functionSelectors: addSelectors, - }) + }); } } if (!cut.length) { - console.log('No facets to add or replace.') - return + console.log("No facets to add or replace."); + return; } const cutter = ( - await ethers.getContractAt('DiamondCutFacet', diamondAddress) - ) + await ethers.getContractAt("DiamondCutFacet", diamondAddress) + ); - console.log('Adding/Replacing facets...') const tx = await cutter.diamondCut(cut, initContract, initData, { // gasLimit: 800000, - }) - console.log('Diamond cut tx: ', tx.hash) - const receipt = await tx.wait() + }); + const receipt = await tx.wait(); if (!receipt.status) { - throw Error(`Diamond upgrade failed: ${tx.hash}`) + throw Error(`Diamond upgrade failed: ${tx.hash}`); } - console.log('Done.') } export async function addFacets( facets: Contract[], diamondAddress: string, initContract: string = constants.AddressZero, - initData = '0x' + initData = "0x", ): Promise { - const cut = [] + const cut = []; for (const f of facets) { - const selectors = getSelectors(f) + const selectors = getSelectors(f); cut.push({ facetAddress: f.address, action: FacetCutAction.Add, functionSelectors: selectors, - }) + }); } if (!cut.length) { - console.log('No facets to add or replace.') - return + console.log("No facets to add or replace."); + return; } const cutter = ( - await ethers.getContractAt('DiamondCutFacet', diamondAddress) - ) + await ethers.getContractAt("DiamondCutFacet", diamondAddress) + ); - console.log('Adding facets...') const tx = await cutter.diamondCut(cut, initContract, initData, { // gasLimit: 800000, - }) - console.log('Diamond cut tx: ', tx.hash) - const receipt = await tx.wait() + }); + const receipt = await tx.wait(); if (!receipt.status) { - throw Error(`Diamond upgrade failed: ${tx.hash}`) + throw Error(`Diamond upgrade failed: ${tx.hash}`); } - console.log('Done.') } export async function removeFacet( selectors: string[], - diamondAddress: string + diamondAddress: string, ): Promise { const cut = [ { @@ -140,31 +134,28 @@ export async function removeFacet( action: FacetCutAction.Remove, functionSelectors: selectors, }, - ] + ]; const cutter = ( - await ethers.getContractAt('DiamondCutFacet', diamondAddress) - ) + await ethers.getContractAt("DiamondCutFacet", diamondAddress) + ); - console.log('Removing facet...') - const tx = await cutter.diamondCut(cut, constants.AddressZero, '0x', { + const tx = await cutter.diamondCut(cut, constants.AddressZero, "0x", { // gasLimit: 800000, - }) - console.log('Diamond cut tx: ', tx.hash) - const receipt = await tx.wait() + }); + const receipt = await tx.wait(); if (!receipt.status) { - throw Error(`Diamond upgrade failed: ${tx.hash}`) + throw Error(`Diamond upgrade failed: ${tx.hash}`); } - console.log('Done.') } export async function replaceFacet( facet: Contract, diamondAddress: string, initContract: string = constants.AddressZero, - initData = '0x' + initData = "0x", ): Promise { - const selectors = getSelectors(facet) + const selectors = getSelectors(facet); const cut = [ { @@ -172,20 +163,17 @@ export async function replaceFacet( action: FacetCutAction.Replace, functionSelectors: selectors, }, - ] + ]; const cutter = ( - await ethers.getContractAt('DiamondCutFacet', diamondAddress) - ) + await ethers.getContractAt("DiamondCutFacet", diamondAddress) + ); - console.log('Replacing facet...') const tx = await cutter.diamondCut(cut, initContract, initData, { // gasLimit: 800000, - }) - console.log('Diamond cut tx: ', tx.hash) - const receipt = await tx.wait() + }); + const receipt = await tx.wait(); if (!receipt.status) { - throw Error(`Diamond upgrade failed: ${tx.hash}`) + throw Error(`Diamond upgrade failed: ${tx.hash}`); } - console.log('Done.') } From 342ff07848c9a8db433592195a9978f474f05299 Mon Sep 17 00:00:00 2001 From: lbw33 <71776468+lbw33@users.noreply.github.com> Date: Tue, 4 Jul 2023 16:51:49 +0100 Subject: [PATCH 3/8] Added carat to DiamondReentrancyGuard so it will work with StargateFacet. Removed zero address check for eth router on init as not all chains have one. --- artifacts/StargateFacet.json | 4 ++-- src/bridges/facets/StargateFacet.sol | 4 ++-- src/common/helpers/DiamondReentrancyGuard.sol | 2 +- test/bridges/StargateFacet.ts | 14 +------------- typings/factories/StargateFacet__factory.ts | 2 +- 5 files changed, 7 insertions(+), 19 deletions(-) diff --git a/artifacts/StargateFacet.json b/artifacts/StargateFacet.json index 1aaf8d67..2f3c03b7 100644 --- a/artifacts/StargateFacet.json +++ b/artifacts/StargateFacet.json @@ -411,8 +411,8 @@ "type": "function" } ], - "bytecode": "0x60a060405261271060809081525034801561001957600080fd5b50608051612c8261004a600039600081816103210152818161035901528181610b680152610ba00152612c826000f3fe6080604052600436106100705760003560e01c8063be9899101161004e578063be989910146100e3578063ce36ebd314610120578063d61bf1fa1461013c578063e08e50711461016557610070565b8063295d4d41146100755780638083a0db1461009e578063ab8236f3146100ba575b600080fd5b34801561008157600080fd5b5061009c60048036038101906100979190611ace565b6101a2565b005b6100b860048036038101906100b39190611909565b610224565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906119c3565b61062e565b005b3480156100ef57600080fd5b5061010a60048036038101906101059190611933565b610728565b6040516101179190612425565b60405180910390f35b61013a60048036038101906101359190611971565b610887565b005b34801561014857600080fd5b50610163600480360381019061015e9190611860565b610cf1565b005b34801561017157600080fd5b5061018c60048036038101906101879190611a7c565b610f78565b60405161019991906122a6565b60405180910390f35b6101aa610fff565b60006101b461109a565b90508181600201600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc8383604051610217929190612440565b60405180910390a1505050565b600061022e6110c7565b905060018160000154141561026f576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160000181905550600034116102bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b390612146565b60405180910390fd5b6000826000013511610303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fa90612226565b60405180910390fd5b600061030d6110f4565b9050600061031b8483610728565b905060007f00000000000000000000000000000000000000000000000000000000000000008560c0016020810190610353919061199a565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610382919061259e565b86600001356103919190612544565b61039b9190612513565b905060008560e00160208101906103b2919061180e565b6040516020016103c29190611eff565b604051602081830303815290604052905060008660a00160208101906103e8919061180e565b6040516020016103f89190611f31565b604051602081830303815290604052905061044c333089600001358a6020016020810190610426919061180e565b73ffffffffffffffffffffffffffffffffffffffff16611127909392919063ffffffff16565b61048d858860000135896020016020810190610468919061180e565b73ffffffffffffffffffffffffffffffffffffffff166111b09092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc856104c98a60400160208101906104c0919061199a565b61ffff16610f78565b8a60600160208101906104dc919061199a565b8b60800160208101906104ef919061199a565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161057099989796959493929190612383565b6000604051808303818588803b15801561058957600080fd5b505af115801561059d573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a8668760200160208101906105d6919061180e565b338960a00160208101906105ea919061180e565b8a600001358b6040016020810190610602919061199a565b604051610613959493929190611f75565b60405180910390a15050505050600081600001819055505050565b6106366110f4565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069a906121a6565b60405180910390fd5b6000818060200190518101906106b99190611837565b90506106e681848673ffffffffffffffffffffffffffffffffffffffff1661130e9092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c848460405161071792919061207b565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236961076686604001602081019061075d919061199a565b61ffff16610f78565b60018760e001602081019061077b919061180e565b60405160200161078b9190611eff565b6040516020818303038152906040528860a00160208101906107ad919061180e565b6040516020016107bd9190611f31565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016107f99190611eff565b6040516020818303038152906040528152506040518663ffffffff1660e01b815260040161082b95949392919061231b565b604080518083038186803b15801561084257600080fd5b505afa158015610856573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087a9190611b0a565b5090508091505092915050565b60006108916110c7565b90506001816000015414156108d2576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060006108e6611394565b61ffff16905060018114806108fc575061a4b181145b806109075750600a81145b610946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093d906120c6565b60405180910390fd5b600183602001602081019061095b919061199a565b61ffff161480610982575061a4b183602001602081019061097c919061199a565b61ffff16145b806109a35750600a83602001602081019061099d919061199a565b61ffff16145b6109e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d990612286565b60405180910390fd5b60003411610a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1c90612246565b60405180910390fd5b6000836000013511610a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6390612226565b60405180910390fd5b82600001353411610ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa990612166565b60405180910390fd5b6000610abc6113b5565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2590612106565b60405180910390fd5b6000846040016020810190610b43919061180e565b604051602001610b539190611eff565b604051602081830303815290604052905060007f0000000000000000000000000000000000000000000000000000000000000000866060016020810190610b9a919061199a565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610bc9919061259e565b8760000135610bd89190612544565b610be29190612513565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a34610c20896020016020810190610c17919061199a565b61ffff16610f78565b33868b60000135876040518763ffffffff1660e01b8152600401610c489594939291906122c1565b6000604051808303818588803b158015610c6157600080fd5b505af1158015610c75573d6000803e3d6000fd5b50505050507f96d8881a4aa5dbc2504224c656dc33918e070ada05b7379f89ef88e706bec7ce33876040016020810190610caf919061180e565b8860000135896020016020810190610cc7919061199a565b604051610cd79493929190612036565b60405180910390a150505050600081600001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015610d5b5750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b610d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d91906121c6565b60405180910390fd5b610da2610fff565b6000610dac61109a565b9050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160146101000a81548161ffff021916908361ffff16021790555060005b83839050811015610f3457838382818110610e9a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050604002016020016020810190610eb2919061199a565b826002016000868685818110610ef1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610f2d906126f0565b9050610e56565b507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb868686604051610f6893929190611fc8565b60405180910390a1505050505050565b600080610f8361109a565b9050600081600201600085815260200190815260200160002060009054906101000a900461ffff16905060008161ffff161415610ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fec90612186565b60405180910390fd5b8092505050919050565b6110076113e8565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611098576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108f906120e6565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b60006110fe61109a565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6111aa846323b872dd60e01b85858560405160240161114893929190611fff565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611415565b50505050565b6000811480611249575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016111f7929190611f4c565b60206040518083038186803b15801561120f57600080fd5b505afa158015611223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112479190611aa5565b145b611288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127f90612266565b60405180910390fd5b6113098363095ea7b360e01b84846040516024016112a792919061207b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611415565b505050565b61138f8363a9059cbb60e01b848460405160240161132d92919061207b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611415565b505050565b600061139e61109a565b60010160149054906101000a900461ffff16905090565b60006113bf61109a565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000611477826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114dc9092919063ffffffff16565b90506000815111156114d7578080602001905181019061149791906118e0565b6114d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cd90612206565b60405180910390fd5b5b505050565b60606114eb84846000856114f4565b90509392505050565b606082471015611539576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153090612126565b60405180910390fd5b61154285611608565b611581576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611578906121e6565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115aa9190611f1a565b60006040518083038185875af1925050503d80600081146115e7576040519150601f19603f3d011682016040523d82523d6000602084013e6115ec565b606091505b50915091506115fc82828661162b565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060831561163b5782905061168b565b60008351111561164e5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168291906120a4565b60405180910390fd5b9392505050565b60006116a56116a08461248e565b612469565b9050828152602081018484840111156116bd57600080fd5b6116c884828561267d565b509392505050565b6000813590506116df81612beb565b92915050565b6000815190506116f481612c02565b92915050565b60008083601f84011261170c57600080fd5b8235905067ffffffffffffffff81111561172557600080fd5b60208301915083604082028301111561173d57600080fd5b9250929050565b60008151905061175381612c19565b92915050565b600082601f83011261176a57600080fd5b813561177a848260208601611692565b91505092915050565b60008135905061179281612c30565b92915050565b600061010082840312156117ab57600080fd5b81905092915050565b6000608082840312156117c657600080fd5b81905092915050565b6000813590506117de81612c47565b92915050565b6000813590506117f381612c5e565b92915050565b60008151905061180881612c5e565b92915050565b60006020828403121561182057600080fd5b600061182e848285016116d0565b91505092915050565b60006020828403121561184957600080fd5b6000611857848285016116e5565b91505092915050565b60008060008060006080868803121561187857600080fd5b6000611886888289016116d0565b9550506020611897888289016116d0565b94505060406118a8888289016117cf565b935050606086013567ffffffffffffffff8111156118c557600080fd5b6118d1888289016116fa565b92509250509295509295909350565b6000602082840312156118f257600080fd5b600061190084828501611744565b91505092915050565b6000610100828403121561191c57600080fd5b600061192a84828501611798565b91505092915050565b600080610120838503121561194757600080fd5b600061195585828601611798565b92505061010061196785828601611783565b9150509250929050565b60006080828403121561198357600080fd5b6000611991848285016117b4565b91505092915050565b6000602082840312156119ac57600080fd5b60006119ba848285016117cf565b91505092915050565b60008060008060008060c087890312156119dc57600080fd5b60006119ea89828a016117cf565b965050602087013567ffffffffffffffff811115611a0757600080fd5b611a1389828a01611759565b9550506040611a2489828a016117e4565b9450506060611a3589828a016116d0565b9350506080611a4689828a016117e4565b92505060a087013567ffffffffffffffff811115611a6357600080fd5b611a6f89828a01611759565b9150509295509295509295565b600060208284031215611a8e57600080fd5b6000611a9c848285016117e4565b91505092915050565b600060208284031215611ab757600080fd5b6000611ac5848285016117f9565b91505092915050565b60008060408385031215611ae157600080fd5b6000611aef858286016117e4565b9250506020611b00858286016117cf565b9150509250929050565b60008060408385031215611b1d57600080fd5b6000611b2b858286016117f9565b9250506020611b3c858286016117f9565b9150509250929050565b611b4f816125e4565b82525050565b611b5e816125d2565b82525050565b611b75611b70826125d2565b612739565b82525050565b6000611b86826124bf565b611b9081856124d5565b9350611ba081856020860161268c565b611ba9816127ea565b840191505092915050565b6000611bbf826124bf565b611bc981856124e6565b9350611bd981856020860161268c565b611be2816127ea565b840191505092915050565b6000611bf8826124bf565b611c0281856124f7565b9350611c1281856020860161268c565b80840191505092915050565b611c2781612659565b82525050565b6000611c38826124ca565b611c428185612502565b9350611c5281856020860161268c565b611c5b816127ea565b840191505092915050565b6000611c73603583612502565b9150611c7e82612808565b604082019050919050565b6000611c96602283612502565b9150611ca182612857565b604082019050919050565b6000611cb9602583612502565b9150611cc4826128a6565b604082019050919050565b6000611cdc602683612502565b9150611ce7826128f5565b604082019050919050565b6000611cff602c83612502565b9150611d0a82612944565b604082019050919050565b6000611d22602883612502565b9150611d2d82612993565b604082019050919050565b6000611d45603183612502565b9150611d50826129e2565b604082019050919050565b6000611d68601f83612502565b9150611d7382612a31565b602082019050919050565b6000611d8b601a83612502565b9150611d9682612a5a565b602082019050919050565b6000611dae601d83612502565b9150611db982612a83565b602082019050919050565b6000611dd1602a83612502565b9150611ddc82612aac565b604082019050919050565b6000611df4601b83612502565b9150611dff82612afb565b602082019050919050565b6000611e17601d83612502565b9150611e2282612b24565b602082019050919050565b6000611e3a603683612502565b9150611e4582612b4d565b604082019050919050565b6000611e5d603383612502565b9150611e6882612b9c565b604082019050919050565b6000606083016000830151611e8b6000860182611ee1565b506020830151611e9e6020860182611ee1565b5060408301518482036040860152611eb68282611b7b565b9150508091505092915050565b611ecc81612614565b82525050565b611edb8161266b565b82525050565b611eea81612642565b82525050565b611ef981612642565b82525050565b6000611f0b8284611b64565b60148201915081905092915050565b6000611f268284611bed565b915081905092915050565b6000602082019050611f466000830184611b55565b92915050565b6000604082019050611f616000830185611b55565b611f6e6020830184611b55565b9392505050565b600060a082019050611f8a6000830188611b55565b611f976020830187611b55565b611fa46040830186611b55565b611fb16060830185611ef0565b611fbe6080830184611ec3565b9695505050505050565b6000606082019050611fdd6000830186611b55565b611fea6020830185611b55565b611ff76040830184611ec3565b949350505050565b60006060820190506120146000830186611b55565b6120216020830185611b55565b61202e6040830184611ef0565b949350505050565b600060808201905061204b6000830187611b55565b6120586020830186611b55565b6120656040830185611ef0565b6120726060830184611ec3565b95945050505050565b60006040820190506120906000830185611b55565b61209d6020830184611ef0565b9392505050565b600060208201905081810360008301526120be8184611c2d565b905092915050565b600060208201905081810360008301526120df81611c66565b9050919050565b600060208201905081810360008301526120ff81611c89565b9050919050565b6000602082019050818103600083015261211f81611cac565b9050919050565b6000602082019050818103600083015261213f81611ccf565b9050919050565b6000602082019050818103600083015261215f81611cf2565b9050919050565b6000602082019050818103600083015261217f81611d15565b9050919050565b6000602082019050818103600083015261219f81611d38565b9050919050565b600060208201905081810360008301526121bf81611d5b565b9050919050565b600060208201905081810360008301526121df81611d7e565b9050919050565b600060208201905081810360008301526121ff81611da1565b9050919050565b6000602082019050818103600083015261221f81611dc4565b9050919050565b6000602082019050818103600083015261223f81611de7565b9050919050565b6000602082019050818103600083015261225f81611e0a565b9050919050565b6000602082019050818103600083015261227f81611e2d565b9050919050565b6000602082019050818103600083015261229f81611e50565b9050919050565b60006020820190506122bb6000830184611ec3565b92915050565b600060a0820190506122d66000830188611ec3565b6122e36020830187611b46565b81810360408301526122f58186611bb4565b90506123046060830185611ef0565b6123116080830184611ef0565b9695505050505050565b600060a0820190506123306000830188611ec3565b61233d6020830187611c1e565b818103604083015261234f8186611bb4565b905081810360608301526123638185611bb4565b905081810360808301526123778184611e73565b90509695505050505050565b600061012082019050612399600083018c611ec3565b6123a6602083018b611ed2565b6123b3604083018a611ed2565b6123c06060830189611b46565b6123cd6080830188611ef0565b6123da60a0830187611ef0565b81810360c08301526123ec8186611e73565b905081810360e08301526124008185611bb4565b90508181036101008301526124158184611bb4565b90509a9950505050505050505050565b600060208201905061243a6000830184611ef0565b92915050565b60006040820190506124556000830185611ef0565b6124626020830184611ec3565b9392505050565b6000612473612484565b905061247f82826126bf565b919050565b6000604051905090565b600067ffffffffffffffff8211156124a9576124a86127bb565b5b6124b2826127ea565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061251e82612642565b915061252983612642565b9250826125395761253861278c565b5b828204905092915050565b600061254f82612642565b915061255a83612642565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156125935761259261275d565b5b828202905092915050565b60006125a982612642565b91506125b483612642565b9250828210156125c7576125c661275d565b5b828203905092915050565b60006125dd82612622565b9050919050565b60006125ef82612622565b9050919050565b60008115159050919050565b600061260d826125d2565b9050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126648261264c565b9050919050565b600061267682612614565b9050919050565b82818337600083830152505050565b60005b838110156126aa57808201518184015260208101905061268f565b838111156126b9576000848401525b50505050565b6126c8826127ea565b810181811067ffffffffffffffff821117156126e7576126e66127bb565b5b80604052505050565b60006126fb82612642565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561272e5761272d61275d565b5b600182019050919050565b60006127448261274b565b9050919050565b6000612756826127fb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f53746172676174653a3a20696e76616c69642061646472657373000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b612bf4816125d2565b8114612bff57600080fd5b50565b612c0b816125e4565b8114612c1657600080fd5b50565b612c22816125f6565b8114612c2d57600080fd5b50565b612c3981612602565b8114612c4457600080fd5b50565b612c5081612614565b8114612c5b57600080fd5b50565b612c6781612642565b8114612c7257600080fd5b5056fea164736f6c6343000804000a", - "deployedBytecode": "0x6080604052600436106100705760003560e01c8063be9899101161004e578063be989910146100e3578063ce36ebd314610120578063d61bf1fa1461013c578063e08e50711461016557610070565b8063295d4d41146100755780638083a0db1461009e578063ab8236f3146100ba575b600080fd5b34801561008157600080fd5b5061009c60048036038101906100979190611ace565b6101a2565b005b6100b860048036038101906100b39190611909565b610224565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906119c3565b61062e565b005b3480156100ef57600080fd5b5061010a60048036038101906101059190611933565b610728565b6040516101179190612425565b60405180910390f35b61013a60048036038101906101359190611971565b610887565b005b34801561014857600080fd5b50610163600480360381019061015e9190611860565b610cf1565b005b34801561017157600080fd5b5061018c60048036038101906101879190611a7c565b610f78565b60405161019991906122a6565b60405180910390f35b6101aa610fff565b60006101b461109a565b90508181600201600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc8383604051610217929190612440565b60405180910390a1505050565b600061022e6110c7565b905060018160000154141561026f576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160000181905550600034116102bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b390612146565b60405180910390fd5b6000826000013511610303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fa90612226565b60405180910390fd5b600061030d6110f4565b9050600061031b8483610728565b905060007f00000000000000000000000000000000000000000000000000000000000000008560c0016020810190610353919061199a565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610382919061259e565b86600001356103919190612544565b61039b9190612513565b905060008560e00160208101906103b2919061180e565b6040516020016103c29190611eff565b604051602081830303815290604052905060008660a00160208101906103e8919061180e565b6040516020016103f89190611f31565b604051602081830303815290604052905061044c333089600001358a6020016020810190610426919061180e565b73ffffffffffffffffffffffffffffffffffffffff16611127909392919063ffffffff16565b61048d858860000135896020016020810190610468919061180e565b73ffffffffffffffffffffffffffffffffffffffff166111b09092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc856104c98a60400160208101906104c0919061199a565b61ffff16610f78565b8a60600160208101906104dc919061199a565b8b60800160208101906104ef919061199a565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161057099989796959493929190612383565b6000604051808303818588803b15801561058957600080fd5b505af115801561059d573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a8668760200160208101906105d6919061180e565b338960a00160208101906105ea919061180e565b8a600001358b6040016020810190610602919061199a565b604051610613959493929190611f75565b60405180910390a15050505050600081600001819055505050565b6106366110f4565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069a906121a6565b60405180910390fd5b6000818060200190518101906106b99190611837565b90506106e681848673ffffffffffffffffffffffffffffffffffffffff1661130e9092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c848460405161071792919061207b565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236961076686604001602081019061075d919061199a565b61ffff16610f78565b60018760e001602081019061077b919061180e565b60405160200161078b9190611eff565b6040516020818303038152906040528860a00160208101906107ad919061180e565b6040516020016107bd9190611f31565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016107f99190611eff565b6040516020818303038152906040528152506040518663ffffffff1660e01b815260040161082b95949392919061231b565b604080518083038186803b15801561084257600080fd5b505afa158015610856573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087a9190611b0a565b5090508091505092915050565b60006108916110c7565b90506001816000015414156108d2576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060006108e6611394565b61ffff16905060018114806108fc575061a4b181145b806109075750600a81145b610946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093d906120c6565b60405180910390fd5b600183602001602081019061095b919061199a565b61ffff161480610982575061a4b183602001602081019061097c919061199a565b61ffff16145b806109a35750600a83602001602081019061099d919061199a565b61ffff16145b6109e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d990612286565b60405180910390fd5b60003411610a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1c90612246565b60405180910390fd5b6000836000013511610a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6390612226565b60405180910390fd5b82600001353411610ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa990612166565b60405180910390fd5b6000610abc6113b5565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2590612106565b60405180910390fd5b6000846040016020810190610b43919061180e565b604051602001610b539190611eff565b604051602081830303815290604052905060007f0000000000000000000000000000000000000000000000000000000000000000866060016020810190610b9a919061199a565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610bc9919061259e565b8760000135610bd89190612544565b610be29190612513565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a34610c20896020016020810190610c17919061199a565b61ffff16610f78565b33868b60000135876040518763ffffffff1660e01b8152600401610c489594939291906122c1565b6000604051808303818588803b158015610c6157600080fd5b505af1158015610c75573d6000803e3d6000fd5b50505050507f96d8881a4aa5dbc2504224c656dc33918e070ada05b7379f89ef88e706bec7ce33876040016020810190610caf919061180e565b8860000135896020016020810190610cc7919061199a565b604051610cd79493929190612036565b60405180910390a150505050600081600001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015610d5b5750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b610d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d91906121c6565b60405180910390fd5b610da2610fff565b6000610dac61109a565b9050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160146101000a81548161ffff021916908361ffff16021790555060005b83839050811015610f3457838382818110610e9a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050604002016020016020810190610eb2919061199a565b826002016000868685818110610ef1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610f2d906126f0565b9050610e56565b507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb868686604051610f6893929190611fc8565b60405180910390a1505050505050565b600080610f8361109a565b9050600081600201600085815260200190815260200160002060009054906101000a900461ffff16905060008161ffff161415610ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fec90612186565b60405180910390fd5b8092505050919050565b6110076113e8565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611098576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108f906120e6565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b60006110fe61109a565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6111aa846323b872dd60e01b85858560405160240161114893929190611fff565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611415565b50505050565b6000811480611249575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016111f7929190611f4c565b60206040518083038186803b15801561120f57600080fd5b505afa158015611223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112479190611aa5565b145b611288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127f90612266565b60405180910390fd5b6113098363095ea7b360e01b84846040516024016112a792919061207b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611415565b505050565b61138f8363a9059cbb60e01b848460405160240161132d92919061207b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611415565b505050565b600061139e61109a565b60010160149054906101000a900461ffff16905090565b60006113bf61109a565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000611477826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114dc9092919063ffffffff16565b90506000815111156114d7578080602001905181019061149791906118e0565b6114d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cd90612206565b60405180910390fd5b5b505050565b60606114eb84846000856114f4565b90509392505050565b606082471015611539576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153090612126565b60405180910390fd5b61154285611608565b611581576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611578906121e6565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115aa9190611f1a565b60006040518083038185875af1925050503d80600081146115e7576040519150601f19603f3d011682016040523d82523d6000602084013e6115ec565b606091505b50915091506115fc82828661162b565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060831561163b5782905061168b565b60008351111561164e5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168291906120a4565b60405180910390fd5b9392505050565b60006116a56116a08461248e565b612469565b9050828152602081018484840111156116bd57600080fd5b6116c884828561267d565b509392505050565b6000813590506116df81612beb565b92915050565b6000815190506116f481612c02565b92915050565b60008083601f84011261170c57600080fd5b8235905067ffffffffffffffff81111561172557600080fd5b60208301915083604082028301111561173d57600080fd5b9250929050565b60008151905061175381612c19565b92915050565b600082601f83011261176a57600080fd5b813561177a848260208601611692565b91505092915050565b60008135905061179281612c30565b92915050565b600061010082840312156117ab57600080fd5b81905092915050565b6000608082840312156117c657600080fd5b81905092915050565b6000813590506117de81612c47565b92915050565b6000813590506117f381612c5e565b92915050565b60008151905061180881612c5e565b92915050565b60006020828403121561182057600080fd5b600061182e848285016116d0565b91505092915050565b60006020828403121561184957600080fd5b6000611857848285016116e5565b91505092915050565b60008060008060006080868803121561187857600080fd5b6000611886888289016116d0565b9550506020611897888289016116d0565b94505060406118a8888289016117cf565b935050606086013567ffffffffffffffff8111156118c557600080fd5b6118d1888289016116fa565b92509250509295509295909350565b6000602082840312156118f257600080fd5b600061190084828501611744565b91505092915050565b6000610100828403121561191c57600080fd5b600061192a84828501611798565b91505092915050565b600080610120838503121561194757600080fd5b600061195585828601611798565b92505061010061196785828601611783565b9150509250929050565b60006080828403121561198357600080fd5b6000611991848285016117b4565b91505092915050565b6000602082840312156119ac57600080fd5b60006119ba848285016117cf565b91505092915050565b60008060008060008060c087890312156119dc57600080fd5b60006119ea89828a016117cf565b965050602087013567ffffffffffffffff811115611a0757600080fd5b611a1389828a01611759565b9550506040611a2489828a016117e4565b9450506060611a3589828a016116d0565b9350506080611a4689828a016117e4565b92505060a087013567ffffffffffffffff811115611a6357600080fd5b611a6f89828a01611759565b9150509295509295509295565b600060208284031215611a8e57600080fd5b6000611a9c848285016117e4565b91505092915050565b600060208284031215611ab757600080fd5b6000611ac5848285016117f9565b91505092915050565b60008060408385031215611ae157600080fd5b6000611aef858286016117e4565b9250506020611b00858286016117cf565b9150509250929050565b60008060408385031215611b1d57600080fd5b6000611b2b858286016117f9565b9250506020611b3c858286016117f9565b9150509250929050565b611b4f816125e4565b82525050565b611b5e816125d2565b82525050565b611b75611b70826125d2565b612739565b82525050565b6000611b86826124bf565b611b9081856124d5565b9350611ba081856020860161268c565b611ba9816127ea565b840191505092915050565b6000611bbf826124bf565b611bc981856124e6565b9350611bd981856020860161268c565b611be2816127ea565b840191505092915050565b6000611bf8826124bf565b611c0281856124f7565b9350611c1281856020860161268c565b80840191505092915050565b611c2781612659565b82525050565b6000611c38826124ca565b611c428185612502565b9350611c5281856020860161268c565b611c5b816127ea565b840191505092915050565b6000611c73603583612502565b9150611c7e82612808565b604082019050919050565b6000611c96602283612502565b9150611ca182612857565b604082019050919050565b6000611cb9602583612502565b9150611cc4826128a6565b604082019050919050565b6000611cdc602683612502565b9150611ce7826128f5565b604082019050919050565b6000611cff602c83612502565b9150611d0a82612944565b604082019050919050565b6000611d22602883612502565b9150611d2d82612993565b604082019050919050565b6000611d45603183612502565b9150611d50826129e2565b604082019050919050565b6000611d68601f83612502565b9150611d7382612a31565b602082019050919050565b6000611d8b601a83612502565b9150611d9682612a5a565b602082019050919050565b6000611dae601d83612502565b9150611db982612a83565b602082019050919050565b6000611dd1602a83612502565b9150611ddc82612aac565b604082019050919050565b6000611df4601b83612502565b9150611dff82612afb565b602082019050919050565b6000611e17601d83612502565b9150611e2282612b24565b602082019050919050565b6000611e3a603683612502565b9150611e4582612b4d565b604082019050919050565b6000611e5d603383612502565b9150611e6882612b9c565b604082019050919050565b6000606083016000830151611e8b6000860182611ee1565b506020830151611e9e6020860182611ee1565b5060408301518482036040860152611eb68282611b7b565b9150508091505092915050565b611ecc81612614565b82525050565b611edb8161266b565b82525050565b611eea81612642565b82525050565b611ef981612642565b82525050565b6000611f0b8284611b64565b60148201915081905092915050565b6000611f268284611bed565b915081905092915050565b6000602082019050611f466000830184611b55565b92915050565b6000604082019050611f616000830185611b55565b611f6e6020830184611b55565b9392505050565b600060a082019050611f8a6000830188611b55565b611f976020830187611b55565b611fa46040830186611b55565b611fb16060830185611ef0565b611fbe6080830184611ec3565b9695505050505050565b6000606082019050611fdd6000830186611b55565b611fea6020830185611b55565b611ff76040830184611ec3565b949350505050565b60006060820190506120146000830186611b55565b6120216020830185611b55565b61202e6040830184611ef0565b949350505050565b600060808201905061204b6000830187611b55565b6120586020830186611b55565b6120656040830185611ef0565b6120726060830184611ec3565b95945050505050565b60006040820190506120906000830185611b55565b61209d6020830184611ef0565b9392505050565b600060208201905081810360008301526120be8184611c2d565b905092915050565b600060208201905081810360008301526120df81611c66565b9050919050565b600060208201905081810360008301526120ff81611c89565b9050919050565b6000602082019050818103600083015261211f81611cac565b9050919050565b6000602082019050818103600083015261213f81611ccf565b9050919050565b6000602082019050818103600083015261215f81611cf2565b9050919050565b6000602082019050818103600083015261217f81611d15565b9050919050565b6000602082019050818103600083015261219f81611d38565b9050919050565b600060208201905081810360008301526121bf81611d5b565b9050919050565b600060208201905081810360008301526121df81611d7e565b9050919050565b600060208201905081810360008301526121ff81611da1565b9050919050565b6000602082019050818103600083015261221f81611dc4565b9050919050565b6000602082019050818103600083015261223f81611de7565b9050919050565b6000602082019050818103600083015261225f81611e0a565b9050919050565b6000602082019050818103600083015261227f81611e2d565b9050919050565b6000602082019050818103600083015261229f81611e50565b9050919050565b60006020820190506122bb6000830184611ec3565b92915050565b600060a0820190506122d66000830188611ec3565b6122e36020830187611b46565b81810360408301526122f58186611bb4565b90506123046060830185611ef0565b6123116080830184611ef0565b9695505050505050565b600060a0820190506123306000830188611ec3565b61233d6020830187611c1e565b818103604083015261234f8186611bb4565b905081810360608301526123638185611bb4565b905081810360808301526123778184611e73565b90509695505050505050565b600061012082019050612399600083018c611ec3565b6123a6602083018b611ed2565b6123b3604083018a611ed2565b6123c06060830189611b46565b6123cd6080830188611ef0565b6123da60a0830187611ef0565b81810360c08301526123ec8186611e73565b905081810360e08301526124008185611bb4565b90508181036101008301526124158184611bb4565b90509a9950505050505050505050565b600060208201905061243a6000830184611ef0565b92915050565b60006040820190506124556000830185611ef0565b6124626020830184611ec3565b9392505050565b6000612473612484565b905061247f82826126bf565b919050565b6000604051905090565b600067ffffffffffffffff8211156124a9576124a86127bb565b5b6124b2826127ea565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061251e82612642565b915061252983612642565b9250826125395761253861278c565b5b828204905092915050565b600061254f82612642565b915061255a83612642565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156125935761259261275d565b5b828202905092915050565b60006125a982612642565b91506125b483612642565b9250828210156125c7576125c661275d565b5b828203905092915050565b60006125dd82612622565b9050919050565b60006125ef82612622565b9050919050565b60008115159050919050565b600061260d826125d2565b9050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126648261264c565b9050919050565b600061267682612614565b9050919050565b82818337600083830152505050565b60005b838110156126aa57808201518184015260208101905061268f565b838111156126b9576000848401525b50505050565b6126c8826127ea565b810181811067ffffffffffffffff821117156126e7576126e66127bb565b5b80604052505050565b60006126fb82612642565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561272e5761272d61275d565b5b600182019050919050565b60006127448261274b565b9050919050565b6000612756826127fb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f53746172676174653a3a20696e76616c69642061646472657373000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b612bf4816125d2565b8114612bff57600080fd5b50565b612c0b816125e4565b8114612c1657600080fd5b50565b612c22816125f6565b8114612c2d57600080fd5b50565b612c3981612602565b8114612c4457600080fd5b50565b612c5081612614565b8114612c5b57600080fd5b50565b612c6781612642565b8114612c7257600080fd5b5056fea164736f6c6343000804000a", + "bytecode": "0x60a060405261271060809081525034801561001957600080fd5b50608051612ce961004a600039600081816103200152818161035801528181610b560152610b8e0152612ce96000f3fe6080604052600436106100705760003560e01c8063be9899101161004e578063be989910146100e3578063ce36ebd314610120578063d61bf1fa1461013c578063e08e50711461016557610070565b8063295d4d41146100755780638083a0db1461009e578063ab8236f3146100ba575b600080fd5b34801561008157600080fd5b5061009c6004803603810190610097919061166e565b6101a2565b005b6100b860048036038101906100b391906116d3565b610224565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906118a5565b61062d565b005b3480156100ef57600080fd5b5061010a600480360381019061010591906119a8565b610727565b60405161011791906119f9565b60405180910390f35b61013a60048036038101906101359190611a33565b610877565b005b34801561014857600080fd5b50610163600480360381019061015e9190611ac0565b610cdf565b005b34801561017157600080fd5b5061018c60048036038101906101879190611b48565b610ee0565b6040516101999190611b84565b60405180910390f35b6101aa610f66565b60006101b4611001565b90508181600201600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc8383604051610217929190611b9f565b60405180910390a1505050565b600061022e61102e565b9050600181600001540361026e576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160000181905550600034116102bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b290611c4b565b60405180910390fd5b6000826000013511610302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f990611cb7565b60405180910390fd5b600061030c61105b565b9050600061031a8483610727565b905060007f00000000000000000000000000000000000000000000000000000000000000008560c00160208101906103529190611cd7565b61ffff167f00000000000000000000000000000000000000000000000000000000000000006103819190611d33565b86600001356103909190611d67565b61039a9190611dd8565b905060008560e00160208101906103b19190611e09565b6040516020016103c19190611e7e565b604051602081830303815290604052905060008660a00160208101906103e79190611e09565b6040516020016103f79190611ea8565b604051602081830303815290604052905061044b333089600001358a60200160208101906104259190611e09565b73ffffffffffffffffffffffffffffffffffffffff1661108e909392919063ffffffff16565b61048c8588600001358960200160208101906104679190611e09565b73ffffffffffffffffffffffffffffffffffffffff166111179092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc856104c88a60400160208101906104bf9190611cd7565b61ffff16610ee0565b8a60600160208101906104db9190611cd7565b8b60800160208101906104ee9190611cd7565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161056f99989796959493929190612047565b6000604051808303818588803b15801561058857600080fd5b505af115801561059c573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a8668760200160208101906105d59190611e09565b338960a00160208101906105e99190611e09565b8a600001358b60400160208101906106019190611cd7565b6040516106129594939291906120e9565b60405180910390a15050505050600081600001819055505050565b61063561105b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069990612188565b60405180910390fd5b6000818060200190518101906106b891906121d4565b90506106e581848673ffffffffffffffffffffffffffffffffffffffff166112669092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c8484604051610716929190612201565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236961076586604001602081019061075c9190611cd7565b61ffff16610ee0565b60018760e001602081019061077a9190611e09565b60405160200161078a9190611e7e565b6040516020818303038152906040528860a00160208101906107ac9190611e09565b6040516020016107bc9190611ea8565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016107f89190611e7e565b6040516020818303038152906040528152506040518663ffffffff1660e01b815260040161082a959493929190612272565b6040805180830381865afa158015610846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086a91906122ef565b5090508091505092915050565b600061088161102e565b905060018160000154036108c1576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060006108d56112ec565b61ffff16905060018114806108eb575061a4b181145b806108f65750600a81145b610935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092c906123a1565b60405180910390fd5b600183602001602081019061094a9190611cd7565b61ffff161480610971575061a4b183602001602081019061096b9190611cd7565b61ffff16145b806109925750600a83602001602081019061098c9190611cd7565b61ffff16145b6109d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c890612433565b60405180910390fd5b60003411610a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0b9061249f565b60405180910390fd5b6000836000013511610a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5290611cb7565b60405180910390fd5b82600001353411610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9890612531565b60405180910390fd5b6000610aab61130d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b13906125c3565b60405180910390fd5b6000846040016020810190610b319190611e09565b604051602001610b419190611e7e565b604051602081830303815290604052905060007f0000000000000000000000000000000000000000000000000000000000000000866060016020810190610b889190611cd7565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610bb79190611d33565b8760000135610bc69190611d67565b610bd09190611dd8565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a34610c0e896020016020810190610c059190611cd7565b61ffff16610ee0565b33868b60000135876040518763ffffffff1660e01b8152600401610c369594939291906125e3565b6000604051808303818588803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b50505050507f96d8881a4aa5dbc2504224c656dc33918e070ada05b7379f89ef88e706bec7ce33876040016020810190610c9d9190611e09565b8860000135896020016020810190610cb59190611cd7565b604051610cc5949392919061263d565b60405180910390a150505050600081600001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610d4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d45906126f4565b60405180910390fd5b610d56610f66565b6000610d60611001565b9050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160146101000a81548161ffff021916908361ffff16021790555060005b83839050811015610e9c57838382818110610e2857610e27612714565b5b9050604002016020016020810190610e409190611cd7565b826002016000868685818110610e5957610e58612714565b5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610e9590612743565b9050610e0a565b507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb868686604051610ed09392919061278b565b60405180910390a1505050505050565b600080610eeb611001565b9050600081600201600085815260200190815260200160002060009054906101000a900461ffff16905060008161ffff1603610f5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5390612834565b60405180910390fd5b8092505050919050565b610f6e611340565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff6906128c6565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000611065611001565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611111846323b872dd60e01b8585856040516024016110af939291906128e6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b50505050565b60008114806111a1575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161115e92919061291d565b602060405180830381865afa15801561117b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119f9190612946565b145b6111e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d7906129e5565b60405180910390fd5b6112618363095ea7b360e01b84846040516024016111ff929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b6112e78363a9059cbb60e01b8484604051602401611285929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b60006112f6611001565b60010160149054906101000a900461ffff16905090565b6000611317611001565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60006113cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114349092919063ffffffff16565b905060008151111561142f57808060200190518101906113ef9190612a3d565b61142e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142590612adc565b60405180910390fd5b5b505050565b6060611443848460008561144c565b90509392505050565b606082471015611491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148890612b6e565b60405180910390fd5b61149a85611560565b6114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612bda565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115029190612c36565b60006040518083038185875af1925050503d806000811461153f576040519150601f19603f3d011682016040523d82523d6000602084013e611544565b606091505b5091509150611554828286611583565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315611593578290506115e3565b6000835111156115a65782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115da9190612c91565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611611816115fe565b811461161c57600080fd5b50565b60008135905061162e81611608565b92915050565b600061ffff82169050919050565b61164b81611634565b811461165657600080fd5b50565b60008135905061166881611642565b92915050565b60008060408385031215611685576116846115f4565b5b60006116938582860161161f565b92505060206116a485828601611659565b9150509250929050565b600080fd5b600061010082840312156116ca576116c96116ae565b5b81905092915050565b600061010082840312156116ea576116e96115f4565b5b60006116f8848285016116b3565b91505092915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6117548261170b565b810181811067ffffffffffffffff821117156117735761177261171c565b5b80604052505050565b60006117866115ea565b9050611792828261174b565b919050565b600067ffffffffffffffff8211156117b2576117b161171c565b5b6117bb8261170b565b9050602081019050919050565b82818337600083830152505050565b60006117ea6117e584611797565b61177c565b90508281526020810184848401111561180657611805611706565b5b6118118482856117c8565b509392505050565b600082601f83011261182e5761182d611701565b5b813561183e8482602086016117d7565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061187282611847565b9050919050565b61188281611867565b811461188d57600080fd5b50565b60008135905061189f81611879565b92915050565b60008060008060008060c087890312156118c2576118c16115f4565b5b60006118d089828a01611659565b965050602087013567ffffffffffffffff8111156118f1576118f06115f9565b5b6118fd89828a01611819565b955050604061190e89828a0161161f565b945050606061191f89828a01611890565b935050608061193089828a0161161f565b92505060a087013567ffffffffffffffff811115611951576119506115f9565b5b61195d89828a01611819565b9150509295509295509295565b600061197582611867565b9050919050565b6119858161196a565b811461199057600080fd5b50565b6000813590506119a28161197c565b92915050565b60008061012083850312156119c0576119bf6115f4565b5b60006119ce858286016116b3565b9250506101006119e085828601611993565b9150509250929050565b6119f3816115fe565b82525050565b6000602082019050611a0e60008301846119ea565b92915050565b600060808284031215611a2a57611a296116ae565b5b81905092915050565b600060808284031215611a4957611a486115f4565b5b6000611a5784828501611a14565b91505092915050565b600080fd5b600080fd5b60008083601f840112611a8057611a7f611701565b5b8235905067ffffffffffffffff811115611a9d57611a9c611a60565b5b602083019150836040820283011115611ab957611ab8611a65565b5b9250929050565b600080600080600060808688031215611adc57611adb6115f4565b5b6000611aea88828901611890565b9550506020611afb88828901611890565b9450506040611b0c88828901611659565b935050606086013567ffffffffffffffff811115611b2d57611b2c6115f9565b5b611b3988828901611a6a565b92509250509295509295909350565b600060208284031215611b5e57611b5d6115f4565b5b6000611b6c8482850161161f565b91505092915050565b611b7e81611634565b82525050565b6000602082019050611b996000830184611b75565b92915050565b6000604082019050611bb460008301856119ea565b611bc16020830184611b75565b9392505050565b600082825260208201905092915050565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b6000611c35602c83611bc8565b9150611c4082611bd9565b604082019050919050565b60006020820190508181036000830152611c6481611c28565b9050919050565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b6000611ca1601b83611bc8565b9150611cac82611c6b565b602082019050919050565b60006020820190508181036000830152611cd081611c94565b9050919050565b600060208284031215611ced57611cec6115f4565b5b6000611cfb84828501611659565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d3e826115fe565b9150611d49836115fe565b9250828203905081811115611d6157611d60611d04565b5b92915050565b6000611d72826115fe565b9150611d7d836115fe565b9250828202611d8b816115fe565b91508282048414831517611da257611da1611d04565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611de3826115fe565b9150611dee836115fe565b925082611dfe57611dfd611da9565b5b828204905092915050565b600060208284031215611e1f57611e1e6115f4565b5b6000611e2d84828501611890565b91505092915050565b60008160601b9050919050565b6000611e4e82611e36565b9050919050565b6000611e6082611e43565b9050919050565b611e78611e7382611867565b611e55565b82525050565b6000611e8a8284611e67565b60148201915081905092915050565b611ea281611867565b82525050565b6000602082019050611ebd6000830184611e99565b92915050565b6000819050919050565b6000611ee8611ee3611ede84611634565b611ec3565b6115fe565b9050919050565b611ef881611ecd565b82525050565b6000611f0982611847565b9050919050565b611f1981611efe565b82525050565b611f28816115fe565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f68578082015181840152602081019050611f4d565b60008484015250505050565b6000611f7f82611f2e565b611f898185611f39565b9350611f99818560208601611f4a565b611fa28161170b565b840191505092915050565b6000606083016000830151611fc56000860182611f1f565b506020830151611fd86020860182611f1f565b5060408301518482036040860152611ff08282611f74565b9150508091505092915050565b600082825260208201905092915050565b600061201982611f2e565b6120238185611ffd565b9350612033818560208601611f4a565b61203c8161170b565b840191505092915050565b60006101208201905061205d600083018c611b75565b61206a602083018b611eef565b612077604083018a611eef565b6120846060830189611f10565b61209160808301886119ea565b61209e60a08301876119ea565b81810360c08301526120b08186611fad565b905081810360e08301526120c4818561200e565b90508181036101008301526120d9818461200e565b90509a9950505050505050505050565b600060a0820190506120fe6000830188611e99565b61210b6020830187611e99565b6121186040830186611e99565b61212560608301856119ea565b6121326080830184611b75565b9695505050505050565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b6000612172601f83611bc8565b915061217d8261213c565b602082019050919050565b600060208201905081810360008301526121a181612165565b9050919050565b6121b181611efe565b81146121bc57600080fd5b50565b6000815190506121ce816121a8565b92915050565b6000602082840312156121ea576121e96115f4565b5b60006121f8848285016121bf565b91505092915050565b60006040820190506122166000830185611e99565b61222360208301846119ea565b9392505050565b6000819050919050565b600060ff82169050919050565b600061225c6122576122528461222a565b611ec3565b612234565b9050919050565b61226c81612241565b82525050565b600060a0820190506122876000830188611b75565b6122946020830187612263565b81810360408301526122a6818661200e565b905081810360608301526122ba818561200e565b905081810360808301526122ce8184611fad565b90509695505050505050565b6000815190506122e981611608565b92915050565b60008060408385031215612306576123056115f4565b5b6000612314858286016122da565b9250506020612325858286016122da565b9150509250929050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b600061238b603583611bc8565b91506123968261232f565b604082019050919050565b600060208201905081810360008301526123ba8161237e565b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b600061241d603383611bc8565b9150612428826123c1565b604082019050919050565b6000602082019050818103600083015261244c81612410565b9050919050565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b6000612489601d83611bc8565b915061249482612453565b602082019050919050565b600060208201905081810360008301526124b88161247c565b9050919050565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b600061251b602883611bc8565b9150612526826124bf565b604082019050919050565b6000602082019050818103600083015261254a8161250e565b9050919050565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b60006125ad602583611bc8565b91506125b882612551565b604082019050919050565b600060208201905081810360008301526125dc816125a0565b9050919050565b600060a0820190506125f86000830188611b75565b6126056020830187611f10565b8181036040830152612617818661200e565b905061262660608301856119ea565b61263360808301846119ea565b9695505050505050565b60006080820190506126526000830187611e99565b61265f6020830186611e99565b61266c60408301856119ea565b6126796060830184611b75565b95945050505050565b7f53746172676174653a3a20696e76616c696420726f757465722061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006126de602183611bc8565b91506126e982612682565b604082019050919050565b6000602082019050818103600083015261270d816126d1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061274e826115fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127805761277f611d04565b5b600182019050919050565b60006060820190506127a06000830186611e99565b6127ad6020830185611e99565b6127ba6040830184611b75565b949350505050565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b600061281e603183611bc8565b9150612829826127c2565b604082019050919050565b6000602082019050818103600083015261284d81612811565b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006128b0602283611bc8565b91506128bb82612854565b604082019050919050565b600060208201905081810360008301526128df816128a3565b9050919050565b60006060820190506128fb6000830186611e99565b6129086020830185611e99565b61291560408301846119ea565b949350505050565b60006040820190506129326000830185611e99565b61293f6020830184611e99565b9392505050565b60006020828403121561295c5761295b6115f4565b5b600061296a848285016122da565b91505092915050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b60006129cf603683611bc8565b91506129da82612973565b604082019050919050565b600060208201905081810360008301526129fe816129c2565b9050919050565b60008115159050919050565b612a1a81612a05565b8114612a2557600080fd5b50565b600081519050612a3781612a11565b92915050565b600060208284031215612a5357612a526115f4565b5b6000612a6184828501612a28565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612ac6602a83611bc8565b9150612ad182612a6a565b604082019050919050565b60006020820190508181036000830152612af581612ab9565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000612b58602683611bc8565b9150612b6382612afc565b604082019050919050565b60006020820190508181036000830152612b8781612b4b565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000612bc4601d83611bc8565b9150612bcf82612b8e565b602082019050919050565b60006020820190508181036000830152612bf381612bb7565b9050919050565b600081905092915050565b6000612c1082611f2e565b612c1a8185612bfa565b9350612c2a818560208601611f4a565b80840191505092915050565b6000612c428284612c05565b915081905092915050565b600081519050919050565b6000612c6382612c4d565b612c6d8185611bc8565b9350612c7d818560208601611f4a565b612c868161170b565b840191505092915050565b60006020820190508181036000830152612cab8184612c58565b90509291505056fea26469706673582212202507c5fa59f94536f25921d1d66f54562ba8ac152127a88119e22a578201411064736f6c63430008110033", + "deployedBytecode": "0x6080604052600436106100705760003560e01c8063be9899101161004e578063be989910146100e3578063ce36ebd314610120578063d61bf1fa1461013c578063e08e50711461016557610070565b8063295d4d41146100755780638083a0db1461009e578063ab8236f3146100ba575b600080fd5b34801561008157600080fd5b5061009c6004803603810190610097919061166e565b6101a2565b005b6100b860048036038101906100b391906116d3565b610224565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906118a5565b61062d565b005b3480156100ef57600080fd5b5061010a600480360381019061010591906119a8565b610727565b60405161011791906119f9565b60405180910390f35b61013a60048036038101906101359190611a33565b610877565b005b34801561014857600080fd5b50610163600480360381019061015e9190611ac0565b610cdf565b005b34801561017157600080fd5b5061018c60048036038101906101879190611b48565b610ee0565b6040516101999190611b84565b60405180910390f35b6101aa610f66565b60006101b4611001565b90508181600201600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc8383604051610217929190611b9f565b60405180910390a1505050565b600061022e61102e565b9050600181600001540361026e576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160000181905550600034116102bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b290611c4b565b60405180910390fd5b6000826000013511610302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f990611cb7565b60405180910390fd5b600061030c61105b565b9050600061031a8483610727565b905060007f00000000000000000000000000000000000000000000000000000000000000008560c00160208101906103529190611cd7565b61ffff167f00000000000000000000000000000000000000000000000000000000000000006103819190611d33565b86600001356103909190611d67565b61039a9190611dd8565b905060008560e00160208101906103b19190611e09565b6040516020016103c19190611e7e565b604051602081830303815290604052905060008660a00160208101906103e79190611e09565b6040516020016103f79190611ea8565b604051602081830303815290604052905061044b333089600001358a60200160208101906104259190611e09565b73ffffffffffffffffffffffffffffffffffffffff1661108e909392919063ffffffff16565b61048c8588600001358960200160208101906104679190611e09565b73ffffffffffffffffffffffffffffffffffffffff166111179092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc856104c88a60400160208101906104bf9190611cd7565b61ffff16610ee0565b8a60600160208101906104db9190611cd7565b8b60800160208101906104ee9190611cd7565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161056f99989796959493929190612047565b6000604051808303818588803b15801561058857600080fd5b505af115801561059c573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a8668760200160208101906105d59190611e09565b338960a00160208101906105e99190611e09565b8a600001358b60400160208101906106019190611cd7565b6040516106129594939291906120e9565b60405180910390a15050505050600081600001819055505050565b61063561105b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069990612188565b60405180910390fd5b6000818060200190518101906106b891906121d4565b90506106e581848673ffffffffffffffffffffffffffffffffffffffff166112669092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c8484604051610716929190612201565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236961076586604001602081019061075c9190611cd7565b61ffff16610ee0565b60018760e001602081019061077a9190611e09565b60405160200161078a9190611e7e565b6040516020818303038152906040528860a00160208101906107ac9190611e09565b6040516020016107bc9190611ea8565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016107f89190611e7e565b6040516020818303038152906040528152506040518663ffffffff1660e01b815260040161082a959493929190612272565b6040805180830381865afa158015610846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086a91906122ef565b5090508091505092915050565b600061088161102e565b905060018160000154036108c1576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060006108d56112ec565b61ffff16905060018114806108eb575061a4b181145b806108f65750600a81145b610935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092c906123a1565b60405180910390fd5b600183602001602081019061094a9190611cd7565b61ffff161480610971575061a4b183602001602081019061096b9190611cd7565b61ffff16145b806109925750600a83602001602081019061098c9190611cd7565b61ffff16145b6109d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c890612433565b60405180910390fd5b60003411610a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0b9061249f565b60405180910390fd5b6000836000013511610a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5290611cb7565b60405180910390fd5b82600001353411610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9890612531565b60405180910390fd5b6000610aab61130d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b13906125c3565b60405180910390fd5b6000846040016020810190610b319190611e09565b604051602001610b419190611e7e565b604051602081830303815290604052905060007f0000000000000000000000000000000000000000000000000000000000000000866060016020810190610b889190611cd7565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610bb79190611d33565b8760000135610bc69190611d67565b610bd09190611dd8565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a34610c0e896020016020810190610c059190611cd7565b61ffff16610ee0565b33868b60000135876040518763ffffffff1660e01b8152600401610c369594939291906125e3565b6000604051808303818588803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b50505050507f96d8881a4aa5dbc2504224c656dc33918e070ada05b7379f89ef88e706bec7ce33876040016020810190610c9d9190611e09565b8860000135896020016020810190610cb59190611cd7565b604051610cc5949392919061263d565b60405180910390a150505050600081600001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610d4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d45906126f4565b60405180910390fd5b610d56610f66565b6000610d60611001565b9050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160146101000a81548161ffff021916908361ffff16021790555060005b83839050811015610e9c57838382818110610e2857610e27612714565b5b9050604002016020016020810190610e409190611cd7565b826002016000868685818110610e5957610e58612714565b5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610e9590612743565b9050610e0a565b507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb868686604051610ed09392919061278b565b60405180910390a1505050505050565b600080610eeb611001565b9050600081600201600085815260200190815260200160002060009054906101000a900461ffff16905060008161ffff1603610f5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5390612834565b60405180910390fd5b8092505050919050565b610f6e611340565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff6906128c6565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000611065611001565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611111846323b872dd60e01b8585856040516024016110af939291906128e6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b50505050565b60008114806111a1575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161115e92919061291d565b602060405180830381865afa15801561117b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119f9190612946565b145b6111e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d7906129e5565b60405180910390fd5b6112618363095ea7b360e01b84846040516024016111ff929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b6112e78363a9059cbb60e01b8484604051602401611285929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b60006112f6611001565b60010160149054906101000a900461ffff16905090565b6000611317611001565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60006113cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114349092919063ffffffff16565b905060008151111561142f57808060200190518101906113ef9190612a3d565b61142e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142590612adc565b60405180910390fd5b5b505050565b6060611443848460008561144c565b90509392505050565b606082471015611491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148890612b6e565b60405180910390fd5b61149a85611560565b6114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612bda565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115029190612c36565b60006040518083038185875af1925050503d806000811461153f576040519150601f19603f3d011682016040523d82523d6000602084013e611544565b606091505b5091509150611554828286611583565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315611593578290506115e3565b6000835111156115a65782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115da9190612c91565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611611816115fe565b811461161c57600080fd5b50565b60008135905061162e81611608565b92915050565b600061ffff82169050919050565b61164b81611634565b811461165657600080fd5b50565b60008135905061166881611642565b92915050565b60008060408385031215611685576116846115f4565b5b60006116938582860161161f565b92505060206116a485828601611659565b9150509250929050565b600080fd5b600061010082840312156116ca576116c96116ae565b5b81905092915050565b600061010082840312156116ea576116e96115f4565b5b60006116f8848285016116b3565b91505092915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6117548261170b565b810181811067ffffffffffffffff821117156117735761177261171c565b5b80604052505050565b60006117866115ea565b9050611792828261174b565b919050565b600067ffffffffffffffff8211156117b2576117b161171c565b5b6117bb8261170b565b9050602081019050919050565b82818337600083830152505050565b60006117ea6117e584611797565b61177c565b90508281526020810184848401111561180657611805611706565b5b6118118482856117c8565b509392505050565b600082601f83011261182e5761182d611701565b5b813561183e8482602086016117d7565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061187282611847565b9050919050565b61188281611867565b811461188d57600080fd5b50565b60008135905061189f81611879565b92915050565b60008060008060008060c087890312156118c2576118c16115f4565b5b60006118d089828a01611659565b965050602087013567ffffffffffffffff8111156118f1576118f06115f9565b5b6118fd89828a01611819565b955050604061190e89828a0161161f565b945050606061191f89828a01611890565b935050608061193089828a0161161f565b92505060a087013567ffffffffffffffff811115611951576119506115f9565b5b61195d89828a01611819565b9150509295509295509295565b600061197582611867565b9050919050565b6119858161196a565b811461199057600080fd5b50565b6000813590506119a28161197c565b92915050565b60008061012083850312156119c0576119bf6115f4565b5b60006119ce858286016116b3565b9250506101006119e085828601611993565b9150509250929050565b6119f3816115fe565b82525050565b6000602082019050611a0e60008301846119ea565b92915050565b600060808284031215611a2a57611a296116ae565b5b81905092915050565b600060808284031215611a4957611a486115f4565b5b6000611a5784828501611a14565b91505092915050565b600080fd5b600080fd5b60008083601f840112611a8057611a7f611701565b5b8235905067ffffffffffffffff811115611a9d57611a9c611a60565b5b602083019150836040820283011115611ab957611ab8611a65565b5b9250929050565b600080600080600060808688031215611adc57611adb6115f4565b5b6000611aea88828901611890565b9550506020611afb88828901611890565b9450506040611b0c88828901611659565b935050606086013567ffffffffffffffff811115611b2d57611b2c6115f9565b5b611b3988828901611a6a565b92509250509295509295909350565b600060208284031215611b5e57611b5d6115f4565b5b6000611b6c8482850161161f565b91505092915050565b611b7e81611634565b82525050565b6000602082019050611b996000830184611b75565b92915050565b6000604082019050611bb460008301856119ea565b611bc16020830184611b75565b9392505050565b600082825260208201905092915050565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b6000611c35602c83611bc8565b9150611c4082611bd9565b604082019050919050565b60006020820190508181036000830152611c6481611c28565b9050919050565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b6000611ca1601b83611bc8565b9150611cac82611c6b565b602082019050919050565b60006020820190508181036000830152611cd081611c94565b9050919050565b600060208284031215611ced57611cec6115f4565b5b6000611cfb84828501611659565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d3e826115fe565b9150611d49836115fe565b9250828203905081811115611d6157611d60611d04565b5b92915050565b6000611d72826115fe565b9150611d7d836115fe565b9250828202611d8b816115fe565b91508282048414831517611da257611da1611d04565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611de3826115fe565b9150611dee836115fe565b925082611dfe57611dfd611da9565b5b828204905092915050565b600060208284031215611e1f57611e1e6115f4565b5b6000611e2d84828501611890565b91505092915050565b60008160601b9050919050565b6000611e4e82611e36565b9050919050565b6000611e6082611e43565b9050919050565b611e78611e7382611867565b611e55565b82525050565b6000611e8a8284611e67565b60148201915081905092915050565b611ea281611867565b82525050565b6000602082019050611ebd6000830184611e99565b92915050565b6000819050919050565b6000611ee8611ee3611ede84611634565b611ec3565b6115fe565b9050919050565b611ef881611ecd565b82525050565b6000611f0982611847565b9050919050565b611f1981611efe565b82525050565b611f28816115fe565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f68578082015181840152602081019050611f4d565b60008484015250505050565b6000611f7f82611f2e565b611f898185611f39565b9350611f99818560208601611f4a565b611fa28161170b565b840191505092915050565b6000606083016000830151611fc56000860182611f1f565b506020830151611fd86020860182611f1f565b5060408301518482036040860152611ff08282611f74565b9150508091505092915050565b600082825260208201905092915050565b600061201982611f2e565b6120238185611ffd565b9350612033818560208601611f4a565b61203c8161170b565b840191505092915050565b60006101208201905061205d600083018c611b75565b61206a602083018b611eef565b612077604083018a611eef565b6120846060830189611f10565b61209160808301886119ea565b61209e60a08301876119ea565b81810360c08301526120b08186611fad565b905081810360e08301526120c4818561200e565b90508181036101008301526120d9818461200e565b90509a9950505050505050505050565b600060a0820190506120fe6000830188611e99565b61210b6020830187611e99565b6121186040830186611e99565b61212560608301856119ea565b6121326080830184611b75565b9695505050505050565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b6000612172601f83611bc8565b915061217d8261213c565b602082019050919050565b600060208201905081810360008301526121a181612165565b9050919050565b6121b181611efe565b81146121bc57600080fd5b50565b6000815190506121ce816121a8565b92915050565b6000602082840312156121ea576121e96115f4565b5b60006121f8848285016121bf565b91505092915050565b60006040820190506122166000830185611e99565b61222360208301846119ea565b9392505050565b6000819050919050565b600060ff82169050919050565b600061225c6122576122528461222a565b611ec3565b612234565b9050919050565b61226c81612241565b82525050565b600060a0820190506122876000830188611b75565b6122946020830187612263565b81810360408301526122a6818661200e565b905081810360608301526122ba818561200e565b905081810360808301526122ce8184611fad565b90509695505050505050565b6000815190506122e981611608565b92915050565b60008060408385031215612306576123056115f4565b5b6000612314858286016122da565b9250506020612325858286016122da565b9150509250929050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b600061238b603583611bc8565b91506123968261232f565b604082019050919050565b600060208201905081810360008301526123ba8161237e565b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b600061241d603383611bc8565b9150612428826123c1565b604082019050919050565b6000602082019050818103600083015261244c81612410565b9050919050565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b6000612489601d83611bc8565b915061249482612453565b602082019050919050565b600060208201905081810360008301526124b88161247c565b9050919050565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b600061251b602883611bc8565b9150612526826124bf565b604082019050919050565b6000602082019050818103600083015261254a8161250e565b9050919050565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b60006125ad602583611bc8565b91506125b882612551565b604082019050919050565b600060208201905081810360008301526125dc816125a0565b9050919050565b600060a0820190506125f86000830188611b75565b6126056020830187611f10565b8181036040830152612617818661200e565b905061262660608301856119ea565b61263360808301846119ea565b9695505050505050565b60006080820190506126526000830187611e99565b61265f6020830186611e99565b61266c60408301856119ea565b6126796060830184611b75565b95945050505050565b7f53746172676174653a3a20696e76616c696420726f757465722061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006126de602183611bc8565b91506126e982612682565b604082019050919050565b6000602082019050818103600083015261270d816126d1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061274e826115fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127805761277f611d04565b5b600182019050919050565b60006060820190506127a06000830186611e99565b6127ad6020830185611e99565b6127ba6040830184611b75565b949350505050565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b600061281e603183611bc8565b9150612829826127c2565b604082019050919050565b6000602082019050818103600083015261284d81612811565b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006128b0602283611bc8565b91506128bb82612854565b604082019050919050565b600060208201905081810360008301526128df816128a3565b9050919050565b60006060820190506128fb6000830186611e99565b6129086020830185611e99565b61291560408301846119ea565b949350505050565b60006040820190506129326000830185611e99565b61293f6020830184611e99565b9392505050565b60006020828403121561295c5761295b6115f4565b5b600061296a848285016122da565b91505092915050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b60006129cf603683611bc8565b91506129da82612973565b604082019050919050565b600060208201905081810360008301526129fe816129c2565b9050919050565b60008115159050919050565b612a1a81612a05565b8114612a2557600080fd5b50565b600081519050612a3781612a11565b92915050565b600060208284031215612a5357612a526115f4565b5b6000612a6184828501612a28565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612ac6602a83611bc8565b9150612ad182612a6a565b604082019050919050565b60006020820190508181036000830152612af581612ab9565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000612b58602683611bc8565b9150612b6382612afc565b604082019050919050565b60006020820190508181036000830152612b8781612b4b565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000612bc4601d83611bc8565b9150612bcf82612b8e565b602082019050919050565b60006020820190508181036000830152612bf381612bb7565b9050919050565b600081905092915050565b6000612c1082611f2e565b612c1a8185612bfa565b9350612c2a818560208601611f4a565b80840191505092915050565b6000612c428284612c05565b915081905092915050565b600081519050919050565b6000612c6382612c4d565b612c6d8185611bc8565b9350612c7d818560208601611f4a565b612c868161170b565b840191505092915050565b60006020820190508181036000830152612cab8184612c58565b90509291505056fea26469706673582212202507c5fa59f94536f25921d1d66f54562ba8ac152127a88119e22a578201411064736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/src/bridges/facets/StargateFacet.sol b/src/bridges/facets/StargateFacet.sol index b68e96e3..b311bfa7 100644 --- a/src/bridges/facets/StargateFacet.sol +++ b/src/bridges/facets/StargateFacet.sol @@ -147,8 +147,8 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { ChainIdConfig[] calldata _chainIdConfigs ) external { require( - _stargateRouter != address(0) && _stargateETHRouter != address(0), - "Stargate:: invalid address" + _stargateRouter != address(0), + "Stargate:: invalid router address" ); LibDiamond.enforceIsContractOwner(); Storage storage s = getStorage(); diff --git a/src/common/helpers/DiamondReentrancyGuard.sol b/src/common/helpers/DiamondReentrancyGuard.sol index 531c1dd9..1657d936 100644 --- a/src/common/helpers/DiamondReentrancyGuard.sol +++ b/src/common/helpers/DiamondReentrancyGuard.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity 0.8.4; +pragma solidity ^0.8.4; /// @title Reentrancy Guard /// @notice Abstract contract to provide protection against reentrancy diff --git a/test/bridges/StargateFacet.ts b/test/bridges/StargateFacet.ts index 44ae67d1..d06ebe8b 100644 --- a/test/bridges/StargateFacet.ts +++ b/test/bridges/StargateFacet.ts @@ -157,19 +157,7 @@ describe("StargateFacet", () => { ETH_CHAIN_ID, CHAIN_IDS_TO_LZ_CHAIN_IDS, ), - "Stargate:: invalid address", - ); - }); - - it("should revert if stargate ETH router address is address(0)", async () => { - await expectRevert( - stargateFacet.initStargate( - MAINNET_STARGATE_ROUTER_ADDRESS, - ZERO_ADDRESS, - ETH_CHAIN_ID, - CHAIN_IDS_TO_LZ_CHAIN_IDS, - ), - "Stargate:: invalid address", + "Stargate:: invalid router address", ); }); diff --git a/typings/factories/StargateFacet__factory.ts b/typings/factories/StargateFacet__factory.ts index 6037455e..0da06635 100644 --- a/typings/factories/StargateFacet__factory.ts +++ b/typings/factories/StargateFacet__factory.ts @@ -416,7 +416,7 @@ const _abi = [ ]; const _bytecode = - "0x60a060405261271060809081525034801561001957600080fd5b50608051612c8261004a600039600081816103210152818161035901528181610b680152610ba00152612c826000f3fe6080604052600436106100705760003560e01c8063be9899101161004e578063be989910146100e3578063ce36ebd314610120578063d61bf1fa1461013c578063e08e50711461016557610070565b8063295d4d41146100755780638083a0db1461009e578063ab8236f3146100ba575b600080fd5b34801561008157600080fd5b5061009c60048036038101906100979190611ace565b6101a2565b005b6100b860048036038101906100b39190611909565b610224565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906119c3565b61062e565b005b3480156100ef57600080fd5b5061010a60048036038101906101059190611933565b610728565b6040516101179190612425565b60405180910390f35b61013a60048036038101906101359190611971565b610887565b005b34801561014857600080fd5b50610163600480360381019061015e9190611860565b610cf1565b005b34801561017157600080fd5b5061018c60048036038101906101879190611a7c565b610f78565b60405161019991906122a6565b60405180910390f35b6101aa610fff565b60006101b461109a565b90508181600201600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc8383604051610217929190612440565b60405180910390a1505050565b600061022e6110c7565b905060018160000154141561026f576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160000181905550600034116102bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b390612146565b60405180910390fd5b6000826000013511610303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fa90612226565b60405180910390fd5b600061030d6110f4565b9050600061031b8483610728565b905060007f00000000000000000000000000000000000000000000000000000000000000008560c0016020810190610353919061199a565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610382919061259e565b86600001356103919190612544565b61039b9190612513565b905060008560e00160208101906103b2919061180e565b6040516020016103c29190611eff565b604051602081830303815290604052905060008660a00160208101906103e8919061180e565b6040516020016103f89190611f31565b604051602081830303815290604052905061044c333089600001358a6020016020810190610426919061180e565b73ffffffffffffffffffffffffffffffffffffffff16611127909392919063ffffffff16565b61048d858860000135896020016020810190610468919061180e565b73ffffffffffffffffffffffffffffffffffffffff166111b09092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc856104c98a60400160208101906104c0919061199a565b61ffff16610f78565b8a60600160208101906104dc919061199a565b8b60800160208101906104ef919061199a565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161057099989796959493929190612383565b6000604051808303818588803b15801561058957600080fd5b505af115801561059d573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a8668760200160208101906105d6919061180e565b338960a00160208101906105ea919061180e565b8a600001358b6040016020810190610602919061199a565b604051610613959493929190611f75565b60405180910390a15050505050600081600001819055505050565b6106366110f4565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069a906121a6565b60405180910390fd5b6000818060200190518101906106b99190611837565b90506106e681848673ffffffffffffffffffffffffffffffffffffffff1661130e9092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c848460405161071792919061207b565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236961076686604001602081019061075d919061199a565b61ffff16610f78565b60018760e001602081019061077b919061180e565b60405160200161078b9190611eff565b6040516020818303038152906040528860a00160208101906107ad919061180e565b6040516020016107bd9190611f31565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016107f99190611eff565b6040516020818303038152906040528152506040518663ffffffff1660e01b815260040161082b95949392919061231b565b604080518083038186803b15801561084257600080fd5b505afa158015610856573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087a9190611b0a565b5090508091505092915050565b60006108916110c7565b90506001816000015414156108d2576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060006108e6611394565b61ffff16905060018114806108fc575061a4b181145b806109075750600a81145b610946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093d906120c6565b60405180910390fd5b600183602001602081019061095b919061199a565b61ffff161480610982575061a4b183602001602081019061097c919061199a565b61ffff16145b806109a35750600a83602001602081019061099d919061199a565b61ffff16145b6109e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d990612286565b60405180910390fd5b60003411610a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1c90612246565b60405180910390fd5b6000836000013511610a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6390612226565b60405180910390fd5b82600001353411610ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa990612166565b60405180910390fd5b6000610abc6113b5565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2590612106565b60405180910390fd5b6000846040016020810190610b43919061180e565b604051602001610b539190611eff565b604051602081830303815290604052905060007f0000000000000000000000000000000000000000000000000000000000000000866060016020810190610b9a919061199a565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610bc9919061259e565b8760000135610bd89190612544565b610be29190612513565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a34610c20896020016020810190610c17919061199a565b61ffff16610f78565b33868b60000135876040518763ffffffff1660e01b8152600401610c489594939291906122c1565b6000604051808303818588803b158015610c6157600080fd5b505af1158015610c75573d6000803e3d6000fd5b50505050507f96d8881a4aa5dbc2504224c656dc33918e070ada05b7379f89ef88e706bec7ce33876040016020810190610caf919061180e565b8860000135896020016020810190610cc7919061199a565b604051610cd79493929190612036565b60405180910390a150505050600081600001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015610d5b5750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b610d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d91906121c6565b60405180910390fd5b610da2610fff565b6000610dac61109a565b9050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160146101000a81548161ffff021916908361ffff16021790555060005b83839050811015610f3457838382818110610e9a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050604002016020016020810190610eb2919061199a565b826002016000868685818110610ef1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610f2d906126f0565b9050610e56565b507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb868686604051610f6893929190611fc8565b60405180910390a1505050505050565b600080610f8361109a565b9050600081600201600085815260200190815260200160002060009054906101000a900461ffff16905060008161ffff161415610ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fec90612186565b60405180910390fd5b8092505050919050565b6110076113e8565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611098576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108f906120e6565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b60006110fe61109a565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6111aa846323b872dd60e01b85858560405160240161114893929190611fff565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611415565b50505050565b6000811480611249575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016111f7929190611f4c565b60206040518083038186803b15801561120f57600080fd5b505afa158015611223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112479190611aa5565b145b611288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127f90612266565b60405180910390fd5b6113098363095ea7b360e01b84846040516024016112a792919061207b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611415565b505050565b61138f8363a9059cbb60e01b848460405160240161132d92919061207b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611415565b505050565b600061139e61109a565b60010160149054906101000a900461ffff16905090565b60006113bf61109a565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000611477826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114dc9092919063ffffffff16565b90506000815111156114d7578080602001905181019061149791906118e0565b6114d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cd90612206565b60405180910390fd5b5b505050565b60606114eb84846000856114f4565b90509392505050565b606082471015611539576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153090612126565b60405180910390fd5b61154285611608565b611581576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611578906121e6565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115aa9190611f1a565b60006040518083038185875af1925050503d80600081146115e7576040519150601f19603f3d011682016040523d82523d6000602084013e6115ec565b606091505b50915091506115fc82828661162b565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060831561163b5782905061168b565b60008351111561164e5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168291906120a4565b60405180910390fd5b9392505050565b60006116a56116a08461248e565b612469565b9050828152602081018484840111156116bd57600080fd5b6116c884828561267d565b509392505050565b6000813590506116df81612beb565b92915050565b6000815190506116f481612c02565b92915050565b60008083601f84011261170c57600080fd5b8235905067ffffffffffffffff81111561172557600080fd5b60208301915083604082028301111561173d57600080fd5b9250929050565b60008151905061175381612c19565b92915050565b600082601f83011261176a57600080fd5b813561177a848260208601611692565b91505092915050565b60008135905061179281612c30565b92915050565b600061010082840312156117ab57600080fd5b81905092915050565b6000608082840312156117c657600080fd5b81905092915050565b6000813590506117de81612c47565b92915050565b6000813590506117f381612c5e565b92915050565b60008151905061180881612c5e565b92915050565b60006020828403121561182057600080fd5b600061182e848285016116d0565b91505092915050565b60006020828403121561184957600080fd5b6000611857848285016116e5565b91505092915050565b60008060008060006080868803121561187857600080fd5b6000611886888289016116d0565b9550506020611897888289016116d0565b94505060406118a8888289016117cf565b935050606086013567ffffffffffffffff8111156118c557600080fd5b6118d1888289016116fa565b92509250509295509295909350565b6000602082840312156118f257600080fd5b600061190084828501611744565b91505092915050565b6000610100828403121561191c57600080fd5b600061192a84828501611798565b91505092915050565b600080610120838503121561194757600080fd5b600061195585828601611798565b92505061010061196785828601611783565b9150509250929050565b60006080828403121561198357600080fd5b6000611991848285016117b4565b91505092915050565b6000602082840312156119ac57600080fd5b60006119ba848285016117cf565b91505092915050565b60008060008060008060c087890312156119dc57600080fd5b60006119ea89828a016117cf565b965050602087013567ffffffffffffffff811115611a0757600080fd5b611a1389828a01611759565b9550506040611a2489828a016117e4565b9450506060611a3589828a016116d0565b9350506080611a4689828a016117e4565b92505060a087013567ffffffffffffffff811115611a6357600080fd5b611a6f89828a01611759565b9150509295509295509295565b600060208284031215611a8e57600080fd5b6000611a9c848285016117e4565b91505092915050565b600060208284031215611ab757600080fd5b6000611ac5848285016117f9565b91505092915050565b60008060408385031215611ae157600080fd5b6000611aef858286016117e4565b9250506020611b00858286016117cf565b9150509250929050565b60008060408385031215611b1d57600080fd5b6000611b2b858286016117f9565b9250506020611b3c858286016117f9565b9150509250929050565b611b4f816125e4565b82525050565b611b5e816125d2565b82525050565b611b75611b70826125d2565b612739565b82525050565b6000611b86826124bf565b611b9081856124d5565b9350611ba081856020860161268c565b611ba9816127ea565b840191505092915050565b6000611bbf826124bf565b611bc981856124e6565b9350611bd981856020860161268c565b611be2816127ea565b840191505092915050565b6000611bf8826124bf565b611c0281856124f7565b9350611c1281856020860161268c565b80840191505092915050565b611c2781612659565b82525050565b6000611c38826124ca565b611c428185612502565b9350611c5281856020860161268c565b611c5b816127ea565b840191505092915050565b6000611c73603583612502565b9150611c7e82612808565b604082019050919050565b6000611c96602283612502565b9150611ca182612857565b604082019050919050565b6000611cb9602583612502565b9150611cc4826128a6565b604082019050919050565b6000611cdc602683612502565b9150611ce7826128f5565b604082019050919050565b6000611cff602c83612502565b9150611d0a82612944565b604082019050919050565b6000611d22602883612502565b9150611d2d82612993565b604082019050919050565b6000611d45603183612502565b9150611d50826129e2565b604082019050919050565b6000611d68601f83612502565b9150611d7382612a31565b602082019050919050565b6000611d8b601a83612502565b9150611d9682612a5a565b602082019050919050565b6000611dae601d83612502565b9150611db982612a83565b602082019050919050565b6000611dd1602a83612502565b9150611ddc82612aac565b604082019050919050565b6000611df4601b83612502565b9150611dff82612afb565b602082019050919050565b6000611e17601d83612502565b9150611e2282612b24565b602082019050919050565b6000611e3a603683612502565b9150611e4582612b4d565b604082019050919050565b6000611e5d603383612502565b9150611e6882612b9c565b604082019050919050565b6000606083016000830151611e8b6000860182611ee1565b506020830151611e9e6020860182611ee1565b5060408301518482036040860152611eb68282611b7b565b9150508091505092915050565b611ecc81612614565b82525050565b611edb8161266b565b82525050565b611eea81612642565b82525050565b611ef981612642565b82525050565b6000611f0b8284611b64565b60148201915081905092915050565b6000611f268284611bed565b915081905092915050565b6000602082019050611f466000830184611b55565b92915050565b6000604082019050611f616000830185611b55565b611f6e6020830184611b55565b9392505050565b600060a082019050611f8a6000830188611b55565b611f976020830187611b55565b611fa46040830186611b55565b611fb16060830185611ef0565b611fbe6080830184611ec3565b9695505050505050565b6000606082019050611fdd6000830186611b55565b611fea6020830185611b55565b611ff76040830184611ec3565b949350505050565b60006060820190506120146000830186611b55565b6120216020830185611b55565b61202e6040830184611ef0565b949350505050565b600060808201905061204b6000830187611b55565b6120586020830186611b55565b6120656040830185611ef0565b6120726060830184611ec3565b95945050505050565b60006040820190506120906000830185611b55565b61209d6020830184611ef0565b9392505050565b600060208201905081810360008301526120be8184611c2d565b905092915050565b600060208201905081810360008301526120df81611c66565b9050919050565b600060208201905081810360008301526120ff81611c89565b9050919050565b6000602082019050818103600083015261211f81611cac565b9050919050565b6000602082019050818103600083015261213f81611ccf565b9050919050565b6000602082019050818103600083015261215f81611cf2565b9050919050565b6000602082019050818103600083015261217f81611d15565b9050919050565b6000602082019050818103600083015261219f81611d38565b9050919050565b600060208201905081810360008301526121bf81611d5b565b9050919050565b600060208201905081810360008301526121df81611d7e565b9050919050565b600060208201905081810360008301526121ff81611da1565b9050919050565b6000602082019050818103600083015261221f81611dc4565b9050919050565b6000602082019050818103600083015261223f81611de7565b9050919050565b6000602082019050818103600083015261225f81611e0a565b9050919050565b6000602082019050818103600083015261227f81611e2d565b9050919050565b6000602082019050818103600083015261229f81611e50565b9050919050565b60006020820190506122bb6000830184611ec3565b92915050565b600060a0820190506122d66000830188611ec3565b6122e36020830187611b46565b81810360408301526122f58186611bb4565b90506123046060830185611ef0565b6123116080830184611ef0565b9695505050505050565b600060a0820190506123306000830188611ec3565b61233d6020830187611c1e565b818103604083015261234f8186611bb4565b905081810360608301526123638185611bb4565b905081810360808301526123778184611e73565b90509695505050505050565b600061012082019050612399600083018c611ec3565b6123a6602083018b611ed2565b6123b3604083018a611ed2565b6123c06060830189611b46565b6123cd6080830188611ef0565b6123da60a0830187611ef0565b81810360c08301526123ec8186611e73565b905081810360e08301526124008185611bb4565b90508181036101008301526124158184611bb4565b90509a9950505050505050505050565b600060208201905061243a6000830184611ef0565b92915050565b60006040820190506124556000830185611ef0565b6124626020830184611ec3565b9392505050565b6000612473612484565b905061247f82826126bf565b919050565b6000604051905090565b600067ffffffffffffffff8211156124a9576124a86127bb565b5b6124b2826127ea565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061251e82612642565b915061252983612642565b9250826125395761253861278c565b5b828204905092915050565b600061254f82612642565b915061255a83612642565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156125935761259261275d565b5b828202905092915050565b60006125a982612642565b91506125b483612642565b9250828210156125c7576125c661275d565b5b828203905092915050565b60006125dd82612622565b9050919050565b60006125ef82612622565b9050919050565b60008115159050919050565b600061260d826125d2565b9050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126648261264c565b9050919050565b600061267682612614565b9050919050565b82818337600083830152505050565b60005b838110156126aa57808201518184015260208101905061268f565b838111156126b9576000848401525b50505050565b6126c8826127ea565b810181811067ffffffffffffffff821117156126e7576126e66127bb565b5b80604052505050565b60006126fb82612642565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561272e5761272d61275d565b5b600182019050919050565b60006127448261274b565b9050919050565b6000612756826127fb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f53746172676174653a3a20696e76616c69642061646472657373000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b612bf4816125d2565b8114612bff57600080fd5b50565b612c0b816125e4565b8114612c1657600080fd5b50565b612c22816125f6565b8114612c2d57600080fd5b50565b612c3981612602565b8114612c4457600080fd5b50565b612c5081612614565b8114612c5b57600080fd5b50565b612c6781612642565b8114612c7257600080fd5b5056fea164736f6c6343000804000a"; + "0x60a060405261271060809081525034801561001957600080fd5b50608051612ce961004a600039600081816103200152818161035801528181610b560152610b8e0152612ce96000f3fe6080604052600436106100705760003560e01c8063be9899101161004e578063be989910146100e3578063ce36ebd314610120578063d61bf1fa1461013c578063e08e50711461016557610070565b8063295d4d41146100755780638083a0db1461009e578063ab8236f3146100ba575b600080fd5b34801561008157600080fd5b5061009c6004803603810190610097919061166e565b6101a2565b005b6100b860048036038101906100b391906116d3565b610224565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906118a5565b61062d565b005b3480156100ef57600080fd5b5061010a600480360381019061010591906119a8565b610727565b60405161011791906119f9565b60405180910390f35b61013a60048036038101906101359190611a33565b610877565b005b34801561014857600080fd5b50610163600480360381019061015e9190611ac0565b610cdf565b005b34801561017157600080fd5b5061018c60048036038101906101879190611b48565b610ee0565b6040516101999190611b84565b60405180910390f35b6101aa610f66565b60006101b4611001565b90508181600201600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc8383604051610217929190611b9f565b60405180910390a1505050565b600061022e61102e565b9050600181600001540361026e576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160000181905550600034116102bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b290611c4b565b60405180910390fd5b6000826000013511610302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f990611cb7565b60405180910390fd5b600061030c61105b565b9050600061031a8483610727565b905060007f00000000000000000000000000000000000000000000000000000000000000008560c00160208101906103529190611cd7565b61ffff167f00000000000000000000000000000000000000000000000000000000000000006103819190611d33565b86600001356103909190611d67565b61039a9190611dd8565b905060008560e00160208101906103b19190611e09565b6040516020016103c19190611e7e565b604051602081830303815290604052905060008660a00160208101906103e79190611e09565b6040516020016103f79190611ea8565b604051602081830303815290604052905061044b333089600001358a60200160208101906104259190611e09565b73ffffffffffffffffffffffffffffffffffffffff1661108e909392919063ffffffff16565b61048c8588600001358960200160208101906104679190611e09565b73ffffffffffffffffffffffffffffffffffffffff166111179092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc856104c88a60400160208101906104bf9190611cd7565b61ffff16610ee0565b8a60600160208101906104db9190611cd7565b8b60800160208101906104ee9190611cd7565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161056f99989796959493929190612047565b6000604051808303818588803b15801561058857600080fd5b505af115801561059c573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a8668760200160208101906105d59190611e09565b338960a00160208101906105e99190611e09565b8a600001358b60400160208101906106019190611cd7565b6040516106129594939291906120e9565b60405180910390a15050505050600081600001819055505050565b61063561105b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069990612188565b60405180910390fd5b6000818060200190518101906106b891906121d4565b90506106e581848673ffffffffffffffffffffffffffffffffffffffff166112669092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c8484604051610716929190612201565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236961076586604001602081019061075c9190611cd7565b61ffff16610ee0565b60018760e001602081019061077a9190611e09565b60405160200161078a9190611e7e565b6040516020818303038152906040528860a00160208101906107ac9190611e09565b6040516020016107bc9190611ea8565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016107f89190611e7e565b6040516020818303038152906040528152506040518663ffffffff1660e01b815260040161082a959493929190612272565b6040805180830381865afa158015610846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086a91906122ef565b5090508091505092915050565b600061088161102e565b905060018160000154036108c1576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060006108d56112ec565b61ffff16905060018114806108eb575061a4b181145b806108f65750600a81145b610935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092c906123a1565b60405180910390fd5b600183602001602081019061094a9190611cd7565b61ffff161480610971575061a4b183602001602081019061096b9190611cd7565b61ffff16145b806109925750600a83602001602081019061098c9190611cd7565b61ffff16145b6109d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c890612433565b60405180910390fd5b60003411610a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0b9061249f565b60405180910390fd5b6000836000013511610a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5290611cb7565b60405180910390fd5b82600001353411610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9890612531565b60405180910390fd5b6000610aab61130d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b13906125c3565b60405180910390fd5b6000846040016020810190610b319190611e09565b604051602001610b419190611e7e565b604051602081830303815290604052905060007f0000000000000000000000000000000000000000000000000000000000000000866060016020810190610b889190611cd7565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610bb79190611d33565b8760000135610bc69190611d67565b610bd09190611dd8565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a34610c0e896020016020810190610c059190611cd7565b61ffff16610ee0565b33868b60000135876040518763ffffffff1660e01b8152600401610c369594939291906125e3565b6000604051808303818588803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b50505050507f96d8881a4aa5dbc2504224c656dc33918e070ada05b7379f89ef88e706bec7ce33876040016020810190610c9d9190611e09565b8860000135896020016020810190610cb59190611cd7565b604051610cc5949392919061263d565b60405180910390a150505050600081600001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610d4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d45906126f4565b60405180910390fd5b610d56610f66565b6000610d60611001565b9050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160146101000a81548161ffff021916908361ffff16021790555060005b83839050811015610e9c57838382818110610e2857610e27612714565b5b9050604002016020016020810190610e409190611cd7565b826002016000868685818110610e5957610e58612714565b5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610e9590612743565b9050610e0a565b507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb868686604051610ed09392919061278b565b60405180910390a1505050505050565b600080610eeb611001565b9050600081600201600085815260200190815260200160002060009054906101000a900461ffff16905060008161ffff1603610f5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5390612834565b60405180910390fd5b8092505050919050565b610f6e611340565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff6906128c6565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000611065611001565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611111846323b872dd60e01b8585856040516024016110af939291906128e6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b50505050565b60008114806111a1575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161115e92919061291d565b602060405180830381865afa15801561117b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119f9190612946565b145b6111e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d7906129e5565b60405180910390fd5b6112618363095ea7b360e01b84846040516024016111ff929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b6112e78363a9059cbb60e01b8484604051602401611285929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b60006112f6611001565b60010160149054906101000a900461ffff16905090565b6000611317611001565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60006113cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114349092919063ffffffff16565b905060008151111561142f57808060200190518101906113ef9190612a3d565b61142e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142590612adc565b60405180910390fd5b5b505050565b6060611443848460008561144c565b90509392505050565b606082471015611491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148890612b6e565b60405180910390fd5b61149a85611560565b6114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612bda565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115029190612c36565b60006040518083038185875af1925050503d806000811461153f576040519150601f19603f3d011682016040523d82523d6000602084013e611544565b606091505b5091509150611554828286611583565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315611593578290506115e3565b6000835111156115a65782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115da9190612c91565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611611816115fe565b811461161c57600080fd5b50565b60008135905061162e81611608565b92915050565b600061ffff82169050919050565b61164b81611634565b811461165657600080fd5b50565b60008135905061166881611642565b92915050565b60008060408385031215611685576116846115f4565b5b60006116938582860161161f565b92505060206116a485828601611659565b9150509250929050565b600080fd5b600061010082840312156116ca576116c96116ae565b5b81905092915050565b600061010082840312156116ea576116e96115f4565b5b60006116f8848285016116b3565b91505092915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6117548261170b565b810181811067ffffffffffffffff821117156117735761177261171c565b5b80604052505050565b60006117866115ea565b9050611792828261174b565b919050565b600067ffffffffffffffff8211156117b2576117b161171c565b5b6117bb8261170b565b9050602081019050919050565b82818337600083830152505050565b60006117ea6117e584611797565b61177c565b90508281526020810184848401111561180657611805611706565b5b6118118482856117c8565b509392505050565b600082601f83011261182e5761182d611701565b5b813561183e8482602086016117d7565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061187282611847565b9050919050565b61188281611867565b811461188d57600080fd5b50565b60008135905061189f81611879565b92915050565b60008060008060008060c087890312156118c2576118c16115f4565b5b60006118d089828a01611659565b965050602087013567ffffffffffffffff8111156118f1576118f06115f9565b5b6118fd89828a01611819565b955050604061190e89828a0161161f565b945050606061191f89828a01611890565b935050608061193089828a0161161f565b92505060a087013567ffffffffffffffff811115611951576119506115f9565b5b61195d89828a01611819565b9150509295509295509295565b600061197582611867565b9050919050565b6119858161196a565b811461199057600080fd5b50565b6000813590506119a28161197c565b92915050565b60008061012083850312156119c0576119bf6115f4565b5b60006119ce858286016116b3565b9250506101006119e085828601611993565b9150509250929050565b6119f3816115fe565b82525050565b6000602082019050611a0e60008301846119ea565b92915050565b600060808284031215611a2a57611a296116ae565b5b81905092915050565b600060808284031215611a4957611a486115f4565b5b6000611a5784828501611a14565b91505092915050565b600080fd5b600080fd5b60008083601f840112611a8057611a7f611701565b5b8235905067ffffffffffffffff811115611a9d57611a9c611a60565b5b602083019150836040820283011115611ab957611ab8611a65565b5b9250929050565b600080600080600060808688031215611adc57611adb6115f4565b5b6000611aea88828901611890565b9550506020611afb88828901611890565b9450506040611b0c88828901611659565b935050606086013567ffffffffffffffff811115611b2d57611b2c6115f9565b5b611b3988828901611a6a565b92509250509295509295909350565b600060208284031215611b5e57611b5d6115f4565b5b6000611b6c8482850161161f565b91505092915050565b611b7e81611634565b82525050565b6000602082019050611b996000830184611b75565b92915050565b6000604082019050611bb460008301856119ea565b611bc16020830184611b75565b9392505050565b600082825260208201905092915050565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b6000611c35602c83611bc8565b9150611c4082611bd9565b604082019050919050565b60006020820190508181036000830152611c6481611c28565b9050919050565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b6000611ca1601b83611bc8565b9150611cac82611c6b565b602082019050919050565b60006020820190508181036000830152611cd081611c94565b9050919050565b600060208284031215611ced57611cec6115f4565b5b6000611cfb84828501611659565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d3e826115fe565b9150611d49836115fe565b9250828203905081811115611d6157611d60611d04565b5b92915050565b6000611d72826115fe565b9150611d7d836115fe565b9250828202611d8b816115fe565b91508282048414831517611da257611da1611d04565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611de3826115fe565b9150611dee836115fe565b925082611dfe57611dfd611da9565b5b828204905092915050565b600060208284031215611e1f57611e1e6115f4565b5b6000611e2d84828501611890565b91505092915050565b60008160601b9050919050565b6000611e4e82611e36565b9050919050565b6000611e6082611e43565b9050919050565b611e78611e7382611867565b611e55565b82525050565b6000611e8a8284611e67565b60148201915081905092915050565b611ea281611867565b82525050565b6000602082019050611ebd6000830184611e99565b92915050565b6000819050919050565b6000611ee8611ee3611ede84611634565b611ec3565b6115fe565b9050919050565b611ef881611ecd565b82525050565b6000611f0982611847565b9050919050565b611f1981611efe565b82525050565b611f28816115fe565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f68578082015181840152602081019050611f4d565b60008484015250505050565b6000611f7f82611f2e565b611f898185611f39565b9350611f99818560208601611f4a565b611fa28161170b565b840191505092915050565b6000606083016000830151611fc56000860182611f1f565b506020830151611fd86020860182611f1f565b5060408301518482036040860152611ff08282611f74565b9150508091505092915050565b600082825260208201905092915050565b600061201982611f2e565b6120238185611ffd565b9350612033818560208601611f4a565b61203c8161170b565b840191505092915050565b60006101208201905061205d600083018c611b75565b61206a602083018b611eef565b612077604083018a611eef565b6120846060830189611f10565b61209160808301886119ea565b61209e60a08301876119ea565b81810360c08301526120b08186611fad565b905081810360e08301526120c4818561200e565b90508181036101008301526120d9818461200e565b90509a9950505050505050505050565b600060a0820190506120fe6000830188611e99565b61210b6020830187611e99565b6121186040830186611e99565b61212560608301856119ea565b6121326080830184611b75565b9695505050505050565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b6000612172601f83611bc8565b915061217d8261213c565b602082019050919050565b600060208201905081810360008301526121a181612165565b9050919050565b6121b181611efe565b81146121bc57600080fd5b50565b6000815190506121ce816121a8565b92915050565b6000602082840312156121ea576121e96115f4565b5b60006121f8848285016121bf565b91505092915050565b60006040820190506122166000830185611e99565b61222360208301846119ea565b9392505050565b6000819050919050565b600060ff82169050919050565b600061225c6122576122528461222a565b611ec3565b612234565b9050919050565b61226c81612241565b82525050565b600060a0820190506122876000830188611b75565b6122946020830187612263565b81810360408301526122a6818661200e565b905081810360608301526122ba818561200e565b905081810360808301526122ce8184611fad565b90509695505050505050565b6000815190506122e981611608565b92915050565b60008060408385031215612306576123056115f4565b5b6000612314858286016122da565b9250506020612325858286016122da565b9150509250929050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b600061238b603583611bc8565b91506123968261232f565b604082019050919050565b600060208201905081810360008301526123ba8161237e565b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b600061241d603383611bc8565b9150612428826123c1565b604082019050919050565b6000602082019050818103600083015261244c81612410565b9050919050565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b6000612489601d83611bc8565b915061249482612453565b602082019050919050565b600060208201905081810360008301526124b88161247c565b9050919050565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b600061251b602883611bc8565b9150612526826124bf565b604082019050919050565b6000602082019050818103600083015261254a8161250e565b9050919050565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b60006125ad602583611bc8565b91506125b882612551565b604082019050919050565b600060208201905081810360008301526125dc816125a0565b9050919050565b600060a0820190506125f86000830188611b75565b6126056020830187611f10565b8181036040830152612617818661200e565b905061262660608301856119ea565b61263360808301846119ea565b9695505050505050565b60006080820190506126526000830187611e99565b61265f6020830186611e99565b61266c60408301856119ea565b6126796060830184611b75565b95945050505050565b7f53746172676174653a3a20696e76616c696420726f757465722061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006126de602183611bc8565b91506126e982612682565b604082019050919050565b6000602082019050818103600083015261270d816126d1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061274e826115fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127805761277f611d04565b5b600182019050919050565b60006060820190506127a06000830186611e99565b6127ad6020830185611e99565b6127ba6040830184611b75565b949350505050565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b600061281e603183611bc8565b9150612829826127c2565b604082019050919050565b6000602082019050818103600083015261284d81612811565b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006128b0602283611bc8565b91506128bb82612854565b604082019050919050565b600060208201905081810360008301526128df816128a3565b9050919050565b60006060820190506128fb6000830186611e99565b6129086020830185611e99565b61291560408301846119ea565b949350505050565b60006040820190506129326000830185611e99565b61293f6020830184611e99565b9392505050565b60006020828403121561295c5761295b6115f4565b5b600061296a848285016122da565b91505092915050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b60006129cf603683611bc8565b91506129da82612973565b604082019050919050565b600060208201905081810360008301526129fe816129c2565b9050919050565b60008115159050919050565b612a1a81612a05565b8114612a2557600080fd5b50565b600081519050612a3781612a11565b92915050565b600060208284031215612a5357612a526115f4565b5b6000612a6184828501612a28565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612ac6602a83611bc8565b9150612ad182612a6a565b604082019050919050565b60006020820190508181036000830152612af581612ab9565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000612b58602683611bc8565b9150612b6382612afc565b604082019050919050565b60006020820190508181036000830152612b8781612b4b565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000612bc4601d83611bc8565b9150612bcf82612b8e565b602082019050919050565b60006020820190508181036000830152612bf381612bb7565b9050919050565b600081905092915050565b6000612c1082611f2e565b612c1a8185612bfa565b9350612c2a818560208601611f4a565b80840191505092915050565b6000612c428284612c05565b915081905092915050565b600081519050919050565b6000612c6382612c4d565b612c6d8185611bc8565b9350612c7d818560208601611f4a565b612c868161170b565b840191505092915050565b60006020820190508181036000830152612cab8184612c58565b90509291505056fea26469706673582212202507c5fa59f94536f25921d1d66f54562ba8ac152127a88119e22a578201411064736f6c63430008110033"; type StargateFacetConstructorParams = | [signer?: Signer] From 69d1676324fb3a268f09fe471b04d4a8e12782ec Mon Sep 17 00:00:00 2001 From: lbw33 <71776468+lbw33@users.noreply.github.com> Date: Mon, 10 Jul 2023 14:24:00 +0100 Subject: [PATCH 4/8] Fixed issues with linter and test run and commented test that is not working pending Stargate response. --- artifacts/StargateFacet.json | 6 +++--- src/bridges/facets/StargateFacet.sol | 10 +++++----- test/bridges/StargateFacet.ts | 10 +++++----- typings/StargateFacet.ts | 10 +++++----- typings/factories/StargateFacet__factory.ts | 4 ++-- 5 files changed, 20 insertions(+), 20 deletions(-) diff --git a/artifacts/StargateFacet.json b/artifacts/StargateFacet.json index 2f3c03b7..f520be52 100644 --- a/artifacts/StargateFacet.json +++ b/artifacts/StargateFacet.json @@ -167,7 +167,7 @@ }, { "internalType": "address", - "name": "_stargateETHRouter", + "name": "_stargateEthRouter", "type": "address" }, { @@ -411,8 +411,8 @@ "type": "function" } ], - "bytecode": "0x60a060405261271060809081525034801561001957600080fd5b50608051612ce961004a600039600081816103200152818161035801528181610b560152610b8e0152612ce96000f3fe6080604052600436106100705760003560e01c8063be9899101161004e578063be989910146100e3578063ce36ebd314610120578063d61bf1fa1461013c578063e08e50711461016557610070565b8063295d4d41146100755780638083a0db1461009e578063ab8236f3146100ba575b600080fd5b34801561008157600080fd5b5061009c6004803603810190610097919061166e565b6101a2565b005b6100b860048036038101906100b391906116d3565b610224565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906118a5565b61062d565b005b3480156100ef57600080fd5b5061010a600480360381019061010591906119a8565b610727565b60405161011791906119f9565b60405180910390f35b61013a60048036038101906101359190611a33565b610877565b005b34801561014857600080fd5b50610163600480360381019061015e9190611ac0565b610cdf565b005b34801561017157600080fd5b5061018c60048036038101906101879190611b48565b610ee0565b6040516101999190611b84565b60405180910390f35b6101aa610f66565b60006101b4611001565b90508181600201600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc8383604051610217929190611b9f565b60405180910390a1505050565b600061022e61102e565b9050600181600001540361026e576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160000181905550600034116102bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b290611c4b565b60405180910390fd5b6000826000013511610302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f990611cb7565b60405180910390fd5b600061030c61105b565b9050600061031a8483610727565b905060007f00000000000000000000000000000000000000000000000000000000000000008560c00160208101906103529190611cd7565b61ffff167f00000000000000000000000000000000000000000000000000000000000000006103819190611d33565b86600001356103909190611d67565b61039a9190611dd8565b905060008560e00160208101906103b19190611e09565b6040516020016103c19190611e7e565b604051602081830303815290604052905060008660a00160208101906103e79190611e09565b6040516020016103f79190611ea8565b604051602081830303815290604052905061044b333089600001358a60200160208101906104259190611e09565b73ffffffffffffffffffffffffffffffffffffffff1661108e909392919063ffffffff16565b61048c8588600001358960200160208101906104679190611e09565b73ffffffffffffffffffffffffffffffffffffffff166111179092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc856104c88a60400160208101906104bf9190611cd7565b61ffff16610ee0565b8a60600160208101906104db9190611cd7565b8b60800160208101906104ee9190611cd7565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161056f99989796959493929190612047565b6000604051808303818588803b15801561058857600080fd5b505af115801561059c573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a8668760200160208101906105d59190611e09565b338960a00160208101906105e99190611e09565b8a600001358b60400160208101906106019190611cd7565b6040516106129594939291906120e9565b60405180910390a15050505050600081600001819055505050565b61063561105b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069990612188565b60405180910390fd5b6000818060200190518101906106b891906121d4565b90506106e581848673ffffffffffffffffffffffffffffffffffffffff166112669092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c8484604051610716929190612201565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236961076586604001602081019061075c9190611cd7565b61ffff16610ee0565b60018760e001602081019061077a9190611e09565b60405160200161078a9190611e7e565b6040516020818303038152906040528860a00160208101906107ac9190611e09565b6040516020016107bc9190611ea8565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016107f89190611e7e565b6040516020818303038152906040528152506040518663ffffffff1660e01b815260040161082a959493929190612272565b6040805180830381865afa158015610846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086a91906122ef565b5090508091505092915050565b600061088161102e565b905060018160000154036108c1576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060006108d56112ec565b61ffff16905060018114806108eb575061a4b181145b806108f65750600a81145b610935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092c906123a1565b60405180910390fd5b600183602001602081019061094a9190611cd7565b61ffff161480610971575061a4b183602001602081019061096b9190611cd7565b61ffff16145b806109925750600a83602001602081019061098c9190611cd7565b61ffff16145b6109d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c890612433565b60405180910390fd5b60003411610a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0b9061249f565b60405180910390fd5b6000836000013511610a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5290611cb7565b60405180910390fd5b82600001353411610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9890612531565b60405180910390fd5b6000610aab61130d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b13906125c3565b60405180910390fd5b6000846040016020810190610b319190611e09565b604051602001610b419190611e7e565b604051602081830303815290604052905060007f0000000000000000000000000000000000000000000000000000000000000000866060016020810190610b889190611cd7565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610bb79190611d33565b8760000135610bc69190611d67565b610bd09190611dd8565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a34610c0e896020016020810190610c059190611cd7565b61ffff16610ee0565b33868b60000135876040518763ffffffff1660e01b8152600401610c369594939291906125e3565b6000604051808303818588803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b50505050507f96d8881a4aa5dbc2504224c656dc33918e070ada05b7379f89ef88e706bec7ce33876040016020810190610c9d9190611e09565b8860000135896020016020810190610cb59190611cd7565b604051610cc5949392919061263d565b60405180910390a150505050600081600001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610d4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d45906126f4565b60405180910390fd5b610d56610f66565b6000610d60611001565b9050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160146101000a81548161ffff021916908361ffff16021790555060005b83839050811015610e9c57838382818110610e2857610e27612714565b5b9050604002016020016020810190610e409190611cd7565b826002016000868685818110610e5957610e58612714565b5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610e9590612743565b9050610e0a565b507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb868686604051610ed09392919061278b565b60405180910390a1505050505050565b600080610eeb611001565b9050600081600201600085815260200190815260200160002060009054906101000a900461ffff16905060008161ffff1603610f5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5390612834565b60405180910390fd5b8092505050919050565b610f6e611340565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff6906128c6565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000611065611001565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611111846323b872dd60e01b8585856040516024016110af939291906128e6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b50505050565b60008114806111a1575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161115e92919061291d565b602060405180830381865afa15801561117b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119f9190612946565b145b6111e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d7906129e5565b60405180910390fd5b6112618363095ea7b360e01b84846040516024016111ff929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b6112e78363a9059cbb60e01b8484604051602401611285929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b60006112f6611001565b60010160149054906101000a900461ffff16905090565b6000611317611001565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60006113cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114349092919063ffffffff16565b905060008151111561142f57808060200190518101906113ef9190612a3d565b61142e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142590612adc565b60405180910390fd5b5b505050565b6060611443848460008561144c565b90509392505050565b606082471015611491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148890612b6e565b60405180910390fd5b61149a85611560565b6114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612bda565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115029190612c36565b60006040518083038185875af1925050503d806000811461153f576040519150601f19603f3d011682016040523d82523d6000602084013e611544565b606091505b5091509150611554828286611583565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315611593578290506115e3565b6000835111156115a65782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115da9190612c91565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611611816115fe565b811461161c57600080fd5b50565b60008135905061162e81611608565b92915050565b600061ffff82169050919050565b61164b81611634565b811461165657600080fd5b50565b60008135905061166881611642565b92915050565b60008060408385031215611685576116846115f4565b5b60006116938582860161161f565b92505060206116a485828601611659565b9150509250929050565b600080fd5b600061010082840312156116ca576116c96116ae565b5b81905092915050565b600061010082840312156116ea576116e96115f4565b5b60006116f8848285016116b3565b91505092915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6117548261170b565b810181811067ffffffffffffffff821117156117735761177261171c565b5b80604052505050565b60006117866115ea565b9050611792828261174b565b919050565b600067ffffffffffffffff8211156117b2576117b161171c565b5b6117bb8261170b565b9050602081019050919050565b82818337600083830152505050565b60006117ea6117e584611797565b61177c565b90508281526020810184848401111561180657611805611706565b5b6118118482856117c8565b509392505050565b600082601f83011261182e5761182d611701565b5b813561183e8482602086016117d7565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061187282611847565b9050919050565b61188281611867565b811461188d57600080fd5b50565b60008135905061189f81611879565b92915050565b60008060008060008060c087890312156118c2576118c16115f4565b5b60006118d089828a01611659565b965050602087013567ffffffffffffffff8111156118f1576118f06115f9565b5b6118fd89828a01611819565b955050604061190e89828a0161161f565b945050606061191f89828a01611890565b935050608061193089828a0161161f565b92505060a087013567ffffffffffffffff811115611951576119506115f9565b5b61195d89828a01611819565b9150509295509295509295565b600061197582611867565b9050919050565b6119858161196a565b811461199057600080fd5b50565b6000813590506119a28161197c565b92915050565b60008061012083850312156119c0576119bf6115f4565b5b60006119ce858286016116b3565b9250506101006119e085828601611993565b9150509250929050565b6119f3816115fe565b82525050565b6000602082019050611a0e60008301846119ea565b92915050565b600060808284031215611a2a57611a296116ae565b5b81905092915050565b600060808284031215611a4957611a486115f4565b5b6000611a5784828501611a14565b91505092915050565b600080fd5b600080fd5b60008083601f840112611a8057611a7f611701565b5b8235905067ffffffffffffffff811115611a9d57611a9c611a60565b5b602083019150836040820283011115611ab957611ab8611a65565b5b9250929050565b600080600080600060808688031215611adc57611adb6115f4565b5b6000611aea88828901611890565b9550506020611afb88828901611890565b9450506040611b0c88828901611659565b935050606086013567ffffffffffffffff811115611b2d57611b2c6115f9565b5b611b3988828901611a6a565b92509250509295509295909350565b600060208284031215611b5e57611b5d6115f4565b5b6000611b6c8482850161161f565b91505092915050565b611b7e81611634565b82525050565b6000602082019050611b996000830184611b75565b92915050565b6000604082019050611bb460008301856119ea565b611bc16020830184611b75565b9392505050565b600082825260208201905092915050565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b6000611c35602c83611bc8565b9150611c4082611bd9565b604082019050919050565b60006020820190508181036000830152611c6481611c28565b9050919050565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b6000611ca1601b83611bc8565b9150611cac82611c6b565b602082019050919050565b60006020820190508181036000830152611cd081611c94565b9050919050565b600060208284031215611ced57611cec6115f4565b5b6000611cfb84828501611659565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d3e826115fe565b9150611d49836115fe565b9250828203905081811115611d6157611d60611d04565b5b92915050565b6000611d72826115fe565b9150611d7d836115fe565b9250828202611d8b816115fe565b91508282048414831517611da257611da1611d04565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611de3826115fe565b9150611dee836115fe565b925082611dfe57611dfd611da9565b5b828204905092915050565b600060208284031215611e1f57611e1e6115f4565b5b6000611e2d84828501611890565b91505092915050565b60008160601b9050919050565b6000611e4e82611e36565b9050919050565b6000611e6082611e43565b9050919050565b611e78611e7382611867565b611e55565b82525050565b6000611e8a8284611e67565b60148201915081905092915050565b611ea281611867565b82525050565b6000602082019050611ebd6000830184611e99565b92915050565b6000819050919050565b6000611ee8611ee3611ede84611634565b611ec3565b6115fe565b9050919050565b611ef881611ecd565b82525050565b6000611f0982611847565b9050919050565b611f1981611efe565b82525050565b611f28816115fe565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f68578082015181840152602081019050611f4d565b60008484015250505050565b6000611f7f82611f2e565b611f898185611f39565b9350611f99818560208601611f4a565b611fa28161170b565b840191505092915050565b6000606083016000830151611fc56000860182611f1f565b506020830151611fd86020860182611f1f565b5060408301518482036040860152611ff08282611f74565b9150508091505092915050565b600082825260208201905092915050565b600061201982611f2e565b6120238185611ffd565b9350612033818560208601611f4a565b61203c8161170b565b840191505092915050565b60006101208201905061205d600083018c611b75565b61206a602083018b611eef565b612077604083018a611eef565b6120846060830189611f10565b61209160808301886119ea565b61209e60a08301876119ea565b81810360c08301526120b08186611fad565b905081810360e08301526120c4818561200e565b90508181036101008301526120d9818461200e565b90509a9950505050505050505050565b600060a0820190506120fe6000830188611e99565b61210b6020830187611e99565b6121186040830186611e99565b61212560608301856119ea565b6121326080830184611b75565b9695505050505050565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b6000612172601f83611bc8565b915061217d8261213c565b602082019050919050565b600060208201905081810360008301526121a181612165565b9050919050565b6121b181611efe565b81146121bc57600080fd5b50565b6000815190506121ce816121a8565b92915050565b6000602082840312156121ea576121e96115f4565b5b60006121f8848285016121bf565b91505092915050565b60006040820190506122166000830185611e99565b61222360208301846119ea565b9392505050565b6000819050919050565b600060ff82169050919050565b600061225c6122576122528461222a565b611ec3565b612234565b9050919050565b61226c81612241565b82525050565b600060a0820190506122876000830188611b75565b6122946020830187612263565b81810360408301526122a6818661200e565b905081810360608301526122ba818561200e565b905081810360808301526122ce8184611fad565b90509695505050505050565b6000815190506122e981611608565b92915050565b60008060408385031215612306576123056115f4565b5b6000612314858286016122da565b9250506020612325858286016122da565b9150509250929050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b600061238b603583611bc8565b91506123968261232f565b604082019050919050565b600060208201905081810360008301526123ba8161237e565b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b600061241d603383611bc8565b9150612428826123c1565b604082019050919050565b6000602082019050818103600083015261244c81612410565b9050919050565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b6000612489601d83611bc8565b915061249482612453565b602082019050919050565b600060208201905081810360008301526124b88161247c565b9050919050565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b600061251b602883611bc8565b9150612526826124bf565b604082019050919050565b6000602082019050818103600083015261254a8161250e565b9050919050565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b60006125ad602583611bc8565b91506125b882612551565b604082019050919050565b600060208201905081810360008301526125dc816125a0565b9050919050565b600060a0820190506125f86000830188611b75565b6126056020830187611f10565b8181036040830152612617818661200e565b905061262660608301856119ea565b61263360808301846119ea565b9695505050505050565b60006080820190506126526000830187611e99565b61265f6020830186611e99565b61266c60408301856119ea565b6126796060830184611b75565b95945050505050565b7f53746172676174653a3a20696e76616c696420726f757465722061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006126de602183611bc8565b91506126e982612682565b604082019050919050565b6000602082019050818103600083015261270d816126d1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061274e826115fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127805761277f611d04565b5b600182019050919050565b60006060820190506127a06000830186611e99565b6127ad6020830185611e99565b6127ba6040830184611b75565b949350505050565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b600061281e603183611bc8565b9150612829826127c2565b604082019050919050565b6000602082019050818103600083015261284d81612811565b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006128b0602283611bc8565b91506128bb82612854565b604082019050919050565b600060208201905081810360008301526128df816128a3565b9050919050565b60006060820190506128fb6000830186611e99565b6129086020830185611e99565b61291560408301846119ea565b949350505050565b60006040820190506129326000830185611e99565b61293f6020830184611e99565b9392505050565b60006020828403121561295c5761295b6115f4565b5b600061296a848285016122da565b91505092915050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b60006129cf603683611bc8565b91506129da82612973565b604082019050919050565b600060208201905081810360008301526129fe816129c2565b9050919050565b60008115159050919050565b612a1a81612a05565b8114612a2557600080fd5b50565b600081519050612a3781612a11565b92915050565b600060208284031215612a5357612a526115f4565b5b6000612a6184828501612a28565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612ac6602a83611bc8565b9150612ad182612a6a565b604082019050919050565b60006020820190508181036000830152612af581612ab9565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000612b58602683611bc8565b9150612b6382612afc565b604082019050919050565b60006020820190508181036000830152612b8781612b4b565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000612bc4601d83611bc8565b9150612bcf82612b8e565b602082019050919050565b60006020820190508181036000830152612bf381612bb7565b9050919050565b600081905092915050565b6000612c1082611f2e565b612c1a8185612bfa565b9350612c2a818560208601611f4a565b80840191505092915050565b6000612c428284612c05565b915081905092915050565b600081519050919050565b6000612c6382612c4d565b612c6d8185611bc8565b9350612c7d818560208601611f4a565b612c868161170b565b840191505092915050565b60006020820190508181036000830152612cab8184612c58565b90509291505056fea26469706673582212202507c5fa59f94536f25921d1d66f54562ba8ac152127a88119e22a578201411064736f6c63430008110033", - "deployedBytecode": "0x6080604052600436106100705760003560e01c8063be9899101161004e578063be989910146100e3578063ce36ebd314610120578063d61bf1fa1461013c578063e08e50711461016557610070565b8063295d4d41146100755780638083a0db1461009e578063ab8236f3146100ba575b600080fd5b34801561008157600080fd5b5061009c6004803603810190610097919061166e565b6101a2565b005b6100b860048036038101906100b391906116d3565b610224565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906118a5565b61062d565b005b3480156100ef57600080fd5b5061010a600480360381019061010591906119a8565b610727565b60405161011791906119f9565b60405180910390f35b61013a60048036038101906101359190611a33565b610877565b005b34801561014857600080fd5b50610163600480360381019061015e9190611ac0565b610cdf565b005b34801561017157600080fd5b5061018c60048036038101906101879190611b48565b610ee0565b6040516101999190611b84565b60405180910390f35b6101aa610f66565b60006101b4611001565b90508181600201600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc8383604051610217929190611b9f565b60405180910390a1505050565b600061022e61102e565b9050600181600001540361026e576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160000181905550600034116102bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b290611c4b565b60405180910390fd5b6000826000013511610302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f990611cb7565b60405180910390fd5b600061030c61105b565b9050600061031a8483610727565b905060007f00000000000000000000000000000000000000000000000000000000000000008560c00160208101906103529190611cd7565b61ffff167f00000000000000000000000000000000000000000000000000000000000000006103819190611d33565b86600001356103909190611d67565b61039a9190611dd8565b905060008560e00160208101906103b19190611e09565b6040516020016103c19190611e7e565b604051602081830303815290604052905060008660a00160208101906103e79190611e09565b6040516020016103f79190611ea8565b604051602081830303815290604052905061044b333089600001358a60200160208101906104259190611e09565b73ffffffffffffffffffffffffffffffffffffffff1661108e909392919063ffffffff16565b61048c8588600001358960200160208101906104679190611e09565b73ffffffffffffffffffffffffffffffffffffffff166111179092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc856104c88a60400160208101906104bf9190611cd7565b61ffff16610ee0565b8a60600160208101906104db9190611cd7565b8b60800160208101906104ee9190611cd7565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161056f99989796959493929190612047565b6000604051808303818588803b15801561058857600080fd5b505af115801561059c573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a8668760200160208101906105d59190611e09565b338960a00160208101906105e99190611e09565b8a600001358b60400160208101906106019190611cd7565b6040516106129594939291906120e9565b60405180910390a15050505050600081600001819055505050565b61063561105b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069990612188565b60405180910390fd5b6000818060200190518101906106b891906121d4565b90506106e581848673ffffffffffffffffffffffffffffffffffffffff166112669092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c8484604051610716929190612201565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236961076586604001602081019061075c9190611cd7565b61ffff16610ee0565b60018760e001602081019061077a9190611e09565b60405160200161078a9190611e7e565b6040516020818303038152906040528860a00160208101906107ac9190611e09565b6040516020016107bc9190611ea8565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016107f89190611e7e565b6040516020818303038152906040528152506040518663ffffffff1660e01b815260040161082a959493929190612272565b6040805180830381865afa158015610846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086a91906122ef565b5090508091505092915050565b600061088161102e565b905060018160000154036108c1576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060006108d56112ec565b61ffff16905060018114806108eb575061a4b181145b806108f65750600a81145b610935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092c906123a1565b60405180910390fd5b600183602001602081019061094a9190611cd7565b61ffff161480610971575061a4b183602001602081019061096b9190611cd7565b61ffff16145b806109925750600a83602001602081019061098c9190611cd7565b61ffff16145b6109d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c890612433565b60405180910390fd5b60003411610a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0b9061249f565b60405180910390fd5b6000836000013511610a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5290611cb7565b60405180910390fd5b82600001353411610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9890612531565b60405180910390fd5b6000610aab61130d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b13906125c3565b60405180910390fd5b6000846040016020810190610b319190611e09565b604051602001610b419190611e7e565b604051602081830303815290604052905060007f0000000000000000000000000000000000000000000000000000000000000000866060016020810190610b889190611cd7565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610bb79190611d33565b8760000135610bc69190611d67565b610bd09190611dd8565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a34610c0e896020016020810190610c059190611cd7565b61ffff16610ee0565b33868b60000135876040518763ffffffff1660e01b8152600401610c369594939291906125e3565b6000604051808303818588803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b50505050507f96d8881a4aa5dbc2504224c656dc33918e070ada05b7379f89ef88e706bec7ce33876040016020810190610c9d9190611e09565b8860000135896020016020810190610cb59190611cd7565b604051610cc5949392919061263d565b60405180910390a150505050600081600001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610d4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d45906126f4565b60405180910390fd5b610d56610f66565b6000610d60611001565b9050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160146101000a81548161ffff021916908361ffff16021790555060005b83839050811015610e9c57838382818110610e2857610e27612714565b5b9050604002016020016020810190610e409190611cd7565b826002016000868685818110610e5957610e58612714565b5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610e9590612743565b9050610e0a565b507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb868686604051610ed09392919061278b565b60405180910390a1505050505050565b600080610eeb611001565b9050600081600201600085815260200190815260200160002060009054906101000a900461ffff16905060008161ffff1603610f5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5390612834565b60405180910390fd5b8092505050919050565b610f6e611340565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff6906128c6565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000611065611001565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611111846323b872dd60e01b8585856040516024016110af939291906128e6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b50505050565b60008114806111a1575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161115e92919061291d565b602060405180830381865afa15801561117b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119f9190612946565b145b6111e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d7906129e5565b60405180910390fd5b6112618363095ea7b360e01b84846040516024016111ff929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b6112e78363a9059cbb60e01b8484604051602401611285929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b60006112f6611001565b60010160149054906101000a900461ffff16905090565b6000611317611001565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60006113cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114349092919063ffffffff16565b905060008151111561142f57808060200190518101906113ef9190612a3d565b61142e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142590612adc565b60405180910390fd5b5b505050565b6060611443848460008561144c565b90509392505050565b606082471015611491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148890612b6e565b60405180910390fd5b61149a85611560565b6114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612bda565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115029190612c36565b60006040518083038185875af1925050503d806000811461153f576040519150601f19603f3d011682016040523d82523d6000602084013e611544565b606091505b5091509150611554828286611583565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315611593578290506115e3565b6000835111156115a65782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115da9190612c91565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611611816115fe565b811461161c57600080fd5b50565b60008135905061162e81611608565b92915050565b600061ffff82169050919050565b61164b81611634565b811461165657600080fd5b50565b60008135905061166881611642565b92915050565b60008060408385031215611685576116846115f4565b5b60006116938582860161161f565b92505060206116a485828601611659565b9150509250929050565b600080fd5b600061010082840312156116ca576116c96116ae565b5b81905092915050565b600061010082840312156116ea576116e96115f4565b5b60006116f8848285016116b3565b91505092915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6117548261170b565b810181811067ffffffffffffffff821117156117735761177261171c565b5b80604052505050565b60006117866115ea565b9050611792828261174b565b919050565b600067ffffffffffffffff8211156117b2576117b161171c565b5b6117bb8261170b565b9050602081019050919050565b82818337600083830152505050565b60006117ea6117e584611797565b61177c565b90508281526020810184848401111561180657611805611706565b5b6118118482856117c8565b509392505050565b600082601f83011261182e5761182d611701565b5b813561183e8482602086016117d7565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061187282611847565b9050919050565b61188281611867565b811461188d57600080fd5b50565b60008135905061189f81611879565b92915050565b60008060008060008060c087890312156118c2576118c16115f4565b5b60006118d089828a01611659565b965050602087013567ffffffffffffffff8111156118f1576118f06115f9565b5b6118fd89828a01611819565b955050604061190e89828a0161161f565b945050606061191f89828a01611890565b935050608061193089828a0161161f565b92505060a087013567ffffffffffffffff811115611951576119506115f9565b5b61195d89828a01611819565b9150509295509295509295565b600061197582611867565b9050919050565b6119858161196a565b811461199057600080fd5b50565b6000813590506119a28161197c565b92915050565b60008061012083850312156119c0576119bf6115f4565b5b60006119ce858286016116b3565b9250506101006119e085828601611993565b9150509250929050565b6119f3816115fe565b82525050565b6000602082019050611a0e60008301846119ea565b92915050565b600060808284031215611a2a57611a296116ae565b5b81905092915050565b600060808284031215611a4957611a486115f4565b5b6000611a5784828501611a14565b91505092915050565b600080fd5b600080fd5b60008083601f840112611a8057611a7f611701565b5b8235905067ffffffffffffffff811115611a9d57611a9c611a60565b5b602083019150836040820283011115611ab957611ab8611a65565b5b9250929050565b600080600080600060808688031215611adc57611adb6115f4565b5b6000611aea88828901611890565b9550506020611afb88828901611890565b9450506040611b0c88828901611659565b935050606086013567ffffffffffffffff811115611b2d57611b2c6115f9565b5b611b3988828901611a6a565b92509250509295509295909350565b600060208284031215611b5e57611b5d6115f4565b5b6000611b6c8482850161161f565b91505092915050565b611b7e81611634565b82525050565b6000602082019050611b996000830184611b75565b92915050565b6000604082019050611bb460008301856119ea565b611bc16020830184611b75565b9392505050565b600082825260208201905092915050565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b6000611c35602c83611bc8565b9150611c4082611bd9565b604082019050919050565b60006020820190508181036000830152611c6481611c28565b9050919050565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b6000611ca1601b83611bc8565b9150611cac82611c6b565b602082019050919050565b60006020820190508181036000830152611cd081611c94565b9050919050565b600060208284031215611ced57611cec6115f4565b5b6000611cfb84828501611659565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d3e826115fe565b9150611d49836115fe565b9250828203905081811115611d6157611d60611d04565b5b92915050565b6000611d72826115fe565b9150611d7d836115fe565b9250828202611d8b816115fe565b91508282048414831517611da257611da1611d04565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611de3826115fe565b9150611dee836115fe565b925082611dfe57611dfd611da9565b5b828204905092915050565b600060208284031215611e1f57611e1e6115f4565b5b6000611e2d84828501611890565b91505092915050565b60008160601b9050919050565b6000611e4e82611e36565b9050919050565b6000611e6082611e43565b9050919050565b611e78611e7382611867565b611e55565b82525050565b6000611e8a8284611e67565b60148201915081905092915050565b611ea281611867565b82525050565b6000602082019050611ebd6000830184611e99565b92915050565b6000819050919050565b6000611ee8611ee3611ede84611634565b611ec3565b6115fe565b9050919050565b611ef881611ecd565b82525050565b6000611f0982611847565b9050919050565b611f1981611efe565b82525050565b611f28816115fe565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f68578082015181840152602081019050611f4d565b60008484015250505050565b6000611f7f82611f2e565b611f898185611f39565b9350611f99818560208601611f4a565b611fa28161170b565b840191505092915050565b6000606083016000830151611fc56000860182611f1f565b506020830151611fd86020860182611f1f565b5060408301518482036040860152611ff08282611f74565b9150508091505092915050565b600082825260208201905092915050565b600061201982611f2e565b6120238185611ffd565b9350612033818560208601611f4a565b61203c8161170b565b840191505092915050565b60006101208201905061205d600083018c611b75565b61206a602083018b611eef565b612077604083018a611eef565b6120846060830189611f10565b61209160808301886119ea565b61209e60a08301876119ea565b81810360c08301526120b08186611fad565b905081810360e08301526120c4818561200e565b90508181036101008301526120d9818461200e565b90509a9950505050505050505050565b600060a0820190506120fe6000830188611e99565b61210b6020830187611e99565b6121186040830186611e99565b61212560608301856119ea565b6121326080830184611b75565b9695505050505050565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b6000612172601f83611bc8565b915061217d8261213c565b602082019050919050565b600060208201905081810360008301526121a181612165565b9050919050565b6121b181611efe565b81146121bc57600080fd5b50565b6000815190506121ce816121a8565b92915050565b6000602082840312156121ea576121e96115f4565b5b60006121f8848285016121bf565b91505092915050565b60006040820190506122166000830185611e99565b61222360208301846119ea565b9392505050565b6000819050919050565b600060ff82169050919050565b600061225c6122576122528461222a565b611ec3565b612234565b9050919050565b61226c81612241565b82525050565b600060a0820190506122876000830188611b75565b6122946020830187612263565b81810360408301526122a6818661200e565b905081810360608301526122ba818561200e565b905081810360808301526122ce8184611fad565b90509695505050505050565b6000815190506122e981611608565b92915050565b60008060408385031215612306576123056115f4565b5b6000612314858286016122da565b9250506020612325858286016122da565b9150509250929050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b600061238b603583611bc8565b91506123968261232f565b604082019050919050565b600060208201905081810360008301526123ba8161237e565b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b600061241d603383611bc8565b9150612428826123c1565b604082019050919050565b6000602082019050818103600083015261244c81612410565b9050919050565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b6000612489601d83611bc8565b915061249482612453565b602082019050919050565b600060208201905081810360008301526124b88161247c565b9050919050565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b600061251b602883611bc8565b9150612526826124bf565b604082019050919050565b6000602082019050818103600083015261254a8161250e565b9050919050565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b60006125ad602583611bc8565b91506125b882612551565b604082019050919050565b600060208201905081810360008301526125dc816125a0565b9050919050565b600060a0820190506125f86000830188611b75565b6126056020830187611f10565b8181036040830152612617818661200e565b905061262660608301856119ea565b61263360808301846119ea565b9695505050505050565b60006080820190506126526000830187611e99565b61265f6020830186611e99565b61266c60408301856119ea565b6126796060830184611b75565b95945050505050565b7f53746172676174653a3a20696e76616c696420726f757465722061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006126de602183611bc8565b91506126e982612682565b604082019050919050565b6000602082019050818103600083015261270d816126d1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061274e826115fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127805761277f611d04565b5b600182019050919050565b60006060820190506127a06000830186611e99565b6127ad6020830185611e99565b6127ba6040830184611b75565b949350505050565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b600061281e603183611bc8565b9150612829826127c2565b604082019050919050565b6000602082019050818103600083015261284d81612811565b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006128b0602283611bc8565b91506128bb82612854565b604082019050919050565b600060208201905081810360008301526128df816128a3565b9050919050565b60006060820190506128fb6000830186611e99565b6129086020830185611e99565b61291560408301846119ea565b949350505050565b60006040820190506129326000830185611e99565b61293f6020830184611e99565b9392505050565b60006020828403121561295c5761295b6115f4565b5b600061296a848285016122da565b91505092915050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b60006129cf603683611bc8565b91506129da82612973565b604082019050919050565b600060208201905081810360008301526129fe816129c2565b9050919050565b60008115159050919050565b612a1a81612a05565b8114612a2557600080fd5b50565b600081519050612a3781612a11565b92915050565b600060208284031215612a5357612a526115f4565b5b6000612a6184828501612a28565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612ac6602a83611bc8565b9150612ad182612a6a565b604082019050919050565b60006020820190508181036000830152612af581612ab9565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000612b58602683611bc8565b9150612b6382612afc565b604082019050919050565b60006020820190508181036000830152612b8781612b4b565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000612bc4601d83611bc8565b9150612bcf82612b8e565b602082019050919050565b60006020820190508181036000830152612bf381612bb7565b9050919050565b600081905092915050565b6000612c1082611f2e565b612c1a8185612bfa565b9350612c2a818560208601611f4a565b80840191505092915050565b6000612c428284612c05565b915081905092915050565b600081519050919050565b6000612c6382612c4d565b612c6d8185611bc8565b9350612c7d818560208601611f4a565b612c868161170b565b840191505092915050565b60006020820190508181036000830152612cab8184612c58565b90509291505056fea26469706673582212202507c5fa59f94536f25921d1d66f54562ba8ac152127a88119e22a578201411064736f6c63430008110033", + "bytecode": "0x60a060405261271060809081525034801561001957600080fd5b50608051612ce961004a600039600081816103200152818161035801528181610b560152610b8e0152612ce96000f3fe6080604052600436106100705760003560e01c8063be9899101161004e578063be989910146100e3578063ce36ebd314610120578063d61bf1fa1461013c578063e08e50711461016557610070565b8063295d4d41146100755780638083a0db1461009e578063ab8236f3146100ba575b600080fd5b34801561008157600080fd5b5061009c6004803603810190610097919061166e565b6101a2565b005b6100b860048036038101906100b391906116d3565b610224565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906118a5565b61062d565b005b3480156100ef57600080fd5b5061010a600480360381019061010591906119a8565b610727565b60405161011791906119f9565b60405180910390f35b61013a60048036038101906101359190611a33565b610877565b005b34801561014857600080fd5b50610163600480360381019061015e9190611ac0565b610cdf565b005b34801561017157600080fd5b5061018c60048036038101906101879190611b48565b610ee0565b6040516101999190611b84565b60405180910390f35b6101aa610f66565b60006101b4611001565b90508181600201600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc8383604051610217929190611b9f565b60405180910390a1505050565b600061022e61102e565b9050600181600001540361026e576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160000181905550600034116102bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b290611c4b565b60405180910390fd5b6000826000013511610302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f990611cb7565b60405180910390fd5b600061030c61105b565b9050600061031a8483610727565b905060007f00000000000000000000000000000000000000000000000000000000000000008560c00160208101906103529190611cd7565b61ffff167f00000000000000000000000000000000000000000000000000000000000000006103819190611d33565b86600001356103909190611d67565b61039a9190611dd8565b905060008560e00160208101906103b19190611e09565b6040516020016103c19190611e7e565b604051602081830303815290604052905060008660a00160208101906103e79190611e09565b6040516020016103f79190611ea8565b604051602081830303815290604052905061044b333089600001358a60200160208101906104259190611e09565b73ffffffffffffffffffffffffffffffffffffffff1661108e909392919063ffffffff16565b61048c8588600001358960200160208101906104679190611e09565b73ffffffffffffffffffffffffffffffffffffffff166111179092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc856104c88a60400160208101906104bf9190611cd7565b61ffff16610ee0565b8a60600160208101906104db9190611cd7565b8b60800160208101906104ee9190611cd7565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161056f99989796959493929190612047565b6000604051808303818588803b15801561058857600080fd5b505af115801561059c573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a8668760200160208101906105d59190611e09565b338960a00160208101906105e99190611e09565b8a600001358b60400160208101906106019190611cd7565b6040516106129594939291906120e9565b60405180910390a15050505050600081600001819055505050565b61063561105b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069990612188565b60405180910390fd5b6000818060200190518101906106b891906121d4565b90506106e581848673ffffffffffffffffffffffffffffffffffffffff166112669092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c8484604051610716929190612201565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236961076586604001602081019061075c9190611cd7565b61ffff16610ee0565b60018760e001602081019061077a9190611e09565b60405160200161078a9190611e7e565b6040516020818303038152906040528860a00160208101906107ac9190611e09565b6040516020016107bc9190611ea8565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016107f89190611e7e565b6040516020818303038152906040528152506040518663ffffffff1660e01b815260040161082a959493929190612272565b6040805180830381865afa158015610846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086a91906122ef565b5090508091505092915050565b600061088161102e565b905060018160000154036108c1576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060006108d56112ec565b61ffff16905060018114806108eb575061a4b181145b806108f65750600a81145b610935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092c906123a1565b60405180910390fd5b600183602001602081019061094a9190611cd7565b61ffff161480610971575061a4b183602001602081019061096b9190611cd7565b61ffff16145b806109925750600a83602001602081019061098c9190611cd7565b61ffff16145b6109d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c890612433565b60405180910390fd5b60003411610a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0b9061249f565b60405180910390fd5b6000836000013511610a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5290611cb7565b60405180910390fd5b82600001353411610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9890612531565b60405180910390fd5b6000610aab61130d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b13906125c3565b60405180910390fd5b6000846040016020810190610b319190611e09565b604051602001610b419190611e7e565b604051602081830303815290604052905060007f0000000000000000000000000000000000000000000000000000000000000000866060016020810190610b889190611cd7565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610bb79190611d33565b8760000135610bc69190611d67565b610bd09190611dd8565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a34610c0e896020016020810190610c059190611cd7565b61ffff16610ee0565b33868b60000135876040518763ffffffff1660e01b8152600401610c369594939291906125e3565b6000604051808303818588803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b50505050507f96d8881a4aa5dbc2504224c656dc33918e070ada05b7379f89ef88e706bec7ce33876040016020810190610c9d9190611e09565b8860000135896020016020810190610cb59190611cd7565b604051610cc5949392919061263d565b60405180910390a150505050600081600001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610d4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d45906126f4565b60405180910390fd5b610d56610f66565b6000610d60611001565b9050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160146101000a81548161ffff021916908361ffff16021790555060005b83839050811015610e9c57838382818110610e2857610e27612714565b5b9050604002016020016020810190610e409190611cd7565b826002016000868685818110610e5957610e58612714565b5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610e9590612743565b9050610e0a565b507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb868686604051610ed09392919061278b565b60405180910390a1505050505050565b600080610eeb611001565b9050600081600201600085815260200190815260200160002060009054906101000a900461ffff16905060008161ffff1603610f5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5390612834565b60405180910390fd5b8092505050919050565b610f6e611340565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff6906128c6565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000611065611001565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611111846323b872dd60e01b8585856040516024016110af939291906128e6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b50505050565b60008114806111a1575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161115e92919061291d565b602060405180830381865afa15801561117b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119f9190612946565b145b6111e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d7906129e5565b60405180910390fd5b6112618363095ea7b360e01b84846040516024016111ff929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b6112e78363a9059cbb60e01b8484604051602401611285929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b60006112f6611001565b60010160149054906101000a900461ffff16905090565b6000611317611001565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60006113cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114349092919063ffffffff16565b905060008151111561142f57808060200190518101906113ef9190612a3d565b61142e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142590612adc565b60405180910390fd5b5b505050565b6060611443848460008561144c565b90509392505050565b606082471015611491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148890612b6e565b60405180910390fd5b61149a85611560565b6114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612bda565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115029190612c36565b60006040518083038185875af1925050503d806000811461153f576040519150601f19603f3d011682016040523d82523d6000602084013e611544565b606091505b5091509150611554828286611583565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315611593578290506115e3565b6000835111156115a65782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115da9190612c91565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611611816115fe565b811461161c57600080fd5b50565b60008135905061162e81611608565b92915050565b600061ffff82169050919050565b61164b81611634565b811461165657600080fd5b50565b60008135905061166881611642565b92915050565b60008060408385031215611685576116846115f4565b5b60006116938582860161161f565b92505060206116a485828601611659565b9150509250929050565b600080fd5b600061010082840312156116ca576116c96116ae565b5b81905092915050565b600061010082840312156116ea576116e96115f4565b5b60006116f8848285016116b3565b91505092915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6117548261170b565b810181811067ffffffffffffffff821117156117735761177261171c565b5b80604052505050565b60006117866115ea565b9050611792828261174b565b919050565b600067ffffffffffffffff8211156117b2576117b161171c565b5b6117bb8261170b565b9050602081019050919050565b82818337600083830152505050565b60006117ea6117e584611797565b61177c565b90508281526020810184848401111561180657611805611706565b5b6118118482856117c8565b509392505050565b600082601f83011261182e5761182d611701565b5b813561183e8482602086016117d7565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061187282611847565b9050919050565b61188281611867565b811461188d57600080fd5b50565b60008135905061189f81611879565b92915050565b60008060008060008060c087890312156118c2576118c16115f4565b5b60006118d089828a01611659565b965050602087013567ffffffffffffffff8111156118f1576118f06115f9565b5b6118fd89828a01611819565b955050604061190e89828a0161161f565b945050606061191f89828a01611890565b935050608061193089828a0161161f565b92505060a087013567ffffffffffffffff811115611951576119506115f9565b5b61195d89828a01611819565b9150509295509295509295565b600061197582611867565b9050919050565b6119858161196a565b811461199057600080fd5b50565b6000813590506119a28161197c565b92915050565b60008061012083850312156119c0576119bf6115f4565b5b60006119ce858286016116b3565b9250506101006119e085828601611993565b9150509250929050565b6119f3816115fe565b82525050565b6000602082019050611a0e60008301846119ea565b92915050565b600060808284031215611a2a57611a296116ae565b5b81905092915050565b600060808284031215611a4957611a486115f4565b5b6000611a5784828501611a14565b91505092915050565b600080fd5b600080fd5b60008083601f840112611a8057611a7f611701565b5b8235905067ffffffffffffffff811115611a9d57611a9c611a60565b5b602083019150836040820283011115611ab957611ab8611a65565b5b9250929050565b600080600080600060808688031215611adc57611adb6115f4565b5b6000611aea88828901611890565b9550506020611afb88828901611890565b9450506040611b0c88828901611659565b935050606086013567ffffffffffffffff811115611b2d57611b2c6115f9565b5b611b3988828901611a6a565b92509250509295509295909350565b600060208284031215611b5e57611b5d6115f4565b5b6000611b6c8482850161161f565b91505092915050565b611b7e81611634565b82525050565b6000602082019050611b996000830184611b75565b92915050565b6000604082019050611bb460008301856119ea565b611bc16020830184611b75565b9392505050565b600082825260208201905092915050565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b6000611c35602c83611bc8565b9150611c4082611bd9565b604082019050919050565b60006020820190508181036000830152611c6481611c28565b9050919050565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b6000611ca1601b83611bc8565b9150611cac82611c6b565b602082019050919050565b60006020820190508181036000830152611cd081611c94565b9050919050565b600060208284031215611ced57611cec6115f4565b5b6000611cfb84828501611659565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d3e826115fe565b9150611d49836115fe565b9250828203905081811115611d6157611d60611d04565b5b92915050565b6000611d72826115fe565b9150611d7d836115fe565b9250828202611d8b816115fe565b91508282048414831517611da257611da1611d04565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611de3826115fe565b9150611dee836115fe565b925082611dfe57611dfd611da9565b5b828204905092915050565b600060208284031215611e1f57611e1e6115f4565b5b6000611e2d84828501611890565b91505092915050565b60008160601b9050919050565b6000611e4e82611e36565b9050919050565b6000611e6082611e43565b9050919050565b611e78611e7382611867565b611e55565b82525050565b6000611e8a8284611e67565b60148201915081905092915050565b611ea281611867565b82525050565b6000602082019050611ebd6000830184611e99565b92915050565b6000819050919050565b6000611ee8611ee3611ede84611634565b611ec3565b6115fe565b9050919050565b611ef881611ecd565b82525050565b6000611f0982611847565b9050919050565b611f1981611efe565b82525050565b611f28816115fe565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f68578082015181840152602081019050611f4d565b60008484015250505050565b6000611f7f82611f2e565b611f898185611f39565b9350611f99818560208601611f4a565b611fa28161170b565b840191505092915050565b6000606083016000830151611fc56000860182611f1f565b506020830151611fd86020860182611f1f565b5060408301518482036040860152611ff08282611f74565b9150508091505092915050565b600082825260208201905092915050565b600061201982611f2e565b6120238185611ffd565b9350612033818560208601611f4a565b61203c8161170b565b840191505092915050565b60006101208201905061205d600083018c611b75565b61206a602083018b611eef565b612077604083018a611eef565b6120846060830189611f10565b61209160808301886119ea565b61209e60a08301876119ea565b81810360c08301526120b08186611fad565b905081810360e08301526120c4818561200e565b90508181036101008301526120d9818461200e565b90509a9950505050505050505050565b600060a0820190506120fe6000830188611e99565b61210b6020830187611e99565b6121186040830186611e99565b61212560608301856119ea565b6121326080830184611b75565b9695505050505050565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b6000612172601f83611bc8565b915061217d8261213c565b602082019050919050565b600060208201905081810360008301526121a181612165565b9050919050565b6121b181611efe565b81146121bc57600080fd5b50565b6000815190506121ce816121a8565b92915050565b6000602082840312156121ea576121e96115f4565b5b60006121f8848285016121bf565b91505092915050565b60006040820190506122166000830185611e99565b61222360208301846119ea565b9392505050565b6000819050919050565b600060ff82169050919050565b600061225c6122576122528461222a565b611ec3565b612234565b9050919050565b61226c81612241565b82525050565b600060a0820190506122876000830188611b75565b6122946020830187612263565b81810360408301526122a6818661200e565b905081810360608301526122ba818561200e565b905081810360808301526122ce8184611fad565b90509695505050505050565b6000815190506122e981611608565b92915050565b60008060408385031215612306576123056115f4565b5b6000612314858286016122da565b9250506020612325858286016122da565b9150509250929050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b600061238b603583611bc8565b91506123968261232f565b604082019050919050565b600060208201905081810360008301526123ba8161237e565b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b600061241d603383611bc8565b9150612428826123c1565b604082019050919050565b6000602082019050818103600083015261244c81612410565b9050919050565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b6000612489601d83611bc8565b915061249482612453565b602082019050919050565b600060208201905081810360008301526124b88161247c565b9050919050565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b600061251b602883611bc8565b9150612526826124bf565b604082019050919050565b6000602082019050818103600083015261254a8161250e565b9050919050565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b60006125ad602583611bc8565b91506125b882612551565b604082019050919050565b600060208201905081810360008301526125dc816125a0565b9050919050565b600060a0820190506125f86000830188611b75565b6126056020830187611f10565b8181036040830152612617818661200e565b905061262660608301856119ea565b61263360808301846119ea565b9695505050505050565b60006080820190506126526000830187611e99565b61265f6020830186611e99565b61266c60408301856119ea565b6126796060830184611b75565b95945050505050565b7f53746172676174653a3a20696e76616c696420726f757465722061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006126de602183611bc8565b91506126e982612682565b604082019050919050565b6000602082019050818103600083015261270d816126d1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061274e826115fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127805761277f611d04565b5b600182019050919050565b60006060820190506127a06000830186611e99565b6127ad6020830185611e99565b6127ba6040830184611b75565b949350505050565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b600061281e603183611bc8565b9150612829826127c2565b604082019050919050565b6000602082019050818103600083015261284d81612811565b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006128b0602283611bc8565b91506128bb82612854565b604082019050919050565b600060208201905081810360008301526128df816128a3565b9050919050565b60006060820190506128fb6000830186611e99565b6129086020830185611e99565b61291560408301846119ea565b949350505050565b60006040820190506129326000830185611e99565b61293f6020830184611e99565b9392505050565b60006020828403121561295c5761295b6115f4565b5b600061296a848285016122da565b91505092915050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b60006129cf603683611bc8565b91506129da82612973565b604082019050919050565b600060208201905081810360008301526129fe816129c2565b9050919050565b60008115159050919050565b612a1a81612a05565b8114612a2557600080fd5b50565b600081519050612a3781612a11565b92915050565b600060208284031215612a5357612a526115f4565b5b6000612a6184828501612a28565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612ac6602a83611bc8565b9150612ad182612a6a565b604082019050919050565b60006020820190508181036000830152612af581612ab9565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000612b58602683611bc8565b9150612b6382612afc565b604082019050919050565b60006020820190508181036000830152612b8781612b4b565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000612bc4601d83611bc8565b9150612bcf82612b8e565b602082019050919050565b60006020820190508181036000830152612bf381612bb7565b9050919050565b600081905092915050565b6000612c1082611f2e565b612c1a8185612bfa565b9350612c2a818560208601611f4a565b80840191505092915050565b6000612c428284612c05565b915081905092915050565b600081519050919050565b6000612c6382612c4d565b612c6d8185611bc8565b9350612c7d818560208601611f4a565b612c868161170b565b840191505092915050565b60006020820190508181036000830152612cab8184612c58565b90509291505056fea26469706673582212209322f362441818c0655a2ffb0b4ddaccae4855fe24b3db9dce7dfb28c688d3ed64736f6c63430008110033", + "deployedBytecode": "0x6080604052600436106100705760003560e01c8063be9899101161004e578063be989910146100e3578063ce36ebd314610120578063d61bf1fa1461013c578063e08e50711461016557610070565b8063295d4d41146100755780638083a0db1461009e578063ab8236f3146100ba575b600080fd5b34801561008157600080fd5b5061009c6004803603810190610097919061166e565b6101a2565b005b6100b860048036038101906100b391906116d3565b610224565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906118a5565b61062d565b005b3480156100ef57600080fd5b5061010a600480360381019061010591906119a8565b610727565b60405161011791906119f9565b60405180910390f35b61013a60048036038101906101359190611a33565b610877565b005b34801561014857600080fd5b50610163600480360381019061015e9190611ac0565b610cdf565b005b34801561017157600080fd5b5061018c60048036038101906101879190611b48565b610ee0565b6040516101999190611b84565b60405180910390f35b6101aa610f66565b60006101b4611001565b90508181600201600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc8383604051610217929190611b9f565b60405180910390a1505050565b600061022e61102e565b9050600181600001540361026e576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160000181905550600034116102bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b290611c4b565b60405180910390fd5b6000826000013511610302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f990611cb7565b60405180910390fd5b600061030c61105b565b9050600061031a8483610727565b905060007f00000000000000000000000000000000000000000000000000000000000000008560c00160208101906103529190611cd7565b61ffff167f00000000000000000000000000000000000000000000000000000000000000006103819190611d33565b86600001356103909190611d67565b61039a9190611dd8565b905060008560e00160208101906103b19190611e09565b6040516020016103c19190611e7e565b604051602081830303815290604052905060008660a00160208101906103e79190611e09565b6040516020016103f79190611ea8565b604051602081830303815290604052905061044b333089600001358a60200160208101906104259190611e09565b73ffffffffffffffffffffffffffffffffffffffff1661108e909392919063ffffffff16565b61048c8588600001358960200160208101906104679190611e09565b73ffffffffffffffffffffffffffffffffffffffff166111179092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc856104c88a60400160208101906104bf9190611cd7565b61ffff16610ee0565b8a60600160208101906104db9190611cd7565b8b60800160208101906104ee9190611cd7565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161056f99989796959493929190612047565b6000604051808303818588803b15801561058857600080fd5b505af115801561059c573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a8668760200160208101906105d59190611e09565b338960a00160208101906105e99190611e09565b8a600001358b60400160208101906106019190611cd7565b6040516106129594939291906120e9565b60405180910390a15050505050600081600001819055505050565b61063561105b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069990612188565b60405180910390fd5b6000818060200190518101906106b891906121d4565b90506106e581848673ffffffffffffffffffffffffffffffffffffffff166112669092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c8484604051610716929190612201565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236961076586604001602081019061075c9190611cd7565b61ffff16610ee0565b60018760e001602081019061077a9190611e09565b60405160200161078a9190611e7e565b6040516020818303038152906040528860a00160208101906107ac9190611e09565b6040516020016107bc9190611ea8565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016107f89190611e7e565b6040516020818303038152906040528152506040518663ffffffff1660e01b815260040161082a959493929190612272565b6040805180830381865afa158015610846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086a91906122ef565b5090508091505092915050565b600061088161102e565b905060018160000154036108c1576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060006108d56112ec565b61ffff16905060018114806108eb575061a4b181145b806108f65750600a81145b610935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092c906123a1565b60405180910390fd5b600183602001602081019061094a9190611cd7565b61ffff161480610971575061a4b183602001602081019061096b9190611cd7565b61ffff16145b806109925750600a83602001602081019061098c9190611cd7565b61ffff16145b6109d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c890612433565b60405180910390fd5b60003411610a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0b9061249f565b60405180910390fd5b6000836000013511610a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5290611cb7565b60405180910390fd5b82600001353411610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9890612531565b60405180910390fd5b6000610aab61130d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b13906125c3565b60405180910390fd5b6000846040016020810190610b319190611e09565b604051602001610b419190611e7e565b604051602081830303815290604052905060007f0000000000000000000000000000000000000000000000000000000000000000866060016020810190610b889190611cd7565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610bb79190611d33565b8760000135610bc69190611d67565b610bd09190611dd8565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a34610c0e896020016020810190610c059190611cd7565b61ffff16610ee0565b33868b60000135876040518763ffffffff1660e01b8152600401610c369594939291906125e3565b6000604051808303818588803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b50505050507f96d8881a4aa5dbc2504224c656dc33918e070ada05b7379f89ef88e706bec7ce33876040016020810190610c9d9190611e09565b8860000135896020016020810190610cb59190611cd7565b604051610cc5949392919061263d565b60405180910390a150505050600081600001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610d4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d45906126f4565b60405180910390fd5b610d56610f66565b6000610d60611001565b9050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160146101000a81548161ffff021916908361ffff16021790555060005b83839050811015610e9c57838382818110610e2857610e27612714565b5b9050604002016020016020810190610e409190611cd7565b826002016000868685818110610e5957610e58612714565b5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610e9590612743565b9050610e0a565b507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb868686604051610ed09392919061278b565b60405180910390a1505050505050565b600080610eeb611001565b9050600081600201600085815260200190815260200160002060009054906101000a900461ffff16905060008161ffff1603610f5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5390612834565b60405180910390fd5b8092505050919050565b610f6e611340565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff6906128c6565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000611065611001565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611111846323b872dd60e01b8585856040516024016110af939291906128e6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b50505050565b60008114806111a1575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161115e92919061291d565b602060405180830381865afa15801561117b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119f9190612946565b145b6111e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d7906129e5565b60405180910390fd5b6112618363095ea7b360e01b84846040516024016111ff929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b6112e78363a9059cbb60e01b8484604051602401611285929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b60006112f6611001565b60010160149054906101000a900461ffff16905090565b6000611317611001565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60006113cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114349092919063ffffffff16565b905060008151111561142f57808060200190518101906113ef9190612a3d565b61142e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142590612adc565b60405180910390fd5b5b505050565b6060611443848460008561144c565b90509392505050565b606082471015611491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148890612b6e565b60405180910390fd5b61149a85611560565b6114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612bda565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115029190612c36565b60006040518083038185875af1925050503d806000811461153f576040519150601f19603f3d011682016040523d82523d6000602084013e611544565b606091505b5091509150611554828286611583565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315611593578290506115e3565b6000835111156115a65782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115da9190612c91565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611611816115fe565b811461161c57600080fd5b50565b60008135905061162e81611608565b92915050565b600061ffff82169050919050565b61164b81611634565b811461165657600080fd5b50565b60008135905061166881611642565b92915050565b60008060408385031215611685576116846115f4565b5b60006116938582860161161f565b92505060206116a485828601611659565b9150509250929050565b600080fd5b600061010082840312156116ca576116c96116ae565b5b81905092915050565b600061010082840312156116ea576116e96115f4565b5b60006116f8848285016116b3565b91505092915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6117548261170b565b810181811067ffffffffffffffff821117156117735761177261171c565b5b80604052505050565b60006117866115ea565b9050611792828261174b565b919050565b600067ffffffffffffffff8211156117b2576117b161171c565b5b6117bb8261170b565b9050602081019050919050565b82818337600083830152505050565b60006117ea6117e584611797565b61177c565b90508281526020810184848401111561180657611805611706565b5b6118118482856117c8565b509392505050565b600082601f83011261182e5761182d611701565b5b813561183e8482602086016117d7565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061187282611847565b9050919050565b61188281611867565b811461188d57600080fd5b50565b60008135905061189f81611879565b92915050565b60008060008060008060c087890312156118c2576118c16115f4565b5b60006118d089828a01611659565b965050602087013567ffffffffffffffff8111156118f1576118f06115f9565b5b6118fd89828a01611819565b955050604061190e89828a0161161f565b945050606061191f89828a01611890565b935050608061193089828a0161161f565b92505060a087013567ffffffffffffffff811115611951576119506115f9565b5b61195d89828a01611819565b9150509295509295509295565b600061197582611867565b9050919050565b6119858161196a565b811461199057600080fd5b50565b6000813590506119a28161197c565b92915050565b60008061012083850312156119c0576119bf6115f4565b5b60006119ce858286016116b3565b9250506101006119e085828601611993565b9150509250929050565b6119f3816115fe565b82525050565b6000602082019050611a0e60008301846119ea565b92915050565b600060808284031215611a2a57611a296116ae565b5b81905092915050565b600060808284031215611a4957611a486115f4565b5b6000611a5784828501611a14565b91505092915050565b600080fd5b600080fd5b60008083601f840112611a8057611a7f611701565b5b8235905067ffffffffffffffff811115611a9d57611a9c611a60565b5b602083019150836040820283011115611ab957611ab8611a65565b5b9250929050565b600080600080600060808688031215611adc57611adb6115f4565b5b6000611aea88828901611890565b9550506020611afb88828901611890565b9450506040611b0c88828901611659565b935050606086013567ffffffffffffffff811115611b2d57611b2c6115f9565b5b611b3988828901611a6a565b92509250509295509295909350565b600060208284031215611b5e57611b5d6115f4565b5b6000611b6c8482850161161f565b91505092915050565b611b7e81611634565b82525050565b6000602082019050611b996000830184611b75565b92915050565b6000604082019050611bb460008301856119ea565b611bc16020830184611b75565b9392505050565b600082825260208201905092915050565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b6000611c35602c83611bc8565b9150611c4082611bd9565b604082019050919050565b60006020820190508181036000830152611c6481611c28565b9050919050565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b6000611ca1601b83611bc8565b9150611cac82611c6b565b602082019050919050565b60006020820190508181036000830152611cd081611c94565b9050919050565b600060208284031215611ced57611cec6115f4565b5b6000611cfb84828501611659565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d3e826115fe565b9150611d49836115fe565b9250828203905081811115611d6157611d60611d04565b5b92915050565b6000611d72826115fe565b9150611d7d836115fe565b9250828202611d8b816115fe565b91508282048414831517611da257611da1611d04565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611de3826115fe565b9150611dee836115fe565b925082611dfe57611dfd611da9565b5b828204905092915050565b600060208284031215611e1f57611e1e6115f4565b5b6000611e2d84828501611890565b91505092915050565b60008160601b9050919050565b6000611e4e82611e36565b9050919050565b6000611e6082611e43565b9050919050565b611e78611e7382611867565b611e55565b82525050565b6000611e8a8284611e67565b60148201915081905092915050565b611ea281611867565b82525050565b6000602082019050611ebd6000830184611e99565b92915050565b6000819050919050565b6000611ee8611ee3611ede84611634565b611ec3565b6115fe565b9050919050565b611ef881611ecd565b82525050565b6000611f0982611847565b9050919050565b611f1981611efe565b82525050565b611f28816115fe565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f68578082015181840152602081019050611f4d565b60008484015250505050565b6000611f7f82611f2e565b611f898185611f39565b9350611f99818560208601611f4a565b611fa28161170b565b840191505092915050565b6000606083016000830151611fc56000860182611f1f565b506020830151611fd86020860182611f1f565b5060408301518482036040860152611ff08282611f74565b9150508091505092915050565b600082825260208201905092915050565b600061201982611f2e565b6120238185611ffd565b9350612033818560208601611f4a565b61203c8161170b565b840191505092915050565b60006101208201905061205d600083018c611b75565b61206a602083018b611eef565b612077604083018a611eef565b6120846060830189611f10565b61209160808301886119ea565b61209e60a08301876119ea565b81810360c08301526120b08186611fad565b905081810360e08301526120c4818561200e565b90508181036101008301526120d9818461200e565b90509a9950505050505050505050565b600060a0820190506120fe6000830188611e99565b61210b6020830187611e99565b6121186040830186611e99565b61212560608301856119ea565b6121326080830184611b75565b9695505050505050565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b6000612172601f83611bc8565b915061217d8261213c565b602082019050919050565b600060208201905081810360008301526121a181612165565b9050919050565b6121b181611efe565b81146121bc57600080fd5b50565b6000815190506121ce816121a8565b92915050565b6000602082840312156121ea576121e96115f4565b5b60006121f8848285016121bf565b91505092915050565b60006040820190506122166000830185611e99565b61222360208301846119ea565b9392505050565b6000819050919050565b600060ff82169050919050565b600061225c6122576122528461222a565b611ec3565b612234565b9050919050565b61226c81612241565b82525050565b600060a0820190506122876000830188611b75565b6122946020830187612263565b81810360408301526122a6818661200e565b905081810360608301526122ba818561200e565b905081810360808301526122ce8184611fad565b90509695505050505050565b6000815190506122e981611608565b92915050565b60008060408385031215612306576123056115f4565b5b6000612314858286016122da565b9250506020612325858286016122da565b9150509250929050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b600061238b603583611bc8565b91506123968261232f565b604082019050919050565b600060208201905081810360008301526123ba8161237e565b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b600061241d603383611bc8565b9150612428826123c1565b604082019050919050565b6000602082019050818103600083015261244c81612410565b9050919050565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b6000612489601d83611bc8565b915061249482612453565b602082019050919050565b600060208201905081810360008301526124b88161247c565b9050919050565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b600061251b602883611bc8565b9150612526826124bf565b604082019050919050565b6000602082019050818103600083015261254a8161250e565b9050919050565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b60006125ad602583611bc8565b91506125b882612551565b604082019050919050565b600060208201905081810360008301526125dc816125a0565b9050919050565b600060a0820190506125f86000830188611b75565b6126056020830187611f10565b8181036040830152612617818661200e565b905061262660608301856119ea565b61263360808301846119ea565b9695505050505050565b60006080820190506126526000830187611e99565b61265f6020830186611e99565b61266c60408301856119ea565b6126796060830184611b75565b95945050505050565b7f53746172676174653a3a20696e76616c696420726f757465722061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006126de602183611bc8565b91506126e982612682565b604082019050919050565b6000602082019050818103600083015261270d816126d1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061274e826115fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127805761277f611d04565b5b600182019050919050565b60006060820190506127a06000830186611e99565b6127ad6020830185611e99565b6127ba6040830184611b75565b949350505050565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b600061281e603183611bc8565b9150612829826127c2565b604082019050919050565b6000602082019050818103600083015261284d81612811565b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006128b0602283611bc8565b91506128bb82612854565b604082019050919050565b600060208201905081810360008301526128df816128a3565b9050919050565b60006060820190506128fb6000830186611e99565b6129086020830185611e99565b61291560408301846119ea565b949350505050565b60006040820190506129326000830185611e99565b61293f6020830184611e99565b9392505050565b60006020828403121561295c5761295b6115f4565b5b600061296a848285016122da565b91505092915050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b60006129cf603683611bc8565b91506129da82612973565b604082019050919050565b600060208201905081810360008301526129fe816129c2565b9050919050565b60008115159050919050565b612a1a81612a05565b8114612a2557600080fd5b50565b600081519050612a3781612a11565b92915050565b600060208284031215612a5357612a526115f4565b5b6000612a6184828501612a28565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612ac6602a83611bc8565b9150612ad182612a6a565b604082019050919050565b60006020820190508181036000830152612af581612ab9565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000612b58602683611bc8565b9150612b6382612afc565b604082019050919050565b60006020820190508181036000830152612b8781612b4b565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000612bc4601d83611bc8565b9150612bcf82612b8e565b602082019050919050565b60006020820190508181036000830152612bf381612bb7565b9050919050565b600081905092915050565b6000612c1082611f2e565b612c1a8185612bfa565b9350612c2a818560208601611f4a565b80840191505092915050565b6000612c428284612c05565b915081905092915050565b600081519050919050565b6000612c6382612c4d565b612c6d8185611bc8565b9350612c7d818560208601611f4a565b612c868161170b565b840191505092915050565b60006020820190508181036000830152612cab8184612c58565b90509291505056fea26469706673582212209322f362441818c0655a2ffb0b4ddaccae4855fe24b3db9dce7dfb28c688d3ed64736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/src/bridges/facets/StargateFacet.sol b/src/bridges/facets/StargateFacet.sol index b311bfa7..4ef418eb 100644 --- a/src/bridges/facets/StargateFacet.sol +++ b/src/bridges/facets/StargateFacet.sol @@ -74,7 +74,7 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { } ///// VARIABLES ///// - uint256 immutable BPS = 10000; + uint256 private immutable BPS = 10000; ///// EVENTS ///// /** @@ -137,12 +137,12 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { /** * @notice initializes state variables for the Stargate facet * @param _stargateRouter - address of the Stargate router contract - * @param _stargateETHRouter - address of Stargate ETH router contract + * @param _stargateEthRouter - address of Stargate ETH router contract * @param _chainId - current chain id */ function initStargate( address _stargateRouter, - address _stargateETHRouter, + address _stargateEthRouter, uint16 _chainId, ChainIdConfig[] calldata _chainIdConfigs ) external { @@ -153,14 +153,14 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { LibDiamond.enforceIsContractOwner(); Storage storage s = getStorage(); s.stargateRouter = IStargateRouter(_stargateRouter); - s.stargateETHRouter = IStargateRouterETH(_stargateETHRouter); + s.stargateETHRouter = IStargateRouterETH(_stargateEthRouter); s.chainId = _chainId; for (uint256 i; i < _chainIdConfigs.length; ++i) { s.lzChainIds[_chainIdConfigs[i].chainId] = _chainIdConfigs[i] .layerZeroChainId; } - emit StargateInitialized(_stargateRouter, _stargateETHRouter, _chainId); + emit StargateInitialized(_stargateRouter, _stargateEthRouter, _chainId); } /** diff --git a/test/bridges/StargateFacet.ts b/test/bridges/StargateFacet.ts index d06ebe8b..eba97c08 100644 --- a/test/bridges/StargateFacet.ts +++ b/test/bridges/StargateFacet.ts @@ -15,7 +15,7 @@ import { ethers, network } from "hardhat"; import { expectRevert } from "@openzeppelin/test-helpers"; import { impersonateAccount } from "@nomicfoundation/hardhat-network-helpers"; import USDC_ABI from "./abi/USDC_ABI.js"; -// import USDT_ABI from "./abi/USDT_ABI.js"; +import USDT_ABI from "./abi/USDT_ABI.js"; import { defaultAbiCoder } from "ethers/lib/utils"; const ETH_CHAIN_ID = 1; @@ -31,7 +31,7 @@ const MAINNET_STARGATE_ETH_ROUTER_ADDRESS = const POLYGON_STARGATE_ROUTER_ADDRESS = "0x45A01E4e04F14f7A4a6702c74187c5F6222033cd"; const MAINNET_USDC_ADDRESS = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"; -// const MAINNET_USDT_ADDRESS = "0xdAC17F958D2ee523a2206206994597C13D831ec7"; +const MAINNET_USDT_ADDRESS = "0xdAC17F958D2ee523a2206206994597C13D831ec7"; const CHAIN_IDS_TO_LZ_CHAIN_IDS: ChainIdConfigStruct[] = [ { chainId: ARBITRUM_CHAIN_ID, layerZeroChainId: LZ_ARBITRUM_CHAIN_ID }, { chainId: ETH_CHAIN_ID, layerZeroChainId: LZ_ETH_CHAIN_ID }, @@ -41,7 +41,7 @@ const ZERO_ADDRESS = ethers.constants.AddressZero; const TEN_USDC = ethers.utils.parseUnits("10", 6); const VITALIK_ACCOUNT = "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"; const USDC_FUNDER_ACCOUNT = "0x95Ba4cF87D6723ad9C0Db21737D862bE80e93911"; -// const BINANCE_PEG_ACCOUNT = "0x47ac0Fb4F2D84898e4D9E7b4DaB3C24507a6D503"; +const BINANCE_PEG_ACCOUNT = "0x47ac0Fb4F2D84898e4D9E7b4DaB3C24507a6D503"; describe("StargateFacet", () => { let diamond: Diamond; @@ -52,11 +52,11 @@ describe("StargateFacet", () => { let alice: SignerWithAddress; let bob: SignerWithAddress; let usdcFunder: SignerWithAddress; - // let usdtFunder: SignerWithAddress; + let usdtFunder: SignerWithAddress; let transferData: StargateDataStruct; let ethTransferData: StargateETHDataStruct; let usdc: Contract; - // let usdt: Contract; + let usdt: Contract; async function setup() { accounts = await ethers.getSigners(); diff --git a/typings/StargateFacet.ts b/typings/StargateFacet.ts index d30d7378..48f10b8d 100644 --- a/typings/StargateFacet.ts +++ b/typings/StargateFacet.ts @@ -241,7 +241,7 @@ export interface StargateFacet extends BaseContract { initStargate( _stargateRouter: string, - _stargateETHRouter: string, + _stargateEthRouter: string, _chainId: BigNumberish, _chainIdConfigs: ChainIdConfigStruct[], overrides?: Overrides & { from?: string | Promise } @@ -287,7 +287,7 @@ export interface StargateFacet extends BaseContract { initStargate( _stargateRouter: string, - _stargateETHRouter: string, + _stargateEthRouter: string, _chainId: BigNumberish, _chainIdConfigs: ChainIdConfigStruct[], overrides?: Overrides & { from?: string | Promise } @@ -333,7 +333,7 @@ export interface StargateFacet extends BaseContract { initStargate( _stargateRouter: string, - _stargateETHRouter: string, + _stargateEthRouter: string, _chainId: BigNumberish, _chainIdConfigs: ChainIdConfigStruct[], overrides?: CallOverrides @@ -436,7 +436,7 @@ export interface StargateFacet extends BaseContract { initStargate( _stargateRouter: string, - _stargateETHRouter: string, + _stargateEthRouter: string, _chainId: BigNumberish, _chainIdConfigs: ChainIdConfigStruct[], overrides?: Overrides & { from?: string | Promise } @@ -483,7 +483,7 @@ export interface StargateFacet extends BaseContract { initStargate( _stargateRouter: string, - _stargateETHRouter: string, + _stargateEthRouter: string, _chainId: BigNumberish, _chainIdConfigs: ChainIdConfigStruct[], overrides?: Overrides & { from?: string | Promise } diff --git a/typings/factories/StargateFacet__factory.ts b/typings/factories/StargateFacet__factory.ts index 0da06635..aad59f73 100644 --- a/typings/factories/StargateFacet__factory.ts +++ b/typings/factories/StargateFacet__factory.ts @@ -170,7 +170,7 @@ const _abi = [ }, { internalType: "address", - name: "_stargateETHRouter", + name: "_stargateEthRouter", type: "address", }, { @@ -416,7 +416,7 @@ const _abi = [ ]; const _bytecode = - "0x60a060405261271060809081525034801561001957600080fd5b50608051612ce961004a600039600081816103200152818161035801528181610b560152610b8e0152612ce96000f3fe6080604052600436106100705760003560e01c8063be9899101161004e578063be989910146100e3578063ce36ebd314610120578063d61bf1fa1461013c578063e08e50711461016557610070565b8063295d4d41146100755780638083a0db1461009e578063ab8236f3146100ba575b600080fd5b34801561008157600080fd5b5061009c6004803603810190610097919061166e565b6101a2565b005b6100b860048036038101906100b391906116d3565b610224565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906118a5565b61062d565b005b3480156100ef57600080fd5b5061010a600480360381019061010591906119a8565b610727565b60405161011791906119f9565b60405180910390f35b61013a60048036038101906101359190611a33565b610877565b005b34801561014857600080fd5b50610163600480360381019061015e9190611ac0565b610cdf565b005b34801561017157600080fd5b5061018c60048036038101906101879190611b48565b610ee0565b6040516101999190611b84565b60405180910390f35b6101aa610f66565b60006101b4611001565b90508181600201600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc8383604051610217929190611b9f565b60405180910390a1505050565b600061022e61102e565b9050600181600001540361026e576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160000181905550600034116102bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b290611c4b565b60405180910390fd5b6000826000013511610302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f990611cb7565b60405180910390fd5b600061030c61105b565b9050600061031a8483610727565b905060007f00000000000000000000000000000000000000000000000000000000000000008560c00160208101906103529190611cd7565b61ffff167f00000000000000000000000000000000000000000000000000000000000000006103819190611d33565b86600001356103909190611d67565b61039a9190611dd8565b905060008560e00160208101906103b19190611e09565b6040516020016103c19190611e7e565b604051602081830303815290604052905060008660a00160208101906103e79190611e09565b6040516020016103f79190611ea8565b604051602081830303815290604052905061044b333089600001358a60200160208101906104259190611e09565b73ffffffffffffffffffffffffffffffffffffffff1661108e909392919063ffffffff16565b61048c8588600001358960200160208101906104679190611e09565b73ffffffffffffffffffffffffffffffffffffffff166111179092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc856104c88a60400160208101906104bf9190611cd7565b61ffff16610ee0565b8a60600160208101906104db9190611cd7565b8b60800160208101906104ee9190611cd7565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161056f99989796959493929190612047565b6000604051808303818588803b15801561058857600080fd5b505af115801561059c573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a8668760200160208101906105d59190611e09565b338960a00160208101906105e99190611e09565b8a600001358b60400160208101906106019190611cd7565b6040516106129594939291906120e9565b60405180910390a15050505050600081600001819055505050565b61063561105b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069990612188565b60405180910390fd5b6000818060200190518101906106b891906121d4565b90506106e581848673ffffffffffffffffffffffffffffffffffffffff166112669092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c8484604051610716929190612201565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236961076586604001602081019061075c9190611cd7565b61ffff16610ee0565b60018760e001602081019061077a9190611e09565b60405160200161078a9190611e7e565b6040516020818303038152906040528860a00160208101906107ac9190611e09565b6040516020016107bc9190611ea8565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016107f89190611e7e565b6040516020818303038152906040528152506040518663ffffffff1660e01b815260040161082a959493929190612272565b6040805180830381865afa158015610846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086a91906122ef565b5090508091505092915050565b600061088161102e565b905060018160000154036108c1576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060006108d56112ec565b61ffff16905060018114806108eb575061a4b181145b806108f65750600a81145b610935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092c906123a1565b60405180910390fd5b600183602001602081019061094a9190611cd7565b61ffff161480610971575061a4b183602001602081019061096b9190611cd7565b61ffff16145b806109925750600a83602001602081019061098c9190611cd7565b61ffff16145b6109d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c890612433565b60405180910390fd5b60003411610a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0b9061249f565b60405180910390fd5b6000836000013511610a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5290611cb7565b60405180910390fd5b82600001353411610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9890612531565b60405180910390fd5b6000610aab61130d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b13906125c3565b60405180910390fd5b6000846040016020810190610b319190611e09565b604051602001610b419190611e7e565b604051602081830303815290604052905060007f0000000000000000000000000000000000000000000000000000000000000000866060016020810190610b889190611cd7565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610bb79190611d33565b8760000135610bc69190611d67565b610bd09190611dd8565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a34610c0e896020016020810190610c059190611cd7565b61ffff16610ee0565b33868b60000135876040518763ffffffff1660e01b8152600401610c369594939291906125e3565b6000604051808303818588803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b50505050507f96d8881a4aa5dbc2504224c656dc33918e070ada05b7379f89ef88e706bec7ce33876040016020810190610c9d9190611e09565b8860000135896020016020810190610cb59190611cd7565b604051610cc5949392919061263d565b60405180910390a150505050600081600001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610d4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d45906126f4565b60405180910390fd5b610d56610f66565b6000610d60611001565b9050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160146101000a81548161ffff021916908361ffff16021790555060005b83839050811015610e9c57838382818110610e2857610e27612714565b5b9050604002016020016020810190610e409190611cd7565b826002016000868685818110610e5957610e58612714565b5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610e9590612743565b9050610e0a565b507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb868686604051610ed09392919061278b565b60405180910390a1505050505050565b600080610eeb611001565b9050600081600201600085815260200190815260200160002060009054906101000a900461ffff16905060008161ffff1603610f5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5390612834565b60405180910390fd5b8092505050919050565b610f6e611340565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff6906128c6565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000611065611001565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611111846323b872dd60e01b8585856040516024016110af939291906128e6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b50505050565b60008114806111a1575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161115e92919061291d565b602060405180830381865afa15801561117b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119f9190612946565b145b6111e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d7906129e5565b60405180910390fd5b6112618363095ea7b360e01b84846040516024016111ff929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b6112e78363a9059cbb60e01b8484604051602401611285929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b60006112f6611001565b60010160149054906101000a900461ffff16905090565b6000611317611001565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60006113cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114349092919063ffffffff16565b905060008151111561142f57808060200190518101906113ef9190612a3d565b61142e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142590612adc565b60405180910390fd5b5b505050565b6060611443848460008561144c565b90509392505050565b606082471015611491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148890612b6e565b60405180910390fd5b61149a85611560565b6114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612bda565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115029190612c36565b60006040518083038185875af1925050503d806000811461153f576040519150601f19603f3d011682016040523d82523d6000602084013e611544565b606091505b5091509150611554828286611583565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315611593578290506115e3565b6000835111156115a65782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115da9190612c91565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611611816115fe565b811461161c57600080fd5b50565b60008135905061162e81611608565b92915050565b600061ffff82169050919050565b61164b81611634565b811461165657600080fd5b50565b60008135905061166881611642565b92915050565b60008060408385031215611685576116846115f4565b5b60006116938582860161161f565b92505060206116a485828601611659565b9150509250929050565b600080fd5b600061010082840312156116ca576116c96116ae565b5b81905092915050565b600061010082840312156116ea576116e96115f4565b5b60006116f8848285016116b3565b91505092915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6117548261170b565b810181811067ffffffffffffffff821117156117735761177261171c565b5b80604052505050565b60006117866115ea565b9050611792828261174b565b919050565b600067ffffffffffffffff8211156117b2576117b161171c565b5b6117bb8261170b565b9050602081019050919050565b82818337600083830152505050565b60006117ea6117e584611797565b61177c565b90508281526020810184848401111561180657611805611706565b5b6118118482856117c8565b509392505050565b600082601f83011261182e5761182d611701565b5b813561183e8482602086016117d7565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061187282611847565b9050919050565b61188281611867565b811461188d57600080fd5b50565b60008135905061189f81611879565b92915050565b60008060008060008060c087890312156118c2576118c16115f4565b5b60006118d089828a01611659565b965050602087013567ffffffffffffffff8111156118f1576118f06115f9565b5b6118fd89828a01611819565b955050604061190e89828a0161161f565b945050606061191f89828a01611890565b935050608061193089828a0161161f565b92505060a087013567ffffffffffffffff811115611951576119506115f9565b5b61195d89828a01611819565b9150509295509295509295565b600061197582611867565b9050919050565b6119858161196a565b811461199057600080fd5b50565b6000813590506119a28161197c565b92915050565b60008061012083850312156119c0576119bf6115f4565b5b60006119ce858286016116b3565b9250506101006119e085828601611993565b9150509250929050565b6119f3816115fe565b82525050565b6000602082019050611a0e60008301846119ea565b92915050565b600060808284031215611a2a57611a296116ae565b5b81905092915050565b600060808284031215611a4957611a486115f4565b5b6000611a5784828501611a14565b91505092915050565b600080fd5b600080fd5b60008083601f840112611a8057611a7f611701565b5b8235905067ffffffffffffffff811115611a9d57611a9c611a60565b5b602083019150836040820283011115611ab957611ab8611a65565b5b9250929050565b600080600080600060808688031215611adc57611adb6115f4565b5b6000611aea88828901611890565b9550506020611afb88828901611890565b9450506040611b0c88828901611659565b935050606086013567ffffffffffffffff811115611b2d57611b2c6115f9565b5b611b3988828901611a6a565b92509250509295509295909350565b600060208284031215611b5e57611b5d6115f4565b5b6000611b6c8482850161161f565b91505092915050565b611b7e81611634565b82525050565b6000602082019050611b996000830184611b75565b92915050565b6000604082019050611bb460008301856119ea565b611bc16020830184611b75565b9392505050565b600082825260208201905092915050565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b6000611c35602c83611bc8565b9150611c4082611bd9565b604082019050919050565b60006020820190508181036000830152611c6481611c28565b9050919050565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b6000611ca1601b83611bc8565b9150611cac82611c6b565b602082019050919050565b60006020820190508181036000830152611cd081611c94565b9050919050565b600060208284031215611ced57611cec6115f4565b5b6000611cfb84828501611659565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d3e826115fe565b9150611d49836115fe565b9250828203905081811115611d6157611d60611d04565b5b92915050565b6000611d72826115fe565b9150611d7d836115fe565b9250828202611d8b816115fe565b91508282048414831517611da257611da1611d04565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611de3826115fe565b9150611dee836115fe565b925082611dfe57611dfd611da9565b5b828204905092915050565b600060208284031215611e1f57611e1e6115f4565b5b6000611e2d84828501611890565b91505092915050565b60008160601b9050919050565b6000611e4e82611e36565b9050919050565b6000611e6082611e43565b9050919050565b611e78611e7382611867565b611e55565b82525050565b6000611e8a8284611e67565b60148201915081905092915050565b611ea281611867565b82525050565b6000602082019050611ebd6000830184611e99565b92915050565b6000819050919050565b6000611ee8611ee3611ede84611634565b611ec3565b6115fe565b9050919050565b611ef881611ecd565b82525050565b6000611f0982611847565b9050919050565b611f1981611efe565b82525050565b611f28816115fe565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f68578082015181840152602081019050611f4d565b60008484015250505050565b6000611f7f82611f2e565b611f898185611f39565b9350611f99818560208601611f4a565b611fa28161170b565b840191505092915050565b6000606083016000830151611fc56000860182611f1f565b506020830151611fd86020860182611f1f565b5060408301518482036040860152611ff08282611f74565b9150508091505092915050565b600082825260208201905092915050565b600061201982611f2e565b6120238185611ffd565b9350612033818560208601611f4a565b61203c8161170b565b840191505092915050565b60006101208201905061205d600083018c611b75565b61206a602083018b611eef565b612077604083018a611eef565b6120846060830189611f10565b61209160808301886119ea565b61209e60a08301876119ea565b81810360c08301526120b08186611fad565b905081810360e08301526120c4818561200e565b90508181036101008301526120d9818461200e565b90509a9950505050505050505050565b600060a0820190506120fe6000830188611e99565b61210b6020830187611e99565b6121186040830186611e99565b61212560608301856119ea565b6121326080830184611b75565b9695505050505050565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b6000612172601f83611bc8565b915061217d8261213c565b602082019050919050565b600060208201905081810360008301526121a181612165565b9050919050565b6121b181611efe565b81146121bc57600080fd5b50565b6000815190506121ce816121a8565b92915050565b6000602082840312156121ea576121e96115f4565b5b60006121f8848285016121bf565b91505092915050565b60006040820190506122166000830185611e99565b61222360208301846119ea565b9392505050565b6000819050919050565b600060ff82169050919050565b600061225c6122576122528461222a565b611ec3565b612234565b9050919050565b61226c81612241565b82525050565b600060a0820190506122876000830188611b75565b6122946020830187612263565b81810360408301526122a6818661200e565b905081810360608301526122ba818561200e565b905081810360808301526122ce8184611fad565b90509695505050505050565b6000815190506122e981611608565b92915050565b60008060408385031215612306576123056115f4565b5b6000612314858286016122da565b9250506020612325858286016122da565b9150509250929050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b600061238b603583611bc8565b91506123968261232f565b604082019050919050565b600060208201905081810360008301526123ba8161237e565b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b600061241d603383611bc8565b9150612428826123c1565b604082019050919050565b6000602082019050818103600083015261244c81612410565b9050919050565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b6000612489601d83611bc8565b915061249482612453565b602082019050919050565b600060208201905081810360008301526124b88161247c565b9050919050565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b600061251b602883611bc8565b9150612526826124bf565b604082019050919050565b6000602082019050818103600083015261254a8161250e565b9050919050565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b60006125ad602583611bc8565b91506125b882612551565b604082019050919050565b600060208201905081810360008301526125dc816125a0565b9050919050565b600060a0820190506125f86000830188611b75565b6126056020830187611f10565b8181036040830152612617818661200e565b905061262660608301856119ea565b61263360808301846119ea565b9695505050505050565b60006080820190506126526000830187611e99565b61265f6020830186611e99565b61266c60408301856119ea565b6126796060830184611b75565b95945050505050565b7f53746172676174653a3a20696e76616c696420726f757465722061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006126de602183611bc8565b91506126e982612682565b604082019050919050565b6000602082019050818103600083015261270d816126d1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061274e826115fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127805761277f611d04565b5b600182019050919050565b60006060820190506127a06000830186611e99565b6127ad6020830185611e99565b6127ba6040830184611b75565b949350505050565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b600061281e603183611bc8565b9150612829826127c2565b604082019050919050565b6000602082019050818103600083015261284d81612811565b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006128b0602283611bc8565b91506128bb82612854565b604082019050919050565b600060208201905081810360008301526128df816128a3565b9050919050565b60006060820190506128fb6000830186611e99565b6129086020830185611e99565b61291560408301846119ea565b949350505050565b60006040820190506129326000830185611e99565b61293f6020830184611e99565b9392505050565b60006020828403121561295c5761295b6115f4565b5b600061296a848285016122da565b91505092915050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b60006129cf603683611bc8565b91506129da82612973565b604082019050919050565b600060208201905081810360008301526129fe816129c2565b9050919050565b60008115159050919050565b612a1a81612a05565b8114612a2557600080fd5b50565b600081519050612a3781612a11565b92915050565b600060208284031215612a5357612a526115f4565b5b6000612a6184828501612a28565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612ac6602a83611bc8565b9150612ad182612a6a565b604082019050919050565b60006020820190508181036000830152612af581612ab9565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000612b58602683611bc8565b9150612b6382612afc565b604082019050919050565b60006020820190508181036000830152612b8781612b4b565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000612bc4601d83611bc8565b9150612bcf82612b8e565b602082019050919050565b60006020820190508181036000830152612bf381612bb7565b9050919050565b600081905092915050565b6000612c1082611f2e565b612c1a8185612bfa565b9350612c2a818560208601611f4a565b80840191505092915050565b6000612c428284612c05565b915081905092915050565b600081519050919050565b6000612c6382612c4d565b612c6d8185611bc8565b9350612c7d818560208601611f4a565b612c868161170b565b840191505092915050565b60006020820190508181036000830152612cab8184612c58565b90509291505056fea26469706673582212202507c5fa59f94536f25921d1d66f54562ba8ac152127a88119e22a578201411064736f6c63430008110033"; + "0x60a060405261271060809081525034801561001957600080fd5b50608051612ce961004a600039600081816103200152818161035801528181610b560152610b8e0152612ce96000f3fe6080604052600436106100705760003560e01c8063be9899101161004e578063be989910146100e3578063ce36ebd314610120578063d61bf1fa1461013c578063e08e50711461016557610070565b8063295d4d41146100755780638083a0db1461009e578063ab8236f3146100ba575b600080fd5b34801561008157600080fd5b5061009c6004803603810190610097919061166e565b6101a2565b005b6100b860048036038101906100b391906116d3565b610224565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906118a5565b61062d565b005b3480156100ef57600080fd5b5061010a600480360381019061010591906119a8565b610727565b60405161011791906119f9565b60405180910390f35b61013a60048036038101906101359190611a33565b610877565b005b34801561014857600080fd5b50610163600480360381019061015e9190611ac0565b610cdf565b005b34801561017157600080fd5b5061018c60048036038101906101879190611b48565b610ee0565b6040516101999190611b84565b60405180910390f35b6101aa610f66565b60006101b4611001565b90508181600201600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc8383604051610217929190611b9f565b60405180910390a1505050565b600061022e61102e565b9050600181600001540361026e576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160000181905550600034116102bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b290611c4b565b60405180910390fd5b6000826000013511610302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f990611cb7565b60405180910390fd5b600061030c61105b565b9050600061031a8483610727565b905060007f00000000000000000000000000000000000000000000000000000000000000008560c00160208101906103529190611cd7565b61ffff167f00000000000000000000000000000000000000000000000000000000000000006103819190611d33565b86600001356103909190611d67565b61039a9190611dd8565b905060008560e00160208101906103b19190611e09565b6040516020016103c19190611e7e565b604051602081830303815290604052905060008660a00160208101906103e79190611e09565b6040516020016103f79190611ea8565b604051602081830303815290604052905061044b333089600001358a60200160208101906104259190611e09565b73ffffffffffffffffffffffffffffffffffffffff1661108e909392919063ffffffff16565b61048c8588600001358960200160208101906104679190611e09565b73ffffffffffffffffffffffffffffffffffffffff166111179092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc856104c88a60400160208101906104bf9190611cd7565b61ffff16610ee0565b8a60600160208101906104db9190611cd7565b8b60800160208101906104ee9190611cd7565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161056f99989796959493929190612047565b6000604051808303818588803b15801561058857600080fd5b505af115801561059c573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a8668760200160208101906105d59190611e09565b338960a00160208101906105e99190611e09565b8a600001358b60400160208101906106019190611cd7565b6040516106129594939291906120e9565b60405180910390a15050505050600081600001819055505050565b61063561105b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069990612188565b60405180910390fd5b6000818060200190518101906106b891906121d4565b90506106e581848673ffffffffffffffffffffffffffffffffffffffff166112669092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c8484604051610716929190612201565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236961076586604001602081019061075c9190611cd7565b61ffff16610ee0565b60018760e001602081019061077a9190611e09565b60405160200161078a9190611e7e565b6040516020818303038152906040528860a00160208101906107ac9190611e09565b6040516020016107bc9190611ea8565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016107f89190611e7e565b6040516020818303038152906040528152506040518663ffffffff1660e01b815260040161082a959493929190612272565b6040805180830381865afa158015610846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086a91906122ef565b5090508091505092915050565b600061088161102e565b905060018160000154036108c1576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060006108d56112ec565b61ffff16905060018114806108eb575061a4b181145b806108f65750600a81145b610935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092c906123a1565b60405180910390fd5b600183602001602081019061094a9190611cd7565b61ffff161480610971575061a4b183602001602081019061096b9190611cd7565b61ffff16145b806109925750600a83602001602081019061098c9190611cd7565b61ffff16145b6109d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c890612433565b60405180910390fd5b60003411610a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0b9061249f565b60405180910390fd5b6000836000013511610a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5290611cb7565b60405180910390fd5b82600001353411610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9890612531565b60405180910390fd5b6000610aab61130d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b13906125c3565b60405180910390fd5b6000846040016020810190610b319190611e09565b604051602001610b419190611e7e565b604051602081830303815290604052905060007f0000000000000000000000000000000000000000000000000000000000000000866060016020810190610b889190611cd7565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610bb79190611d33565b8760000135610bc69190611d67565b610bd09190611dd8565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a34610c0e896020016020810190610c059190611cd7565b61ffff16610ee0565b33868b60000135876040518763ffffffff1660e01b8152600401610c369594939291906125e3565b6000604051808303818588803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b50505050507f96d8881a4aa5dbc2504224c656dc33918e070ada05b7379f89ef88e706bec7ce33876040016020810190610c9d9190611e09565b8860000135896020016020810190610cb59190611cd7565b604051610cc5949392919061263d565b60405180910390a150505050600081600001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610d4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d45906126f4565b60405180910390fd5b610d56610f66565b6000610d60611001565b9050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160146101000a81548161ffff021916908361ffff16021790555060005b83839050811015610e9c57838382818110610e2857610e27612714565b5b9050604002016020016020810190610e409190611cd7565b826002016000868685818110610e5957610e58612714565b5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610e9590612743565b9050610e0a565b507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb868686604051610ed09392919061278b565b60405180910390a1505050505050565b600080610eeb611001565b9050600081600201600085815260200190815260200160002060009054906101000a900461ffff16905060008161ffff1603610f5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5390612834565b60405180910390fd5b8092505050919050565b610f6e611340565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff6906128c6565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000611065611001565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611111846323b872dd60e01b8585856040516024016110af939291906128e6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b50505050565b60008114806111a1575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161115e92919061291d565b602060405180830381865afa15801561117b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119f9190612946565b145b6111e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d7906129e5565b60405180910390fd5b6112618363095ea7b360e01b84846040516024016111ff929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b6112e78363a9059cbb60e01b8484604051602401611285929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b60006112f6611001565b60010160149054906101000a900461ffff16905090565b6000611317611001565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60006113cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114349092919063ffffffff16565b905060008151111561142f57808060200190518101906113ef9190612a3d565b61142e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142590612adc565b60405180910390fd5b5b505050565b6060611443848460008561144c565b90509392505050565b606082471015611491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148890612b6e565b60405180910390fd5b61149a85611560565b6114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612bda565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115029190612c36565b60006040518083038185875af1925050503d806000811461153f576040519150601f19603f3d011682016040523d82523d6000602084013e611544565b606091505b5091509150611554828286611583565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315611593578290506115e3565b6000835111156115a65782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115da9190612c91565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611611816115fe565b811461161c57600080fd5b50565b60008135905061162e81611608565b92915050565b600061ffff82169050919050565b61164b81611634565b811461165657600080fd5b50565b60008135905061166881611642565b92915050565b60008060408385031215611685576116846115f4565b5b60006116938582860161161f565b92505060206116a485828601611659565b9150509250929050565b600080fd5b600061010082840312156116ca576116c96116ae565b5b81905092915050565b600061010082840312156116ea576116e96115f4565b5b60006116f8848285016116b3565b91505092915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6117548261170b565b810181811067ffffffffffffffff821117156117735761177261171c565b5b80604052505050565b60006117866115ea565b9050611792828261174b565b919050565b600067ffffffffffffffff8211156117b2576117b161171c565b5b6117bb8261170b565b9050602081019050919050565b82818337600083830152505050565b60006117ea6117e584611797565b61177c565b90508281526020810184848401111561180657611805611706565b5b6118118482856117c8565b509392505050565b600082601f83011261182e5761182d611701565b5b813561183e8482602086016117d7565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061187282611847565b9050919050565b61188281611867565b811461188d57600080fd5b50565b60008135905061189f81611879565b92915050565b60008060008060008060c087890312156118c2576118c16115f4565b5b60006118d089828a01611659565b965050602087013567ffffffffffffffff8111156118f1576118f06115f9565b5b6118fd89828a01611819565b955050604061190e89828a0161161f565b945050606061191f89828a01611890565b935050608061193089828a0161161f565b92505060a087013567ffffffffffffffff811115611951576119506115f9565b5b61195d89828a01611819565b9150509295509295509295565b600061197582611867565b9050919050565b6119858161196a565b811461199057600080fd5b50565b6000813590506119a28161197c565b92915050565b60008061012083850312156119c0576119bf6115f4565b5b60006119ce858286016116b3565b9250506101006119e085828601611993565b9150509250929050565b6119f3816115fe565b82525050565b6000602082019050611a0e60008301846119ea565b92915050565b600060808284031215611a2a57611a296116ae565b5b81905092915050565b600060808284031215611a4957611a486115f4565b5b6000611a5784828501611a14565b91505092915050565b600080fd5b600080fd5b60008083601f840112611a8057611a7f611701565b5b8235905067ffffffffffffffff811115611a9d57611a9c611a60565b5b602083019150836040820283011115611ab957611ab8611a65565b5b9250929050565b600080600080600060808688031215611adc57611adb6115f4565b5b6000611aea88828901611890565b9550506020611afb88828901611890565b9450506040611b0c88828901611659565b935050606086013567ffffffffffffffff811115611b2d57611b2c6115f9565b5b611b3988828901611a6a565b92509250509295509295909350565b600060208284031215611b5e57611b5d6115f4565b5b6000611b6c8482850161161f565b91505092915050565b611b7e81611634565b82525050565b6000602082019050611b996000830184611b75565b92915050565b6000604082019050611bb460008301856119ea565b611bc16020830184611b75565b9392505050565b600082825260208201905092915050565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b6000611c35602c83611bc8565b9150611c4082611bd9565b604082019050919050565b60006020820190508181036000830152611c6481611c28565b9050919050565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b6000611ca1601b83611bc8565b9150611cac82611c6b565b602082019050919050565b60006020820190508181036000830152611cd081611c94565b9050919050565b600060208284031215611ced57611cec6115f4565b5b6000611cfb84828501611659565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d3e826115fe565b9150611d49836115fe565b9250828203905081811115611d6157611d60611d04565b5b92915050565b6000611d72826115fe565b9150611d7d836115fe565b9250828202611d8b816115fe565b91508282048414831517611da257611da1611d04565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611de3826115fe565b9150611dee836115fe565b925082611dfe57611dfd611da9565b5b828204905092915050565b600060208284031215611e1f57611e1e6115f4565b5b6000611e2d84828501611890565b91505092915050565b60008160601b9050919050565b6000611e4e82611e36565b9050919050565b6000611e6082611e43565b9050919050565b611e78611e7382611867565b611e55565b82525050565b6000611e8a8284611e67565b60148201915081905092915050565b611ea281611867565b82525050565b6000602082019050611ebd6000830184611e99565b92915050565b6000819050919050565b6000611ee8611ee3611ede84611634565b611ec3565b6115fe565b9050919050565b611ef881611ecd565b82525050565b6000611f0982611847565b9050919050565b611f1981611efe565b82525050565b611f28816115fe565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f68578082015181840152602081019050611f4d565b60008484015250505050565b6000611f7f82611f2e565b611f898185611f39565b9350611f99818560208601611f4a565b611fa28161170b565b840191505092915050565b6000606083016000830151611fc56000860182611f1f565b506020830151611fd86020860182611f1f565b5060408301518482036040860152611ff08282611f74565b9150508091505092915050565b600082825260208201905092915050565b600061201982611f2e565b6120238185611ffd565b9350612033818560208601611f4a565b61203c8161170b565b840191505092915050565b60006101208201905061205d600083018c611b75565b61206a602083018b611eef565b612077604083018a611eef565b6120846060830189611f10565b61209160808301886119ea565b61209e60a08301876119ea565b81810360c08301526120b08186611fad565b905081810360e08301526120c4818561200e565b90508181036101008301526120d9818461200e565b90509a9950505050505050505050565b600060a0820190506120fe6000830188611e99565b61210b6020830187611e99565b6121186040830186611e99565b61212560608301856119ea565b6121326080830184611b75565b9695505050505050565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b6000612172601f83611bc8565b915061217d8261213c565b602082019050919050565b600060208201905081810360008301526121a181612165565b9050919050565b6121b181611efe565b81146121bc57600080fd5b50565b6000815190506121ce816121a8565b92915050565b6000602082840312156121ea576121e96115f4565b5b60006121f8848285016121bf565b91505092915050565b60006040820190506122166000830185611e99565b61222360208301846119ea565b9392505050565b6000819050919050565b600060ff82169050919050565b600061225c6122576122528461222a565b611ec3565b612234565b9050919050565b61226c81612241565b82525050565b600060a0820190506122876000830188611b75565b6122946020830187612263565b81810360408301526122a6818661200e565b905081810360608301526122ba818561200e565b905081810360808301526122ce8184611fad565b90509695505050505050565b6000815190506122e981611608565b92915050565b60008060408385031215612306576123056115f4565b5b6000612314858286016122da565b9250506020612325858286016122da565b9150509250929050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b600061238b603583611bc8565b91506123968261232f565b604082019050919050565b600060208201905081810360008301526123ba8161237e565b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b600061241d603383611bc8565b9150612428826123c1565b604082019050919050565b6000602082019050818103600083015261244c81612410565b9050919050565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b6000612489601d83611bc8565b915061249482612453565b602082019050919050565b600060208201905081810360008301526124b88161247c565b9050919050565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b600061251b602883611bc8565b9150612526826124bf565b604082019050919050565b6000602082019050818103600083015261254a8161250e565b9050919050565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b60006125ad602583611bc8565b91506125b882612551565b604082019050919050565b600060208201905081810360008301526125dc816125a0565b9050919050565b600060a0820190506125f86000830188611b75565b6126056020830187611f10565b8181036040830152612617818661200e565b905061262660608301856119ea565b61263360808301846119ea565b9695505050505050565b60006080820190506126526000830187611e99565b61265f6020830186611e99565b61266c60408301856119ea565b6126796060830184611b75565b95945050505050565b7f53746172676174653a3a20696e76616c696420726f757465722061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006126de602183611bc8565b91506126e982612682565b604082019050919050565b6000602082019050818103600083015261270d816126d1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061274e826115fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127805761277f611d04565b5b600182019050919050565b60006060820190506127a06000830186611e99565b6127ad6020830185611e99565b6127ba6040830184611b75565b949350505050565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b600061281e603183611bc8565b9150612829826127c2565b604082019050919050565b6000602082019050818103600083015261284d81612811565b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006128b0602283611bc8565b91506128bb82612854565b604082019050919050565b600060208201905081810360008301526128df816128a3565b9050919050565b60006060820190506128fb6000830186611e99565b6129086020830185611e99565b61291560408301846119ea565b949350505050565b60006040820190506129326000830185611e99565b61293f6020830184611e99565b9392505050565b60006020828403121561295c5761295b6115f4565b5b600061296a848285016122da565b91505092915050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b60006129cf603683611bc8565b91506129da82612973565b604082019050919050565b600060208201905081810360008301526129fe816129c2565b9050919050565b60008115159050919050565b612a1a81612a05565b8114612a2557600080fd5b50565b600081519050612a3781612a11565b92915050565b600060208284031215612a5357612a526115f4565b5b6000612a6184828501612a28565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612ac6602a83611bc8565b9150612ad182612a6a565b604082019050919050565b60006020820190508181036000830152612af581612ab9565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000612b58602683611bc8565b9150612b6382612afc565b604082019050919050565b60006020820190508181036000830152612b8781612b4b565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000612bc4601d83611bc8565b9150612bcf82612b8e565b602082019050919050565b60006020820190508181036000830152612bf381612bb7565b9050919050565b600081905092915050565b6000612c1082611f2e565b612c1a8185612bfa565b9350612c2a818560208601611f4a565b80840191505092915050565b6000612c428284612c05565b915081905092915050565b600081519050919050565b6000612c6382612c4d565b612c6d8185611bc8565b9350612c7d818560208601611f4a565b612c868161170b565b840191505092915050565b60006020820190508181036000830152612cab8184612c58565b90509291505056fea26469706673582212209322f362441818c0655a2ffb0b4ddaccae4855fe24b3db9dce7dfb28c688d3ed64736f6c63430008110033"; type StargateFacetConstructorParams = | [signer?: Signer] From 99490208a5849934509733f149e38bc7250dfbcb Mon Sep 17 00:00:00 2001 From: lbw33 <71776468+lbw33@users.noreply.github.com> Date: Mon, 10 Jul 2023 14:27:22 +0100 Subject: [PATCH 5/8] Removed unused imports in test (relating to broken commented test --- test/bridges/StargateFacet.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/bridges/StargateFacet.ts b/test/bridges/StargateFacet.ts index eba97c08..d06ebe8b 100644 --- a/test/bridges/StargateFacet.ts +++ b/test/bridges/StargateFacet.ts @@ -15,7 +15,7 @@ import { ethers, network } from "hardhat"; import { expectRevert } from "@openzeppelin/test-helpers"; import { impersonateAccount } from "@nomicfoundation/hardhat-network-helpers"; import USDC_ABI from "./abi/USDC_ABI.js"; -import USDT_ABI from "./abi/USDT_ABI.js"; +// import USDT_ABI from "./abi/USDT_ABI.js"; import { defaultAbiCoder } from "ethers/lib/utils"; const ETH_CHAIN_ID = 1; @@ -31,7 +31,7 @@ const MAINNET_STARGATE_ETH_ROUTER_ADDRESS = const POLYGON_STARGATE_ROUTER_ADDRESS = "0x45A01E4e04F14f7A4a6702c74187c5F6222033cd"; const MAINNET_USDC_ADDRESS = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"; -const MAINNET_USDT_ADDRESS = "0xdAC17F958D2ee523a2206206994597C13D831ec7"; +// const MAINNET_USDT_ADDRESS = "0xdAC17F958D2ee523a2206206994597C13D831ec7"; const CHAIN_IDS_TO_LZ_CHAIN_IDS: ChainIdConfigStruct[] = [ { chainId: ARBITRUM_CHAIN_ID, layerZeroChainId: LZ_ARBITRUM_CHAIN_ID }, { chainId: ETH_CHAIN_ID, layerZeroChainId: LZ_ETH_CHAIN_ID }, @@ -41,7 +41,7 @@ const ZERO_ADDRESS = ethers.constants.AddressZero; const TEN_USDC = ethers.utils.parseUnits("10", 6); const VITALIK_ACCOUNT = "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"; const USDC_FUNDER_ACCOUNT = "0x95Ba4cF87D6723ad9C0Db21737D862bE80e93911"; -const BINANCE_PEG_ACCOUNT = "0x47ac0Fb4F2D84898e4D9E7b4DaB3C24507a6D503"; +// const BINANCE_PEG_ACCOUNT = "0x47ac0Fb4F2D84898e4D9E7b4DaB3C24507a6D503"; describe("StargateFacet", () => { let diamond: Diamond; @@ -52,11 +52,11 @@ describe("StargateFacet", () => { let alice: SignerWithAddress; let bob: SignerWithAddress; let usdcFunder: SignerWithAddress; - let usdtFunder: SignerWithAddress; + // let usdtFunder: SignerWithAddress; let transferData: StargateDataStruct; let ethTransferData: StargateETHDataStruct; let usdc: Contract; - let usdt: Contract; + // let usdt: Contract; async function setup() { accounts = await ethers.getSigners(); From 2a1e132c6328dd73679f2fb6bddcecf04af1d988 Mon Sep 17 00:00:00 2001 From: lbw33 <71776468+lbw33@users.noreply.github.com> Date: Mon, 10 Jul 2023 14:46:32 +0100 Subject: [PATCH 6/8] Removed hardhat-network-helpers addon as causing issue with ci/cd. Amended tests. --- package-lock.json | 22 ---------------------- package.json | 1 - test/bridges/StargateFacet.ts | 19 ++++++++++++++++--- 3 files changed, 16 insertions(+), 26 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9e49bc5a..42527e04 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,6 @@ "license": "MIT", "devDependencies": { "@ethereumjs/tx": "3.5.2", - "@nomicfoundation/hardhat-network-helpers": "^1.0.8", "@nomiclabs/hardhat-etherscan": "2.1.7", "@nomiclabs/hardhat-web3": "2.0.0", "@openzeppelin/contracts": "4.6.0", @@ -2951,18 +2950,6 @@ "node": ">= 8" } }, - "node_modules/@nomicfoundation/hardhat-network-helpers": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.8.tgz", - "integrity": "sha512-MNqQbzUJZnCMIYvlniC3U+kcavz/PhhQSsY90tbEtUyMj/IQqsLwIRZa4ctjABh3Bz0KCh9OXUZ7Yk/d9hr45Q==", - "dev": true, - "dependencies": { - "ethereumjs-util": "^7.1.4" - }, - "peerDependencies": { - "hardhat": "^2.9.5" - } - }, "node_modules/@nomiclabs/hardhat-etherscan": { "version": "2.1.7", "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-2.1.7.tgz", @@ -23568,15 +23555,6 @@ "fastq": "^1.6.0" } }, - "@nomicfoundation/hardhat-network-helpers": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.8.tgz", - "integrity": "sha512-MNqQbzUJZnCMIYvlniC3U+kcavz/PhhQSsY90tbEtUyMj/IQqsLwIRZa4ctjABh3Bz0KCh9OXUZ7Yk/d9hr45Q==", - "dev": true, - "requires": { - "ethereumjs-util": "^7.1.4" - } - }, "@nomiclabs/hardhat-etherscan": { "version": "2.1.7", "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-2.1.7.tgz", diff --git a/package.json b/package.json index 23b91269..97f07df4 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,6 @@ }, "devDependencies": { "@ethereumjs/tx": "3.5.2", - "@nomicfoundation/hardhat-network-helpers": "^1.0.8", "@nomiclabs/hardhat-etherscan": "2.1.7", "@nomiclabs/hardhat-web3": "2.0.0", "@openzeppelin/contracts": "4.6.0", diff --git a/test/bridges/StargateFacet.ts b/test/bridges/StargateFacet.ts index d06ebe8b..2c43c930 100644 --- a/test/bridges/StargateFacet.ts +++ b/test/bridges/StargateFacet.ts @@ -13,7 +13,6 @@ import { } from "../../typings/StargateFacet"; import { ethers, network } from "hardhat"; import { expectRevert } from "@openzeppelin/test-helpers"; -import { impersonateAccount } from "@nomicfoundation/hardhat-network-helpers"; import USDC_ABI from "./abi/USDC_ABI.js"; // import USDT_ABI from "./abi/USDT_ABI.js"; import { defaultAbiCoder } from "ethers/lib/utils"; @@ -62,9 +61,23 @@ describe("StargateFacet", () => { accounts = await ethers.getSigners(); owner = accounts[0]; bob = accounts[1]; - await impersonateAccount(VITALIK_ACCOUNT); + + // Impersonate Vitalik account + await network.provider.request({ + method: "hardhat_impersonateAccount", + params: [VITALIK_ACCOUNT], + }); + + // Assign to alice alice = await ethers.getSigner(VITALIK_ACCOUNT); - await impersonateAccount(USDC_FUNDER_ACCOUNT); + + // Impersonate USDC Funder account + await network.provider.request({ + method: "hardhat_impersonateAccount", + params: [USDC_FUNDER_ACCOUNT], + }); + + // Assign to usdcFunder usdcFunder = await ethers.getSigner(USDC_FUNDER_ACCOUNT); diamondCutFacet = await deployContract("DiamondCutFacet"); From 2c8416f0730d6becd9e66ec1f9648bf5164caead Mon Sep 17 00:00:00 2001 From: lbw33 <71776468+lbw33@users.noreply.github.com> Date: Mon, 7 Aug 2023 17:05:35 +0100 Subject: [PATCH 7/8] StargateFacet fixes --- artifacts/Account.json | 157 ++- artifacts/AccountBase.json | 55 +- artifacts/AccountController.json | 51 + artifacts/AccountImplementationV1.json | 153 +++ artifacts/AccountRegistry.json | 51 + artifacts/Address.json | 4 +- artifacts/BalancesHelper.json | 55 +- artifacts/BalancesHelperV2.json | 55 +- artifacts/CBridgeFacet.json | 106 +- artifacts/ConnextFacet.json | 55 +- artifacts/Controlled.json | 51 + artifacts/Diamond.json | 55 +- artifacts/DiamondCutFacet.json | 55 +- artifacts/DiamondLoupeFacet.json | 55 +- artifacts/ENSAbstractResolver.json | 54 +- artifacts/ENSAddressResolver.json | 102 ++ artifacts/ENSController.json | 514 ++++++++- artifacts/ENSHelper.json | 106 +- artifacts/ENSNameResolver.json | 102 ++ artifacts/ENSPubKeyResolver.json | 102 ++ artifacts/ENSRegistry.json | 55 +- artifacts/ENSReverseRegistrar.json | 106 +- artifacts/ENSTextResolver.json | 102 ++ artifacts/ERC20Token.json | 51 + artifacts/ExternalAccountRegistry.json | 55 +- artifacts/Gateway.json | 157 ++- artifacts/GatewayRecipient.json | 51 + artifacts/GatewayV2.json | 208 +++- artifacts/Guarded.json | 51 + artifacts/HopFacet.json | 106 +- artifacts/Initializable.json | 51 + artifacts/LibAsset.json | 58 +- artifacts/LibDiamond.json | 55 +- artifacts/OwnershipFacet.json | 55 +- artifacts/PaymentDepositAccount.json | 106 +- artifacts/PaymentRegistry.json | 259 ++++- .../PersonalAccountImplementationV1.json | 208 +++- artifacts/PersonalAccountRegistry.json | 310 ++++- artifacts/ReentrancyGuard.json | 51 + artifacts/SGReceiver.json | 84 -- artifacts/SafeERC20.json | 4 +- artifacts/SignatureValidator.json | 51 + artifacts/StargateFacet.json | 134 ++- artifacts/WrappedWeiToken.json | 208 +++- docs/bridging/STARGATE_FACET.md | 195 ++++ scripts/001_test_stargate_facet.ts | 75 ++ src/bridges/facets/StargateFacet.sol | 26 +- src/bridges/helpers/SGReceiver.sol | 54 - test/bridges/StargateFacet.ts | 54 +- typings/Account.ts | 288 +++++ typings/AccountBase.ts | 96 ++ typings/AccountController.ts | 96 ++ typings/AccountControllerMock.ts | 192 ++++ typings/AccountImplementationV1.ts | 288 +++++ typings/AccountImplementationV1Mock.ts | 384 +++++++ typings/AccountRegistry.ts | 96 ++ typings/AccountRegistryMock.ts | 192 ++++ typings/AddressLib.ts | 76 +- typings/BalancesHelper.ts | 96 ++ typings/BalancesHelperV2.ts | 96 ++ typings/BlockLib.ts | 76 +- typings/BytesLib.ts | 76 +- typings/CBridgeFacet.ts | 192 ++++ typings/ConnextFacet.ts | 96 ++ typings/Controlled.ts | 96 ++ typings/Diamond.ts | 121 +- typings/DiamondCutFacet.ts | 96 ++ typings/DiamondLoupeFacet.ts | 96 ++ typings/ECDSAExtendedLib.ts | 76 +- typings/ECDSALib.ts | 76 +- typings/ENSAbstractResolver.ts | 76 +- typings/ENSAddressResolver.ts | 192 ++++ typings/ENSController.ts | 1012 ++++++++++++++++- typings/ENSHelper.ts | 192 ++++ typings/ENSNameResolver.ts | 192 ++++ typings/ENSPubKeyResolver.ts | 192 ++++ typings/ENSRegistry.ts | 96 ++ typings/ENSReverseRegistrar.ts | 192 ++++ typings/ENSTextResolver.ts | 192 ++++ typings/ERC20Token.ts | 96 ++ typings/ExternalAccountRegistry.ts | 96 ++ typings/Gateway.ts | 288 +++++ typings/GatewayRecipient.ts | 96 ++ typings/GatewayRecipientMock.ts | 192 ++++ typings/GatewayV2.ts | 384 +++++++ typings/Guarded.ts | 96 ++ typings/GuardedMock.ts | 192 ++++ typings/HopFacet.ts | 192 ++++ typings/Initializable.ts | 96 ++ typings/LibAsset.ts | 76 +- typings/LibDiamond.ts | 122 +- typings/OwnershipFacet.ts | 96 ++ typings/PaymentDepositAccount.ts | 192 ++++ typings/PaymentRegistry.ts | 480 ++++++++ typings/PersonalAccountImplementationV1.ts | 384 +++++++ typings/PersonalAccountRegistry.ts | 576 ++++++++++ typings/ReentrancyGuard.ts | 121 +- typings/SafeMathLib.ts | 76 +- typings/SignatureValidator.ts | 96 ++ typings/StargateFacet.ts | 232 +++- typings/StringsLib.ts | 76 +- typings/WrappedWeiToken.ts | 384 +++++++ typings/factories/AccountBase__factory.ts | 53 +- .../AccountControllerMock__factory.ts | 104 +- .../factories/AccountController__factory.ts | 51 + .../AccountImplementationV1Mock__factory.ts | 206 +++- .../AccountImplementationV1__factory.ts | 153 +++ .../factories/AccountRegistryMock__factory.ts | 104 +- typings/factories/AccountRegistry__factory.ts | 51 + typings/factories/Account__factory.ts | 155 ++- typings/factories/AddressLib__factory.ts | 14 +- .../factories/BalancesHelperV2__factory.ts | 53 +- typings/factories/BalancesHelper__factory.ts | 53 +- typings/factories/BlockLib__factory.ts | 14 +- typings/factories/BytesLib__factory.ts | 14 +- typings/factories/CBridgeFacet__factory.ts | 104 +- typings/factories/ConnextFacet__factory.ts | 53 +- typings/factories/Controlled__factory.ts | 51 + typings/factories/DiamondCutFacet__factory.ts | 53 +- .../factories/DiamondLoupeFacet__factory.ts | 53 +- typings/factories/Diamond__factory.ts | 53 +- .../factories/ECDSAExtendedLib__factory.ts | 14 +- typings/factories/ECDSALib__factory.ts | 14 +- .../factories/ENSAbstractResolver__factory.ts | 12 +- .../factories/ENSAddressResolver__factory.ts | 102 ++ typings/factories/ENSController__factory.ts | 512 ++++++++- typings/factories/ENSHelper__factory.ts | 104 +- typings/factories/ENSNameResolver__factory.ts | 102 ++ .../factories/ENSPubKeyResolver__factory.ts | 102 ++ typings/factories/ENSRegistry__factory.ts | 53 +- .../factories/ENSReverseRegistrar__factory.ts | 104 +- typings/factories/ENSTextResolver__factory.ts | 102 ++ typings/factories/ERC20Token__factory.ts | 51 + .../ExternalAccountRegistry__factory.ts | 53 +- .../GatewayRecipientMock__factory.ts | 104 +- .../factories/GatewayRecipient__factory.ts | 51 + typings/factories/GatewayV2__factory.ts | 206 +++- typings/factories/Gateway__factory.ts | 155 ++- typings/factories/GuardedMock__factory.ts | 104 +- typings/factories/Guarded__factory.ts | 51 + typings/factories/HopFacet__factory.ts | 104 +- typings/factories/Initializable__factory.ts | 51 + typings/factories/LibAsset__factory.ts | 14 +- typings/factories/LibDiamond__factory.ts | 53 +- typings/factories/OwnershipFacet__factory.ts | 53 +- .../PaymentDepositAccount__factory.ts | 104 +- typings/factories/PaymentRegistry__factory.ts | 257 ++++- ...ersonalAccountImplementationV1__factory.ts | 206 +++- .../PersonalAccountRegistry__factory.ts | 308 ++++- typings/factories/ReentrancyGuard__factory.ts | 51 + typings/factories/SGReceiver__factory.ts | 7 +- typings/factories/SafeMathLib__factory.ts | 14 +- .../factories/SignatureValidator__factory.ts | 51 + typings/factories/StargateFacet__factory.ts | 132 ++- typings/factories/StringsLib__factory.ts | 14 +- typings/factories/WrappedWeiToken__factory.ts | 206 +++- typings/index.ts | 18 + 157 files changed, 19065 insertions(+), 760 deletions(-) delete mode 100644 artifacts/SGReceiver.json create mode 100644 docs/bridging/STARGATE_FACET.md create mode 100644 scripts/001_test_stargate_facet.ts delete mode 100644 src/bridges/helpers/SGReceiver.sol diff --git a/artifacts/Account.json b/artifacts/Account.json index 3514140a..0605a893 100644 --- a/artifacts/Account.json +++ b/artifacts/Account.json @@ -23,6 +23,159 @@ "stateMutability": "nonpayable", "type": "fallback" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__28344ffb", + "type": "bytes8" + } + ], + "name": "c_28344ffb", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__495bfa8b", + "type": "bytes8" + } + ], + "name": "c_495bfa8b", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__ac4285e3", + "type": "bytes8" + } + ], + "name": "c_ac4285e3", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__28344ffb", + "type": "bytes8" + } + ], + "name": "c_false28344ffb", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__495bfa8b", + "type": "bytes8" + } + ], + "name": "c_false495bfa8b", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__ac4285e3", + "type": "bytes8" + } + ], + "name": "c_falseac4285e3", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__28344ffb", + "type": "bytes8" + } + ], + "name": "c_true28344ffb", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__495bfa8b", + "type": "bytes8" + } + ], + "name": "c_true495bfa8b", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__ac4285e3", + "type": "bytes8" + } + ], + "name": "c_trueac4285e3", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [], "name": "controller", @@ -109,8 +262,8 @@ "type": "receive" } ], - "bytecode": "0x608060405234801561001057600080fd5b506040516107513803806107518339818101604052604081101561003357600080fd5b810190808051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610630806101216000396000f3fe60806040526004361061004e5760003560e01c80633f579f42146100be5780635c60da1b146101e75780637b10399914610228578063d784d42614610269578063f77c4791146102ba57610055565b3661005557005b34801561006157600080fd5b50600080369050146100bc576000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050368060008037600080826000855af43d806000803e81600081146100b757816000f35b816000fd5b005b3480156100ca57600080fd5b5061016c600480360360608110156100e157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561012857600080fd5b82018360208201111561013a57600080fd5b8035906020019184600183028401116401000000008311171561015c57600080fd5b90919293919293905050506102fb565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ac578082015181840152602081019050610191565b50505050905090810190601f1680156101d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101f357600080fd5b506101fc61049f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023457600080fd5b5061023d6104c5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027557600080fd5b506102b86004803603602081101561028c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104eb565b005b3480156102c657600080fd5b506102cf6105d3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806105f8602c913960400191505060405180910390fd5b606060008673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d8060008114610411576040519150601f19603f3d011682016040523d82523d6000602084013e610416565b606091505b50809350819250505080610492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b8192505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461058f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806105f8602c913960400191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a", - "deployedBytecode": "0x60806040526004361061004e5760003560e01c80633f579f42146100be5780635c60da1b146101e75780637b10399914610228578063d784d42614610269578063f77c4791146102ba57610055565b3661005557005b34801561006157600080fd5b50600080369050146100bc576000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050368060008037600080826000855af43d806000803e81600081146100b757816000f35b816000fd5b005b3480156100ca57600080fd5b5061016c600480360360608110156100e157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561012857600080fd5b82018360208201111561013a57600080fd5b8035906020019184600183028401116401000000008311171561015c57600080fd5b90919293919293905050506102fb565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ac578082015181840152602081019050610191565b50505050905090810190601f1680156101d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101f357600080fd5b506101fc61049f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023457600080fd5b5061023d6104c5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027557600080fd5b506102b86004803603602081101561028c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104eb565b005b3480156102c657600080fd5b506102cf6105d3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806105f8602c913960400191505060405180910390fd5b606060008673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d8060008114610411576040519150601f19603f3d011682016040523d82523d6000602084013e610416565b606091505b50809350819250505080610492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b8192505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461058f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806105f8602c913960400191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a", + "bytecode": "0x608060405234801561001057600080fd5b50604051610f32380380610f328339818101604052604081101561003357600080fd5b810190808051906020019092919080519060200190929190505050610068674c05ed6aa1cd281960c01b61019960201b60201c565b610082675db0dfd7018850c360c01b61019960201b60201c565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506100dc6727cd07b305f6130f60c01b61019c60201b60201c565b6100f6673763e953c2595ed960c01b61019c60201b60201c565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610151679802ebbc23dba3ba60c01b61019c60201b60201c565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505061019f565b50565b50565b610d84806101ae6000396000f3fe6080604052600436106100e15760003560e01c80635c60da1b1161007f578063a42ea70811610059578063a42ea7081461067a578063d1c43eae146106d0578063d784d42614610726578063f77c479114610777576100e8565b80635c60da1b1461058c5780637b103999146105cd5780638f9bda6e1461060e576100e8565b80633f579f42116100bb5780633f579f421461031f57806344f9c9ec14610448578063550648ff146104b457806356c2fc6c14610520576100e8565b806310b90163146101f1578063221523e51461025d57806325afd90f146102c9576100e8565b366100e857005b3480156100f457600080fd5b5061010967d1c166158a76fd7860c01b6107b8565b61011d670a4a924f04604fe560c01b6107b8565b610131670ec1ea2f1a11078060c01b6107b8565b600080369050146101db57610150670366ed24f6d51c0d60c01b6107b8565b61016467583b5ef5a1a2fce260c01b6107b8565b61017867726acafc478ad1f860c01b6107b8565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506101b3673d8591565072bf1f60c01b6107b8565b368060008037600080826000855af43d806000803e81600081146101d657816000f35b816000fd5b6101ef67967eae13d5222be260c01b6107b8565b005b3480156101fd57600080fd5b506102456004803603602081101561021457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107bb565b60405180821515815260200191505060405180910390f35b34801561026957600080fd5b506102b16004803603602081101561028057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107c2565b60405180821515815260200191505060405180910390f35b3480156102d557600080fd5b5061031d600480360360208110156102ec57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107b8565b005b34801561032b57600080fd5b506103cd6004803603606081101561034257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561038957600080fd5b82018360208201111561039b57600080fd5b803590602001918460018302840111640100000000831117156103bd57600080fd5b90919293919293905050506107c9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561040d5780820151818401526020810190506103f2565b50505050905090810190601f16801561043a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561045457600080fd5b5061049c6004803603602081101561046b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610afd565b60405180821515815260200191505060405180910390f35b3480156104c057600080fd5b50610508600480360360208110156104d757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b08565b60405180821515815260200191505060405180910390f35b34801561052c57600080fd5b506105746004803603602081101561054357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b0f565b60405180821515815260200191505060405180910390f35b34801561059857600080fd5b506105a1610b1a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105d957600080fd5b506105e2610b40565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561061a57600080fd5b506106626004803603602081101561063157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b66565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506106ce6004803603602081101561069d57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b71565b005b3480156106dc57600080fd5b50610724600480360360208110156106f357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b74565b005b34801561073257600080fd5b506107756004803603602081101561074957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b77565b005b34801561078357600080fd5b5061078c610d27565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b50565b6000919050565b6000919050565b60606107df6715e98a49f265557060c01b6107b8565b6107f367f6266a592c249da560c01b610b74565b6108076728279893f8537e1960c01b610b74565b61081b67d300d0a9ecbe6cac60c01b610b74565b61082f678d5c0caa285e3ec560c01b610b74565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610d4c602c913960400191505060405180910390fd5b6108e76718b2e4dd03bc759a60c01b610b74565b6108fb67f8b65e28b897a44f60c01b610b74565b61090f67390c85347f6e2a2360c01b6107b8565b61092367d2a3446ca25e972660c01b6107b8565b61093767aca9b4091d5a9bc860c01b6107b8565b61094b67cce790cad14eb25260c01b6107b8565b606061096167b3adbec8c64c374360c01b6107b8565b6109756791d717b4dffb179d60c01b6107b8565b600061098b67310ff00dd2ac011060c01b6107b8565b8673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d80600081146109f7576040519150601f19603f3d011682016040523d82523d6000602084013e6109fc565b606091505b508093508192505050610a1967a450d3c3f63b6d4d60c01b6107b8565b610a2d679a3e7d330ffc414560c01b6107b8565b610a41671925c722e30d4f6d60c01b6107b8565b80610ab4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b610ac867a7fa168288301d1c60c01b6107b8565b610adc6745320fb16320fa4a60c01b6107b8565b610af06779ce6fa2117b3f1e60c01b6107b8565b8192505050949350505050565b600060019050919050565b6000919050565b600060019050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b50565b50565b610b8b6735cfec4d4a3972f660c01b6107b8565b610b9f67f6266a592c249da560c01b610b74565b610bb36728279893f8537e1960c01b610b74565b610bc767d300d0a9ecbe6cac60c01b610b74565b610bdb678d5c0caa285e3ec560c01b610b74565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610d4c602c913960400191505060405180910390fd5b610c936718b2e4dd03bc759a60c01b610b74565b610ca767f8b65e28b897a44f60c01b610b74565b610cbb67dbd823a6f693c9e360c01b6107b8565b610ccf6759af4a1e64a734ae60c01b6107b8565b610ce367123d1e7dcae181d060c01b6107b8565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a", + "deployedBytecode": "0x6080604052600436106100e15760003560e01c80635c60da1b1161007f578063a42ea70811610059578063a42ea7081461067a578063d1c43eae146106d0578063d784d42614610726578063f77c479114610777576100e8565b80635c60da1b1461058c5780637b103999146105cd5780638f9bda6e1461060e576100e8565b80633f579f42116100bb5780633f579f421461031f57806344f9c9ec14610448578063550648ff146104b457806356c2fc6c14610520576100e8565b806310b90163146101f1578063221523e51461025d57806325afd90f146102c9576100e8565b366100e857005b3480156100f457600080fd5b5061010967d1c166158a76fd7860c01b6107b8565b61011d670a4a924f04604fe560c01b6107b8565b610131670ec1ea2f1a11078060c01b6107b8565b600080369050146101db57610150670366ed24f6d51c0d60c01b6107b8565b61016467583b5ef5a1a2fce260c01b6107b8565b61017867726acafc478ad1f860c01b6107b8565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506101b3673d8591565072bf1f60c01b6107b8565b368060008037600080826000855af43d806000803e81600081146101d657816000f35b816000fd5b6101ef67967eae13d5222be260c01b6107b8565b005b3480156101fd57600080fd5b506102456004803603602081101561021457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107bb565b60405180821515815260200191505060405180910390f35b34801561026957600080fd5b506102b16004803603602081101561028057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107c2565b60405180821515815260200191505060405180910390f35b3480156102d557600080fd5b5061031d600480360360208110156102ec57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107b8565b005b34801561032b57600080fd5b506103cd6004803603606081101561034257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561038957600080fd5b82018360208201111561039b57600080fd5b803590602001918460018302840111640100000000831117156103bd57600080fd5b90919293919293905050506107c9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561040d5780820151818401526020810190506103f2565b50505050905090810190601f16801561043a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561045457600080fd5b5061049c6004803603602081101561046b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610afd565b60405180821515815260200191505060405180910390f35b3480156104c057600080fd5b50610508600480360360208110156104d757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b08565b60405180821515815260200191505060405180910390f35b34801561052c57600080fd5b506105746004803603602081101561054357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b0f565b60405180821515815260200191505060405180910390f35b34801561059857600080fd5b506105a1610b1a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105d957600080fd5b506105e2610b40565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561061a57600080fd5b506106626004803603602081101561063157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b66565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506106ce6004803603602081101561069d57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b71565b005b3480156106dc57600080fd5b50610724600480360360208110156106f357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b74565b005b34801561073257600080fd5b506107756004803603602081101561074957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b77565b005b34801561078357600080fd5b5061078c610d27565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b50565b6000919050565b6000919050565b60606107df6715e98a49f265557060c01b6107b8565b6107f367f6266a592c249da560c01b610b74565b6108076728279893f8537e1960c01b610b74565b61081b67d300d0a9ecbe6cac60c01b610b74565b61082f678d5c0caa285e3ec560c01b610b74565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610d4c602c913960400191505060405180910390fd5b6108e76718b2e4dd03bc759a60c01b610b74565b6108fb67f8b65e28b897a44f60c01b610b74565b61090f67390c85347f6e2a2360c01b6107b8565b61092367d2a3446ca25e972660c01b6107b8565b61093767aca9b4091d5a9bc860c01b6107b8565b61094b67cce790cad14eb25260c01b6107b8565b606061096167b3adbec8c64c374360c01b6107b8565b6109756791d717b4dffb179d60c01b6107b8565b600061098b67310ff00dd2ac011060c01b6107b8565b8673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d80600081146109f7576040519150601f19603f3d011682016040523d82523d6000602084013e6109fc565b606091505b508093508192505050610a1967a450d3c3f63b6d4d60c01b6107b8565b610a2d679a3e7d330ffc414560c01b6107b8565b610a41671925c722e30d4f6d60c01b6107b8565b80610ab4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b610ac867a7fa168288301d1c60c01b6107b8565b610adc6745320fb16320fa4a60c01b6107b8565b610af06779ce6fa2117b3f1e60c01b6107b8565b8192505050949350505050565b600060019050919050565b6000919050565b600060019050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b50565b50565b610b8b6735cfec4d4a3972f660c01b6107b8565b610b9f67f6266a592c249da560c01b610b74565b610bb36728279893f8537e1960c01b610b74565b610bc767d300d0a9ecbe6cac60c01b610b74565b610bdb678d5c0caa285e3ec560c01b610b74565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610d4c602c913960400191505060405180910390fd5b610c936718b2e4dd03bc759a60c01b610b74565b610ca767f8b65e28b897a44f60c01b610b74565b610cbb67dbd823a6f693c9e360c01b6107b8565b610ccf6759af4a1e64a734ae60c01b6107b8565b610ce367123d1e7dcae181d060c01b6107b8565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/AccountBase.json b/artifacts/AccountBase.json index e0331744..f364a46a 100644 --- a/artifacts/AccountBase.json +++ b/artifacts/AccountBase.json @@ -3,6 +3,57 @@ "contractName": "AccountBase", "sourceName": "src/common/account/AccountBase.sol", "abi": [ + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__28344ffb", + "type": "bytes8" + } + ], + "name": "c_28344ffb", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__28344ffb", + "type": "bytes8" + } + ], + "name": "c_false28344ffb", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__28344ffb", + "type": "bytes8" + } + ], + "name": "c_true28344ffb", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [], "name": "registry", @@ -17,8 +68,8 @@ "type": "function" } ], - "bytecode": "0x6080604052348015600f57600080fd5b5060908061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80637b10399914602d575b600080fd5b6033605f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fea164736f6c634300060c000a", - "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c80637b10399914602d575b600080fd5b6033605f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fea164736f6c634300060c000a", + "bytecode": "0x608060405234801561001057600080fd5b506101d2806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063221523e51461005157806344f9c9ec146100b05780637b1039991461010f578063a42ea70814610143575b600080fd5b6100986004803603602081101561006757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061018c565b60405180821515815260200191505060405180910390f35b6100f7600480360360208110156100c657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610193565b60405180821515815260200191505060405180910390f35b61011761019e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61018a6004803603602081101561015957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506101c2565b005b6000919050565b600060019050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5056fea164736f6c634300060c000a", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063221523e51461005157806344f9c9ec146100b05780637b1039991461010f578063a42ea70814610143575b600080fd5b6100986004803603602081101561006757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061018c565b60405180821515815260200191505060405180910390f35b6100f7600480360360208110156100c657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610193565b60405180821515815260200191505060405180910390f35b61011761019e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61018a6004803603602081101561015957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506101c2565b005b6000919050565b600060019050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5056fea164736f6c634300060c000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/AccountController.json b/artifacts/AccountController.json index daee1a93..bed29849 100644 --- a/artifacts/AccountController.json +++ b/artifacts/AccountController.json @@ -129,6 +129,57 @@ ], "stateMutability": "view", "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__bf6efb80", + "type": "bytes8" + } + ], + "name": "c_bf6efb80", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__bf6efb80", + "type": "bytes8" + } + ], + "name": "c_falsebf6efb80", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__bf6efb80", + "type": "bytes8" + } + ], + "name": "c_truebf6efb80", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" } ], "bytecode": "0x", diff --git a/artifacts/AccountImplementationV1.json b/artifacts/AccountImplementationV1.json index 5aef1d88..db195cd1 100644 --- a/artifacts/AccountImplementationV1.json +++ b/artifacts/AccountImplementationV1.json @@ -16,6 +16,159 @@ "name": "Initialized", "type": "event" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_098c0657", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__28344ffb", + "type": "bytes8" + } + ], + "name": "c_28344ffb", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__2860b96a", + "type": "bytes8" + } + ], + "name": "c_2860b96a", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_false098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__28344ffb", + "type": "bytes8" + } + ], + "name": "c_false28344ffb", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__2860b96a", + "type": "bytes8" + } + ], + "name": "c_false2860b96a", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_true098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__28344ffb", + "type": "bytes8" + } + ], + "name": "c_true28344ffb", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__2860b96a", + "type": "bytes8" + } + ], + "name": "c_true2860b96a", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { diff --git a/artifacts/AccountRegistry.json b/artifacts/AccountRegistry.json index 0eb937b9..831674f1 100644 --- a/artifacts/AccountRegistry.json +++ b/artifacts/AccountRegistry.json @@ -3,6 +3,57 @@ "contractName": "AccountRegistry", "sourceName": "src/common/account/AccountRegistry.sol", "abi": [ + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9649d652", + "type": "bytes8" + } + ], + "name": "c_9649d652", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9649d652", + "type": "bytes8" + } + ], + "name": "c_false9649d652", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9649d652", + "type": "bytes8" + } + ], + "name": "c_true9649d652", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { diff --git a/artifacts/Address.json b/artifacts/Address.json index 38923bb5..a4d7598c 100644 --- a/artifacts/Address.json +++ b/artifacts/Address.json @@ -3,8 +3,8 @@ "contractName": "Address", "sourceName": "@openzeppelin/contracts/utils/Address.sol", "abi": [], - "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204be9bb072a81b187b69029143d2bb612bb4f05e89f0d92a4de1845adfba1a89564736f6c63430008110033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204be9bb072a81b187b69029143d2bb612bb4f05e89f0d92a4de1845adfba1a89564736f6c63430008110033", + "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201384a37cf367357b826c321894b16a1a02123120aa8bbe15cce8e5b765b1f8b364736f6c63430008110033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201384a37cf367357b826c321894b16a1a02123120aa8bbe15cce8e5b765b1f8b364736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/BalancesHelper.json b/artifacts/BalancesHelper.json index 80368055..7fa65e1a 100644 --- a/artifacts/BalancesHelper.json +++ b/artifacts/BalancesHelper.json @@ -3,6 +3,57 @@ "contractName": "BalancesHelper", "sourceName": "src/common/helpers/BalancesHelper.sol", "abi": [ + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__7989c7ce", + "type": "bytes8" + } + ], + "name": "c_7989c7ce", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__7989c7ce", + "type": "bytes8" + } + ], + "name": "c_false7989c7ce", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__7989c7ce", + "type": "bytes8" + } + ], + "name": "c_true7989c7ce", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { @@ -28,8 +79,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b506106a2806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ef5bfc3714610030575b600080fd5b6100fc6004803603604081101561004657600080fd5b810190808035906020019064010000000081111561006357600080fd5b82018360208201111561007557600080fd5b8035906020019184602083028401116401000000008311171561009757600080fd5b9091929391929390803590602001906401000000008111156100b857600080fd5b8201836020820111156100ca57600080fd5b803590602001918460208302840111640100000000831117156100ec57600080fd5b9091929391929390505050610153565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561013f578082015181840152602081019050610124565b505050509050019250505060405180910390f35b60608061016f848490508787905061035490919063ffffffff16565b67ffffffffffffffff8111801561018557600080fd5b506040519080825280602002602001820160405280156101b45781602001602082028036833780820191505090505b50905060005b868690508110156103475760005b858590508110156103395760006101fd6101ee848989905061035490919063ffffffff16565b836103da90919063ffffffff16565b9050600073ffffffffffffffffffffffffffffffffffffffff1687878481811061022357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146102d2576102b589898581811061026a57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1688888581811061029357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16610462565b8482815181106102c157fe5b60200260200101818152505061032b565b8888848181106102de57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163184828151811061031e57fe5b6020026020010181815250505b5080806001019150506101c8565b5080806001019150506101ba565b5080915050949350505050565b60008083141561036757600090506103d4565b600082840290508284828161037857fe5b04146103cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806106726024913960400191505060405180910390fd5b809150505b92915050565b600080828401905083811015610458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174684c69623a206164646974696f6e206f766572666c6f77000081525060200191505060405180910390fd5b8091505092915050565b600080600090506000833b905060008111156106665760008473ffffffffffffffffffffffffffffffffffffffff166370a0823160e01b87604051602401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310610550578051825260208201915060208101905060208303925061052d565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d80600081146105b0576040519150601f19603f3d011682016040523d82523d6000602084013e6105b5565b606091505b505090508015610664578473ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561062657600080fd5b505afa15801561063a573d6000803e3d6000fd5b505050506040513d602081101561065057600080fd5b810190808051906020019092919050505092505b505b81925050509291505056fe536166654d6174684c69623a206d756c7469706c69636174696f6e206f766572666c6f77a164736f6c634300060c000a", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ef5bfc3714610030575b600080fd5b6100fc6004803603604081101561004657600080fd5b810190808035906020019064010000000081111561006357600080fd5b82018360208201111561007557600080fd5b8035906020019184602083028401116401000000008311171561009757600080fd5b9091929391929390803590602001906401000000008111156100b857600080fd5b8201836020820111156100ca57600080fd5b803590602001918460208302840111640100000000831117156100ec57600080fd5b9091929391929390505050610153565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561013f578082015181840152602081019050610124565b505050509050019250505060405180910390f35b60608061016f848490508787905061035490919063ffffffff16565b67ffffffffffffffff8111801561018557600080fd5b506040519080825280602002602001820160405280156101b45781602001602082028036833780820191505090505b50905060005b868690508110156103475760005b858590508110156103395760006101fd6101ee848989905061035490919063ffffffff16565b836103da90919063ffffffff16565b9050600073ffffffffffffffffffffffffffffffffffffffff1687878481811061022357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146102d2576102b589898581811061026a57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1688888581811061029357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16610462565b8482815181106102c157fe5b60200260200101818152505061032b565b8888848181106102de57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163184828151811061031e57fe5b6020026020010181815250505b5080806001019150506101c8565b5080806001019150506101ba565b5080915050949350505050565b60008083141561036757600090506103d4565b600082840290508284828161037857fe5b04146103cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806106726024913960400191505060405180910390fd5b809150505b92915050565b600080828401905083811015610458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174684c69623a206164646974696f6e206f766572666c6f77000081525060200191505060405180910390fd5b8091505092915050565b600080600090506000833b905060008111156106665760008473ffffffffffffffffffffffffffffffffffffffff166370a0823160e01b87604051602401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310610550578051825260208201915060208101905060208303925061052d565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d80600081146105b0576040519150601f19603f3d011682016040523d82523d6000602084013e6105b5565b606091505b505090508015610664578473ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561062657600080fd5b505afa15801561063a573d6000803e3d6000fd5b505050506040513d602081101561065057600080fd5b810190808051906020019092919050505092505b505b81925050509291505056fe536166654d6174684c69623a206d756c7469706c69636174696f6e206f766572666c6f77a164736f6c634300060c000a", + "bytecode": "0x608060405234801561001057600080fd5b50610c9b806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063505c2304146100515780635290eaf9146100b0578063717e5771146100f9578063ef5bfc3714610158575b600080fd5b6100986004803603602081101561006757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061027b565b60405180821515815260200191505060405180910390f35b6100f7600480360360208110156100c657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610286565b005b6101406004803603602081101561010f57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610289565b60405180821515815260200191505060405180910390f35b6102246004803603604081101561016e57600080fd5b810190808035906020019064010000000081111561018b57600080fd5b82018360208201111561019d57600080fd5b803590602001918460208302840111640100000000831117156101bf57600080fd5b9091929391929390803590602001906401000000008111156101e057600080fd5b8201836020820111156101f257600080fd5b8035906020019184602083028401116401000000008311171561021457600080fd5b9091929391929390505050610290565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561026757808201518184015260208101905061024c565b505050509050019250505060405180910390f35b600060019050919050565b50565b6000919050565b60606102a6671996f7c7db2259ac60c01b610286565b6102ba672e4b787fb5dcd29b60c01b610286565b6102ce6707663e952ab1b04b60c01b610286565b60606102e984849050878790506105e690919063ffffffff16565b67ffffffffffffffff811180156102ff57600080fd5b5060405190808252806020026020018201604052801561032e5781602001602082028036833780820191505090505b509050610345671e9f866a219d807660c01b610286565b610359675ee4ced19174963160c01b610286565b60005b868690508110156105b15761037b673a8062ad6a5a9ae860c01b610286565b61038f676962c83948de6c6260c01b610286565b60005b858590508110156105a3576103b16756207a9aa498eb3760c01b610286565b6103c567b0f0d8f141dfc6e060c01b610286565b60006103ef6103e084898990506105e690919063ffffffff16565b8361079890919063ffffffff16565b9050610405677cd11da277f59b6f60c01b610286565b61041967788ca4d91656b03060c01b610286565b600073ffffffffffffffffffffffffffffffffffffffff1687878481811061043d57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610514576104896714199bc9d11db1d460c01b610286565b61049d67ad5235d8ec378d1760c01b610286565b6104f78989858181106104ac57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168888858181106104d557fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff166108d5565b84828151811061050357fe5b602002602001018181525050610595565b6105286755d7cdbac043e98d60c01b610286565b61053c6712a6454d49d0a65960c01b610286565b88888481811061054857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163184828151811061058857fe5b6020026020010181815250505b508080600101915050610392565b50808060010191505061035c565b506105c667048643c1a644649960c01b610286565b6105da67d43948735d9a2b3860c01b610286565b80915050949350505050565b60006105fc673c508ce9aa0e6e6760c01b610c67565b610610670fa17eaab328e08260c01b610c67565b6106246768dfb0ea208c8f4060c01b610c67565b60008314156106715761064167a98d3fc708d3c69860c01b610c67565b6106556734bd3093bb68e15860c01b610c67565b6106686624de95f54120b160c01b610c67565b60009050610792565b6106856717005ae97fd5de3160c01b610c67565b61069967612166ddcd06cb8660c01b610c67565b6106ad67fc456346581af9f960c01b610c67565b600082840290506106c86780b69eb24224e59560c01b610c67565b6106dc67143061fc1d33eebb60c01b610c67565b6106f0671e71cfc00112654d60c01b610c67565b828482816106fa57fe5b0414610751576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180610c6b6024913960400191505060405180910390fd5b61076567a0f4e2148fad644960c01b610c67565b610779674bf736a758111ab060c01b610c67565b61078d67acec17dbca3a62a460c01b610c67565b809150505b92915050565b60006107ae672797d9bbee8e685760c01b610c67565b6107c267e25930aa3032662f60c01b610c67565b6107d6673b804ace3fd44ea060c01b610c67565b600082840190506107f167e0d809daafe36a0460c01b610c67565b61080567d0d7b021c1a6823260c01b610c67565b6108196741f1099b5fa09b9360c01b610c67565b8381101561088f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174684c69623a206164646974696f6e206f766572666c6f77000081525060200191505060405180910390fd5b6108a36728a352a27e50889560c01b610c67565b6108b767f55e5f024a80111c60c01b610c67565b6108cb67d865abdcb752192460c01b610c67565b8091505092915050565b60006108eb67b2712729e87868b360c01b610286565b6108ff67227ce95247d1b4cc60c01b610286565b61091367b685489daeb71a5560c01b610286565b600061092967a6f8c0fb98cafeeb60c01b610286565b61093d67c3aca832f91352cc60c01b610286565b6000610953678be659e0485bcf1760c01b610286565b833b905061096b670b33b15ad270360060c01b610286565b61097f676603793ca1524bbd60c01b610286565b6000811115610c1f5761099c6734983df7d9a27ced60c01b610286565b6109b0673b2ddbbd2fe08b5060c01b610286565b6109c46718a8c4551090a02c60c01b610286565b60008473ffffffffffffffffffffffffffffffffffffffff166370a0823160e01b87604051602401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310610a9c5780518252602082019150602081019050602083039250610a79565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114610afc576040519150601f19603f3d011682016040523d82523d6000602084013e610b01565b606091505b50509050610b1967c7fe3ced1711fc8b60c01b610286565b610b2d673b5f49e36a53cb9d60c01b610286565b8015610c0457610b47677def714ce110fcfc60c01b610286565b610b5b67eb520c752ccbf0a860c01b610286565b8473ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610bc257600080fd5b505afa158015610bd6573d6000803e3d6000fd5b505050506040513d6020811015610bec57600080fd5b81019080805190602001909291905050509250610c19565b610c1867d71c6452d70f1f5d60c01b610286565b5b50610c34565b610c336774cc09ed764aea3760c01b610286565b5b610c4867d4139ac54b6cf02d60c01b610286565b610c5c679db125fba3c9713860c01b610286565b819250505092915050565b5056fe536166654d6174684c69623a206d756c7469706c69636174696f6e206f766572666c6f77a164736f6c634300060c000a", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063505c2304146100515780635290eaf9146100b0578063717e5771146100f9578063ef5bfc3714610158575b600080fd5b6100986004803603602081101561006757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061027b565b60405180821515815260200191505060405180910390f35b6100f7600480360360208110156100c657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610286565b005b6101406004803603602081101561010f57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610289565b60405180821515815260200191505060405180910390f35b6102246004803603604081101561016e57600080fd5b810190808035906020019064010000000081111561018b57600080fd5b82018360208201111561019d57600080fd5b803590602001918460208302840111640100000000831117156101bf57600080fd5b9091929391929390803590602001906401000000008111156101e057600080fd5b8201836020820111156101f257600080fd5b8035906020019184602083028401116401000000008311171561021457600080fd5b9091929391929390505050610290565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561026757808201518184015260208101905061024c565b505050509050019250505060405180910390f35b600060019050919050565b50565b6000919050565b60606102a6671996f7c7db2259ac60c01b610286565b6102ba672e4b787fb5dcd29b60c01b610286565b6102ce6707663e952ab1b04b60c01b610286565b60606102e984849050878790506105e690919063ffffffff16565b67ffffffffffffffff811180156102ff57600080fd5b5060405190808252806020026020018201604052801561032e5781602001602082028036833780820191505090505b509050610345671e9f866a219d807660c01b610286565b610359675ee4ced19174963160c01b610286565b60005b868690508110156105b15761037b673a8062ad6a5a9ae860c01b610286565b61038f676962c83948de6c6260c01b610286565b60005b858590508110156105a3576103b16756207a9aa498eb3760c01b610286565b6103c567b0f0d8f141dfc6e060c01b610286565b60006103ef6103e084898990506105e690919063ffffffff16565b8361079890919063ffffffff16565b9050610405677cd11da277f59b6f60c01b610286565b61041967788ca4d91656b03060c01b610286565b600073ffffffffffffffffffffffffffffffffffffffff1687878481811061043d57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610514576104896714199bc9d11db1d460c01b610286565b61049d67ad5235d8ec378d1760c01b610286565b6104f78989858181106104ac57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168888858181106104d557fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff166108d5565b84828151811061050357fe5b602002602001018181525050610595565b6105286755d7cdbac043e98d60c01b610286565b61053c6712a6454d49d0a65960c01b610286565b88888481811061054857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163184828151811061058857fe5b6020026020010181815250505b508080600101915050610392565b50808060010191505061035c565b506105c667048643c1a644649960c01b610286565b6105da67d43948735d9a2b3860c01b610286565b80915050949350505050565b60006105fc673c508ce9aa0e6e6760c01b610c67565b610610670fa17eaab328e08260c01b610c67565b6106246768dfb0ea208c8f4060c01b610c67565b60008314156106715761064167a98d3fc708d3c69860c01b610c67565b6106556734bd3093bb68e15860c01b610c67565b6106686624de95f54120b160c01b610c67565b60009050610792565b6106856717005ae97fd5de3160c01b610c67565b61069967612166ddcd06cb8660c01b610c67565b6106ad67fc456346581af9f960c01b610c67565b600082840290506106c86780b69eb24224e59560c01b610c67565b6106dc67143061fc1d33eebb60c01b610c67565b6106f0671e71cfc00112654d60c01b610c67565b828482816106fa57fe5b0414610751576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180610c6b6024913960400191505060405180910390fd5b61076567a0f4e2148fad644960c01b610c67565b610779674bf736a758111ab060c01b610c67565b61078d67acec17dbca3a62a460c01b610c67565b809150505b92915050565b60006107ae672797d9bbee8e685760c01b610c67565b6107c267e25930aa3032662f60c01b610c67565b6107d6673b804ace3fd44ea060c01b610c67565b600082840190506107f167e0d809daafe36a0460c01b610c67565b61080567d0d7b021c1a6823260c01b610c67565b6108196741f1099b5fa09b9360c01b610c67565b8381101561088f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174684c69623a206164646974696f6e206f766572666c6f77000081525060200191505060405180910390fd5b6108a36728a352a27e50889560c01b610c67565b6108b767f55e5f024a80111c60c01b610c67565b6108cb67d865abdcb752192460c01b610c67565b8091505092915050565b60006108eb67b2712729e87868b360c01b610286565b6108ff67227ce95247d1b4cc60c01b610286565b61091367b685489daeb71a5560c01b610286565b600061092967a6f8c0fb98cafeeb60c01b610286565b61093d67c3aca832f91352cc60c01b610286565b6000610953678be659e0485bcf1760c01b610286565b833b905061096b670b33b15ad270360060c01b610286565b61097f676603793ca1524bbd60c01b610286565b6000811115610c1f5761099c6734983df7d9a27ced60c01b610286565b6109b0673b2ddbbd2fe08b5060c01b610286565b6109c46718a8c4551090a02c60c01b610286565b60008473ffffffffffffffffffffffffffffffffffffffff166370a0823160e01b87604051602401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310610a9c5780518252602082019150602081019050602083039250610a79565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114610afc576040519150601f19603f3d011682016040523d82523d6000602084013e610b01565b606091505b50509050610b1967c7fe3ced1711fc8b60c01b610286565b610b2d673b5f49e36a53cb9d60c01b610286565b8015610c0457610b47677def714ce110fcfc60c01b610286565b610b5b67eb520c752ccbf0a860c01b610286565b8473ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610bc257600080fd5b505afa158015610bd6573d6000803e3d6000fd5b505050506040513d6020811015610bec57600080fd5b81019080805190602001909291905050509250610c19565b610c1867d71c6452d70f1f5d60c01b610286565b5b50610c34565b610c336774cc09ed764aea3760c01b610286565b5b610c4867d4139ac54b6cf02d60c01b610286565b610c5c679db125fba3c9713860c01b610286565b819250505092915050565b5056fe536166654d6174684c69623a206d756c7469706c69636174696f6e206f766572666c6f77a164736f6c634300060c000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/BalancesHelperV2.json b/artifacts/BalancesHelperV2.json index 4831464b..c627da71 100644 --- a/artifacts/BalancesHelperV2.json +++ b/artifacts/BalancesHelperV2.json @@ -40,6 +40,57 @@ "name": "TokenZeroAddress", "type": "error" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__158c7976", + "type": "bytes8" + } + ], + "name": "c_158c7976", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__158c7976", + "type": "bytes8" + } + ], + "name": "c_false158c7976", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__158c7976", + "type": "bytes8" + } + ], + "name": "c_true158c7976", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { @@ -89,8 +140,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5061108a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806350c5a7101461003b578063ef5bfc371461006b575b600080fd5b610055600480360381019061005091906109e6565b61009b565b6040516100629190610ce8565b60405180910390f35b610085600480360381019061008091906109e6565b610279565b6040516100929190610d0a565b60405180910390f35b6060600083839050868690506100b19190610e68565b67ffffffffffffffff8111156100f0577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561011e5781602001602082028036833780820191505090505b50905060005b8686905081101561026c5760005b85859050811015610258576000828787905061014e9190610e68565b826101599190610e12565b90506101ff898985818110610197577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906101ac91906109bd565b8888858181106101e5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906101fa91906109bd565b610457565b848281518110610238577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505050808061025090610f3b565b915050610132565b50808061026490610f3b565b915050610124565b5080915050949350505050565b60606000838390508686905061028f9190610e68565b67ffffffffffffffff8111156102ce577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156102fc5781602001602082028036833780820191505090505b50905060005b8686905081101561044a5760005b85859050811015610436576000828787905061032c9190610e68565b826103379190610e12565b90506103dd898985818110610375577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201602081019061038a91906109bd565b8888858181106103c3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906103d891906109bd565b610608565b848281518110610416577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505050808061042e90610f3b565b915050610310565b50808061044290610f3b565b915050610302565b5080915050949350505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156104cc5782826040517f484305ff0000000000000000000000000000000000000000000000000000000081526004016104c3929190610cbf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156105405782826040517f41f93bdf000000000000000000000000000000000000000000000000000000008152600401610537929190610cbf565b60405180910390fd5b60006105e0632ec8eec760e01b8560405160240161055e9190610ca4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050508473ffffffffffffffffffffffffffffffffffffffff166107b090919063ffffffff16565b90506000818060200190518101906105f89190610a5b565b5050509050809250505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561067d5782826040517f484305ff000000000000000000000000000000000000000000000000000000008152600401610674929190610cbf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106f15782826040517f41f93bdf0000000000000000000000000000000000000000000000000000000081526004016106e8929190610cbf565b60405180910390fd5b60006107916370a0823160e01b8560405160240161070f9190610ca4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050508473ffffffffffffffffffffffffffffffffffffffff166107b090919063ffffffff16565b9050808060200190518101906107a79190610abe565b91505092915050565b60606107d58383604051806060016040528060258152602001611059602591396107dd565b905092915050565b60606107e8846108aa565b610827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081e90610d4e565b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff168560405161084f9190610c8d565b600060405180830381855afa9150503d806000811461088a576040519150601f19603f3d011682016040523d82523d6000602084013e61088f565b606091505b509150915061089f8282866108cd565b925050509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606083156108dd5782905061092d565b6000835111156108f05782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109249190610d2c565b60405180910390fd5b9392505050565b60008135905061094381611013565b92915050565b60008083601f84011261095b57600080fd5b8235905067ffffffffffffffff81111561097457600080fd5b60208301915083602082028301111561098c57600080fd5b9250929050565b6000815190506109a28161102a565b92915050565b6000815190506109b781611041565b92915050565b6000602082840312156109cf57600080fd5b60006109dd84828501610934565b91505092915050565b600080600080604085870312156109fc57600080fd5b600085013567ffffffffffffffff811115610a1657600080fd5b610a2287828801610949565b9450945050602085013567ffffffffffffffff811115610a4157600080fd5b610a4d87828801610949565b925092505092959194509250565b60008060008060808587031215610a7157600080fd5b6000610a7f87828801610993565b9450506020610a90878288016109a8565b9350506040610aa1878288016109a8565b9250506060610ab2878288016109a8565b91505092959194509250565b600060208284031215610ad057600080fd5b6000610ade848285016109a8565b91505092915050565b6000610af38383610c13565b60208301905092915050565b6000610b0b8383610c7e565b60208301905092915050565b610b2081610ec2565b82525050565b6000610b3182610d8e565b610b3b8185610dd4565b9350610b4683610d6e565b8060005b83811015610b77578151610b5e8882610ae7565b9750610b6983610dba565b925050600181019050610b4a565b5085935050505092915050565b6000610b8f82610d99565b610b998185610de5565b9350610ba483610d7e565b8060005b83811015610bd5578151610bbc8882610aff565b9750610bc783610dc7565b925050600181019050610ba8565b5085935050505092915050565b6000610bed82610da4565b610bf78185610df6565b9350610c07818560208601610f08565b80840191505092915050565b610c1c81610ed4565b82525050565b6000610c2d82610daf565b610c378185610e01565b9350610c47818560208601610f08565b610c5081610fb3565b840191505092915050565b6000610c68602483610e01565b9150610c7382610fc4565b604082019050919050565b610c8781610efe565b82525050565b6000610c998284610be2565b915081905092915050565b6000602082019050610cb96000830184610b17565b92915050565b6000604082019050610cd46000830185610b17565b610ce16020830184610b17565b9392505050565b60006020820190508181036000830152610d028184610b26565b905092915050565b60006020820190508181036000830152610d248184610b84565b905092915050565b60006020820190508181036000830152610d468184610c22565b905092915050565b60006020820190508181036000830152610d6781610c5b565b9050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610e1d82610efe565b9150610e2883610efe565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610e5d57610e5c610f84565b5b828201905092915050565b6000610e7382610efe565b9150610e7e83610efe565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610eb757610eb6610f84565b5b828202905092915050565b6000610ecd82610ede565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610f26578082015181840152602081019050610f0b565b83811115610f35576000848401525b50505050565b6000610f4682610efe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610f7957610f78610f84565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b7f416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e7460008201527f7261637400000000000000000000000000000000000000000000000000000000602082015250565b61101c81610ec2565b811461102757600080fd5b50565b61103381610ed4565b811461103e57600080fd5b50565b61104a81610efe565b811461105557600080fd5b5056fe416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564a164736f6c6343000804000a", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806350c5a7101461003b578063ef5bfc371461006b575b600080fd5b610055600480360381019061005091906109e6565b61009b565b6040516100629190610ce8565b60405180910390f35b610085600480360381019061008091906109e6565b610279565b6040516100929190610d0a565b60405180910390f35b6060600083839050868690506100b19190610e68565b67ffffffffffffffff8111156100f0577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561011e5781602001602082028036833780820191505090505b50905060005b8686905081101561026c5760005b85859050811015610258576000828787905061014e9190610e68565b826101599190610e12565b90506101ff898985818110610197577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906101ac91906109bd565b8888858181106101e5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906101fa91906109bd565b610457565b848281518110610238577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505050808061025090610f3b565b915050610132565b50808061026490610f3b565b915050610124565b5080915050949350505050565b60606000838390508686905061028f9190610e68565b67ffffffffffffffff8111156102ce577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156102fc5781602001602082028036833780820191505090505b50905060005b8686905081101561044a5760005b85859050811015610436576000828787905061032c9190610e68565b826103379190610e12565b90506103dd898985818110610375577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201602081019061038a91906109bd565b8888858181106103c3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906103d891906109bd565b610608565b848281518110610416577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505050808061042e90610f3b565b915050610310565b50808061044290610f3b565b915050610302565b5080915050949350505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156104cc5782826040517f484305ff0000000000000000000000000000000000000000000000000000000081526004016104c3929190610cbf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156105405782826040517f41f93bdf000000000000000000000000000000000000000000000000000000008152600401610537929190610cbf565b60405180910390fd5b60006105e0632ec8eec760e01b8560405160240161055e9190610ca4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050508473ffffffffffffffffffffffffffffffffffffffff166107b090919063ffffffff16565b90506000818060200190518101906105f89190610a5b565b5050509050809250505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561067d5782826040517f484305ff000000000000000000000000000000000000000000000000000000008152600401610674929190610cbf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106f15782826040517f41f93bdf0000000000000000000000000000000000000000000000000000000081526004016106e8929190610cbf565b60405180910390fd5b60006107916370a0823160e01b8560405160240161070f9190610ca4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050508473ffffffffffffffffffffffffffffffffffffffff166107b090919063ffffffff16565b9050808060200190518101906107a79190610abe565b91505092915050565b60606107d58383604051806060016040528060258152602001611059602591396107dd565b905092915050565b60606107e8846108aa565b610827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081e90610d4e565b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff168560405161084f9190610c8d565b600060405180830381855afa9150503d806000811461088a576040519150601f19603f3d011682016040523d82523d6000602084013e61088f565b606091505b509150915061089f8282866108cd565b925050509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606083156108dd5782905061092d565b6000835111156108f05782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109249190610d2c565b60405180910390fd5b9392505050565b60008135905061094381611013565b92915050565b60008083601f84011261095b57600080fd5b8235905067ffffffffffffffff81111561097457600080fd5b60208301915083602082028301111561098c57600080fd5b9250929050565b6000815190506109a28161102a565b92915050565b6000815190506109b781611041565b92915050565b6000602082840312156109cf57600080fd5b60006109dd84828501610934565b91505092915050565b600080600080604085870312156109fc57600080fd5b600085013567ffffffffffffffff811115610a1657600080fd5b610a2287828801610949565b9450945050602085013567ffffffffffffffff811115610a4157600080fd5b610a4d87828801610949565b925092505092959194509250565b60008060008060808587031215610a7157600080fd5b6000610a7f87828801610993565b9450506020610a90878288016109a8565b9350506040610aa1878288016109a8565b9250506060610ab2878288016109a8565b91505092959194509250565b600060208284031215610ad057600080fd5b6000610ade848285016109a8565b91505092915050565b6000610af38383610c13565b60208301905092915050565b6000610b0b8383610c7e565b60208301905092915050565b610b2081610ec2565b82525050565b6000610b3182610d8e565b610b3b8185610dd4565b9350610b4683610d6e565b8060005b83811015610b77578151610b5e8882610ae7565b9750610b6983610dba565b925050600181019050610b4a565b5085935050505092915050565b6000610b8f82610d99565b610b998185610de5565b9350610ba483610d7e565b8060005b83811015610bd5578151610bbc8882610aff565b9750610bc783610dc7565b925050600181019050610ba8565b5085935050505092915050565b6000610bed82610da4565b610bf78185610df6565b9350610c07818560208601610f08565b80840191505092915050565b610c1c81610ed4565b82525050565b6000610c2d82610daf565b610c378185610e01565b9350610c47818560208601610f08565b610c5081610fb3565b840191505092915050565b6000610c68602483610e01565b9150610c7382610fc4565b604082019050919050565b610c8781610efe565b82525050565b6000610c998284610be2565b915081905092915050565b6000602082019050610cb96000830184610b17565b92915050565b6000604082019050610cd46000830185610b17565b610ce16020830184610b17565b9392505050565b60006020820190508181036000830152610d028184610b26565b905092915050565b60006020820190508181036000830152610d248184610b84565b905092915050565b60006020820190508181036000830152610d468184610c22565b905092915050565b60006020820190508181036000830152610d6781610c5b565b9050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610e1d82610efe565b9150610e2883610efe565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610e5d57610e5c610f84565b5b828201905092915050565b6000610e7382610efe565b9150610e7e83610efe565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610eb757610eb6610f84565b5b828202905092915050565b6000610ecd82610ede565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610f26578082015181840152602081019050610f0b565b83811115610f35576000848401525b50505050565b6000610f4682610efe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610f7957610f78610f84565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b7f416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e7460008201527f7261637400000000000000000000000000000000000000000000000000000000602082015250565b61101c81610ec2565b811461102757600080fd5b50565b61103381610ed4565b811461103e57600080fd5b50565b61104a81610efe565b811461105557600080fd5b5056fe416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564a164736f6c6343000804000a", + "bytecode": "0x608060405234801561001057600080fd5b5061002b6709f30c992493712560c01b61003060201b60201c565b610033565b50565b611605806100426000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80632686e1591461005c57806350c5a71014610078578063598cebc2146100a857806385837775146100d8578063ef5bfc3714610108575b600080fd5b61007660048036038101906100719190610f34565b610138565b005b610092600480360381019061008d9190610ebf565b61013b565b60405161009f91906111f9565b60405180910390f35b6100c260048036038101906100bd9190610f34565b610409565b6040516100cf919061123d565b60405180910390f35b6100f260048036038101906100ed9190610f34565b610414565b6040516100ff919061123d565b60405180910390f35b610122600480360381019061011d9190610ebf565b61041b565b60405161012f919061121b565b60405180910390f35b50565b606061015167b7e5e1e9244e5e0160c01b610138565b610165672048521181b0f1cf60c01b610138565b61017967b4518694c34f490660c01b610138565b6000838390508686905061018d9190611394565b67ffffffffffffffff8111156101cc577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156101fa5781602001602082028036833780820191505090505b5090506102116757f4c382f00c5a8360c01b610138565b61022567e69f8d60c03d722d60c01b610138565b60005b868690508110156103d45761024767ab1fc139b6b2455a60c01b610138565b61025b6771d1b307fe59c4ba60c01b610138565b60005b858590508110156103c05761027d676fc8991df9fe527360c01b610138565b610291670d0d6fcdea937bbc60c01b610138565b600082878790506102a29190611394565b826102ad919061133e565b90506102c367691e1323cd6c34f260c01b610138565b6103678989858181106102ff577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906103149190610e96565b88888581811061034d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906103629190610e96565b6106e9565b8482815181106103a0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181815250505080806103b89061149f565b91505061025e565b5080806103cc9061149f565b915050610228565b506103e96705d2747fe66b15de60c01b610138565b6103fd6779537f854243435860c01b610138565b80915050949350505050565b600060019050919050565b6000919050565b60606104316757a851679897871060c01b610138565b61044567afca38cbaae3954b60c01b610138565b6104596717e61485e2adddae60c01b610138565b6000838390508686905061046d9190611394565b67ffffffffffffffff8111156104ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156104da5781602001602082028036833780820191505090505b5090506104f167a8fd47c736e098c660c01b610138565b6105056754a3a66a760471e260c01b610138565b60005b868690508110156106b457610527676020aede3cf0f24260c01b610138565b61053b677c74b1a46b3310a860c01b610138565b60005b858590508110156106a05761055d67a6e963d7511535f060c01b610138565b6105716767f1de8600063fdd60c01b610138565b600082878790506105829190611394565b8261058d919061133e565b90506105a367f267705018eace0d60c01b610138565b6106478989858181106105df577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906105f49190610e96565b88888581811061062d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906106429190610e96565b6109c7565b848281518110610680577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181815250505080806106989061149f565b91505061053e565b5080806106ac9061149f565b915050610508565b506106c967f5cb551b5203b64e60c01b610138565b6106dd67dcd6147ba89eec3960c01b610138565b80915050949350505050565b60006106ff6716015317cc44c1fe60c01b610138565b61071367d08a07da0c10fa6560c01b610138565b61072767904b2cf5eb3c41ad60c01b610138565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107af5761077067f2daedce79a4ab6660c01b610138565b82826040517f484305ff0000000000000000000000000000000000000000000000000000000081526004016107a69291906111d0565b60405180910390fd5b6107c367dbfe044603cf7ed960c01b610138565b6107d767bcd8d2533bb37a4860c01b610138565b6107eb6704079fddbeeaca4960c01b610138565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561087357610834675e3fae1ce3835aac60c01b610138565b82826040517f41f93bdf00000000000000000000000000000000000000000000000000000000815260040161086a9291906111d0565b60405180910390fd5b6108876729109ed6e6803a3e60c01b610138565b61089b67df9d686a987d620260c01b610138565b6108af67ff1d584f0b3383ff60c01b610138565b600061094f632ec8eec760e01b856040516024016108cd91906111b5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050508473ffffffffffffffffffffffffffffffffffffffff16610c7490919063ffffffff16565b90506109656734d8c5a7d10216ee60c01b610138565b6109796739c0f73afd5eb4ac60c01b610138565b60008180602001905181019061098f9190610f5d565b50505090506109a8674c52b5de12a9f5f860c01b610138565b6109bc6710cce64556abd10560c01b610138565b809250505092915050565b60006109dd678d7f6ae46953909760c01b610138565b6109f16770b374a1822c332460c01b610138565b610a056787145e489d3e328460c01b610138565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a8d57610a4e67873f8a37fca17e4360c01b610138565b82826040517f484305ff000000000000000000000000000000000000000000000000000000008152600401610a849291906111d0565b60405180910390fd5b610aa16770e4c54b166c57c260c01b610138565b610ab567c49ee77d5f48860260c01b610138565b610ac967ad0eade5d3d1ba8c60c01b610138565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b5157610b126749cab2b7bd90a8bc60c01b610138565b82826040517f41f93bdf000000000000000000000000000000000000000000000000000000008152600401610b489291906111d0565b60405180910390fd5b610b6567e85f3c08277b03f160c01b610138565b610b7967c26540d5beb682f560c01b610138565b610b8d67e1af98e33c8d159160c01b610138565b6000610c2d6370a0823160e01b85604051602401610bab91906111b5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050508473ffffffffffffffffffffffffffffffffffffffff16610c7490919063ffffffff16565b9050610c4367779032358553ccd060c01b610138565b610c5767f3c5150d5508debe60c01b610138565b80806020019051810190610c6b9190610fc0565b91505092915050565b6060610c9983836040518060600160405280602581526020016115d460259139610ca1565b905092915050565b6060610cac84610d6e565b610ceb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce29061127a565b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1685604051610d13919061119e565b600060405180830381855afa9150503d8060008114610d4e576040519150601f19603f3d011682016040523d82523d6000602084013e610d53565b606091505b5091509150610d63828286610d91565b925050509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610da157829050610df1565b600083511115610db45782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de89190611258565b60405180910390fd5b9392505050565b600081359050610e0781611577565b92915050565b60008083601f840112610e1f57600080fd5b8235905067ffffffffffffffff811115610e3857600080fd5b602083019150836020820283011115610e5057600080fd5b9250929050565b600081359050610e668161158e565b92915050565b600081519050610e7b816115a5565b92915050565b600081519050610e90816115bc565b92915050565b600060208284031215610ea857600080fd5b6000610eb684828501610df8565b91505092915050565b60008060008060408587031215610ed557600080fd5b600085013567ffffffffffffffff811115610eef57600080fd5b610efb87828801610e0d565b9450945050602085013567ffffffffffffffff811115610f1a57600080fd5b610f2687828801610e0d565b925092505092959194509250565b600060208284031215610f4657600080fd5b6000610f5484828501610e57565b91505092915050565b60008060008060808587031215610f7357600080fd5b6000610f8187828801610e6c565b9450506020610f9287828801610e81565b9350506040610fa387828801610e81565b9250506060610fb487828801610e81565b91505092959194509250565b600060208284031215610fd257600080fd5b6000610fe084828501610e81565b91505092915050565b6000610ff58383611124565b60208301905092915050565b600061100d838361118f565b60208301905092915050565b611022816113ee565b82525050565b6000611033826112ba565b61103d8185611300565b93506110488361129a565b8060005b838110156110795781516110608882610fe9565b975061106b836112e6565b92505060018101905061104c565b5085935050505092915050565b6000611091826112c5565b61109b8185611311565b93506110a6836112aa565b8060005b838110156110d75781516110be8882611001565b97506110c9836112f3565b9250506001810190506110aa565b5085935050505092915050565b6110ed81611400565b82525050565b60006110fe826112d0565b6111088185611322565b935061111881856020860161146c565b80840191505092915050565b61112d81611438565b82525050565b600061113e826112db565b611148818561132d565b935061115881856020860161146c565b61116181611517565b840191505092915050565b600061117960248361132d565b915061118482611528565b604082019050919050565b61119881611462565b82525050565b60006111aa82846110f3565b915081905092915050565b60006020820190506111ca6000830184611019565b92915050565b60006040820190506111e56000830185611019565b6111f26020830184611019565b9392505050565b600060208201905081810360008301526112138184611028565b905092915050565b600060208201905081810360008301526112358184611086565b905092915050565b600060208201905061125260008301846110e4565b92915050565b600060208201905081810360008301526112728184611133565b905092915050565b600060208201905081810360008301526112938161116c565b9050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061134982611462565b915061135483611462565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611389576113886114e8565b5b828201905092915050565b600061139f82611462565b91506113aa83611462565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156113e3576113e26114e8565b5b828202905092915050565b60006113f982611442565b9050919050565b60008115159050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101561148a57808201518184015260208101905061146f565b83811115611499576000848401525b50505050565b60006114aa82611462565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156114dd576114dc6114e8565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b7f416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e7460008201527f7261637400000000000000000000000000000000000000000000000000000000602082015250565b611580816113ee565b811461158b57600080fd5b50565b6115978161140c565b81146115a257600080fd5b50565b6115ae81611438565b81146115b957600080fd5b50565b6115c581611462565b81146115d057600080fd5b5056fe416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564a164736f6c6343000804000a", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80632686e1591461005c57806350c5a71014610078578063598cebc2146100a857806385837775146100d8578063ef5bfc3714610108575b600080fd5b61007660048036038101906100719190610f34565b610138565b005b610092600480360381019061008d9190610ebf565b61013b565b60405161009f91906111f9565b60405180910390f35b6100c260048036038101906100bd9190610f34565b610409565b6040516100cf919061123d565b60405180910390f35b6100f260048036038101906100ed9190610f34565b610414565b6040516100ff919061123d565b60405180910390f35b610122600480360381019061011d9190610ebf565b61041b565b60405161012f919061121b565b60405180910390f35b50565b606061015167b7e5e1e9244e5e0160c01b610138565b610165672048521181b0f1cf60c01b610138565b61017967b4518694c34f490660c01b610138565b6000838390508686905061018d9190611394565b67ffffffffffffffff8111156101cc577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156101fa5781602001602082028036833780820191505090505b5090506102116757f4c382f00c5a8360c01b610138565b61022567e69f8d60c03d722d60c01b610138565b60005b868690508110156103d45761024767ab1fc139b6b2455a60c01b610138565b61025b6771d1b307fe59c4ba60c01b610138565b60005b858590508110156103c05761027d676fc8991df9fe527360c01b610138565b610291670d0d6fcdea937bbc60c01b610138565b600082878790506102a29190611394565b826102ad919061133e565b90506102c367691e1323cd6c34f260c01b610138565b6103678989858181106102ff577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906103149190610e96565b88888581811061034d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906103629190610e96565b6106e9565b8482815181106103a0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181815250505080806103b89061149f565b91505061025e565b5080806103cc9061149f565b915050610228565b506103e96705d2747fe66b15de60c01b610138565b6103fd6779537f854243435860c01b610138565b80915050949350505050565b600060019050919050565b6000919050565b60606104316757a851679897871060c01b610138565b61044567afca38cbaae3954b60c01b610138565b6104596717e61485e2adddae60c01b610138565b6000838390508686905061046d9190611394565b67ffffffffffffffff8111156104ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156104da5781602001602082028036833780820191505090505b5090506104f167a8fd47c736e098c660c01b610138565b6105056754a3a66a760471e260c01b610138565b60005b868690508110156106b457610527676020aede3cf0f24260c01b610138565b61053b677c74b1a46b3310a860c01b610138565b60005b858590508110156106a05761055d67a6e963d7511535f060c01b610138565b6105716767f1de8600063fdd60c01b610138565b600082878790506105829190611394565b8261058d919061133e565b90506105a367f267705018eace0d60c01b610138565b6106478989858181106105df577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906105f49190610e96565b88888581811061062d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906106429190610e96565b6109c7565b848281518110610680577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181815250505080806106989061149f565b91505061053e565b5080806106ac9061149f565b915050610508565b506106c967f5cb551b5203b64e60c01b610138565b6106dd67dcd6147ba89eec3960c01b610138565b80915050949350505050565b60006106ff6716015317cc44c1fe60c01b610138565b61071367d08a07da0c10fa6560c01b610138565b61072767904b2cf5eb3c41ad60c01b610138565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107af5761077067f2daedce79a4ab6660c01b610138565b82826040517f484305ff0000000000000000000000000000000000000000000000000000000081526004016107a69291906111d0565b60405180910390fd5b6107c367dbfe044603cf7ed960c01b610138565b6107d767bcd8d2533bb37a4860c01b610138565b6107eb6704079fddbeeaca4960c01b610138565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561087357610834675e3fae1ce3835aac60c01b610138565b82826040517f41f93bdf00000000000000000000000000000000000000000000000000000000815260040161086a9291906111d0565b60405180910390fd5b6108876729109ed6e6803a3e60c01b610138565b61089b67df9d686a987d620260c01b610138565b6108af67ff1d584f0b3383ff60c01b610138565b600061094f632ec8eec760e01b856040516024016108cd91906111b5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050508473ffffffffffffffffffffffffffffffffffffffff16610c7490919063ffffffff16565b90506109656734d8c5a7d10216ee60c01b610138565b6109796739c0f73afd5eb4ac60c01b610138565b60008180602001905181019061098f9190610f5d565b50505090506109a8674c52b5de12a9f5f860c01b610138565b6109bc6710cce64556abd10560c01b610138565b809250505092915050565b60006109dd678d7f6ae46953909760c01b610138565b6109f16770b374a1822c332460c01b610138565b610a056787145e489d3e328460c01b610138565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a8d57610a4e67873f8a37fca17e4360c01b610138565b82826040517f484305ff000000000000000000000000000000000000000000000000000000008152600401610a849291906111d0565b60405180910390fd5b610aa16770e4c54b166c57c260c01b610138565b610ab567c49ee77d5f48860260c01b610138565b610ac967ad0eade5d3d1ba8c60c01b610138565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b5157610b126749cab2b7bd90a8bc60c01b610138565b82826040517f41f93bdf000000000000000000000000000000000000000000000000000000008152600401610b489291906111d0565b60405180910390fd5b610b6567e85f3c08277b03f160c01b610138565b610b7967c26540d5beb682f560c01b610138565b610b8d67e1af98e33c8d159160c01b610138565b6000610c2d6370a0823160e01b85604051602401610bab91906111b5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050508473ffffffffffffffffffffffffffffffffffffffff16610c7490919063ffffffff16565b9050610c4367779032358553ccd060c01b610138565b610c5767f3c5150d5508debe60c01b610138565b80806020019051810190610c6b9190610fc0565b91505092915050565b6060610c9983836040518060600160405280602581526020016115d460259139610ca1565b905092915050565b6060610cac84610d6e565b610ceb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce29061127a565b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1685604051610d13919061119e565b600060405180830381855afa9150503d8060008114610d4e576040519150601f19603f3d011682016040523d82523d6000602084013e610d53565b606091505b5091509150610d63828286610d91565b925050509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610da157829050610df1565b600083511115610db45782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de89190611258565b60405180910390fd5b9392505050565b600081359050610e0781611577565b92915050565b60008083601f840112610e1f57600080fd5b8235905067ffffffffffffffff811115610e3857600080fd5b602083019150836020820283011115610e5057600080fd5b9250929050565b600081359050610e668161158e565b92915050565b600081519050610e7b816115a5565b92915050565b600081519050610e90816115bc565b92915050565b600060208284031215610ea857600080fd5b6000610eb684828501610df8565b91505092915050565b60008060008060408587031215610ed557600080fd5b600085013567ffffffffffffffff811115610eef57600080fd5b610efb87828801610e0d565b9450945050602085013567ffffffffffffffff811115610f1a57600080fd5b610f2687828801610e0d565b925092505092959194509250565b600060208284031215610f4657600080fd5b6000610f5484828501610e57565b91505092915050565b60008060008060808587031215610f7357600080fd5b6000610f8187828801610e6c565b9450506020610f9287828801610e81565b9350506040610fa387828801610e81565b9250506060610fb487828801610e81565b91505092959194509250565b600060208284031215610fd257600080fd5b6000610fe084828501610e81565b91505092915050565b6000610ff58383611124565b60208301905092915050565b600061100d838361118f565b60208301905092915050565b611022816113ee565b82525050565b6000611033826112ba565b61103d8185611300565b93506110488361129a565b8060005b838110156110795781516110608882610fe9565b975061106b836112e6565b92505060018101905061104c565b5085935050505092915050565b6000611091826112c5565b61109b8185611311565b93506110a6836112aa565b8060005b838110156110d75781516110be8882611001565b97506110c9836112f3565b9250506001810190506110aa565b5085935050505092915050565b6110ed81611400565b82525050565b60006110fe826112d0565b6111088185611322565b935061111881856020860161146c565b80840191505092915050565b61112d81611438565b82525050565b600061113e826112db565b611148818561132d565b935061115881856020860161146c565b61116181611517565b840191505092915050565b600061117960248361132d565b915061118482611528565b604082019050919050565b61119881611462565b82525050565b60006111aa82846110f3565b915081905092915050565b60006020820190506111ca6000830184611019565b92915050565b60006040820190506111e56000830185611019565b6111f26020830184611019565b9392505050565b600060208201905081810360008301526112138184611028565b905092915050565b600060208201905081810360008301526112358184611086565b905092915050565b600060208201905061125260008301846110e4565b92915050565b600060208201905081810360008301526112728184611133565b905092915050565b600060208201905081810360008301526112938161116c565b9050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061134982611462565b915061135483611462565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611389576113886114e8565b5b828201905092915050565b600061139f82611462565b91506113aa83611462565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156113e3576113e26114e8565b5b828202905092915050565b60006113f982611442565b9050919050565b60008115159050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101561148a57808201518184015260208101905061146f565b83811115611499576000848401525b50505050565b60006114aa82611462565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156114dd576114dc6114e8565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b7f416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e7460008201527f7261637400000000000000000000000000000000000000000000000000000000602082015250565b611580816113ee565b811461158b57600080fd5b50565b6115978161140c565b81146115a257600080fd5b50565b6115ae81611438565b81146115b957600080fd5b50565b6115c581611462565b81146115d057600080fd5b5056fe416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564a164736f6c6343000804000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/CBridgeFacet.json b/artifacts/CBridgeFacet.json index 49ec8bf1..68829a3b 100644 --- a/artifacts/CBridgeFacet.json +++ b/artifacts/CBridgeFacet.json @@ -121,6 +121,108 @@ "name": "CBUpdatedSlippageTolerance", "type": "event" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__82a0834b", + "type": "bytes8" + } + ], + "name": "c_82a0834b", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9296fc39", + "type": "bytes8" + } + ], + "name": "c_9296fc39", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__82a0834b", + "type": "bytes8" + } + ], + "name": "c_false82a0834b", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9296fc39", + "type": "bytes8" + } + ], + "name": "c_false9296fc39", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__82a0834b", + "type": "bytes8" + } + ], + "name": "c_true82a0834b", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9296fc39", + "type": "bytes8" + } + ], + "name": "c_true9296fc39", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { @@ -201,8 +303,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b506115ab806100206000396000f3fe60806040526004361061003f5760003560e01c806340d280a21461004457806352434c6e1461006d5780636f395e60146100895780639e32e2e6146100b2575b600080fd5b34801561005057600080fd5b5061006b60048036038101906100669190610dac565b6100db565b005b61008760048036038101906100829190610dfe565b610204565b005b34801561009557600080fd5b506100b060048036038101906100ab9190610dac565b6105f6565b005b3480156100be57600080fd5b506100d960048036038101906100d49190610e50565b6106ef565b005b6100e36107a2565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561014a576040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061015461083d565b9050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504681600101819055506127108160020160006101000a81548163ffffffff021916908363ffffffff1602179055507fcbfd47a07530fc4fffba96f5686a7127e5661fe26dd01503239ca2f66fcad99082466040516101f892919061112b565b60405180910390a15050565b600061020e61086a565b905060018160000154141561024f576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555081600001602081019061026c9190610e79565b67ffffffffffffffff164614156102af576040517f4ac09ad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168260600160208101906102da9190610dac565b73ffffffffffffffffffffffffffffffffffffffff161415610328576040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000826040013511610366576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168260800160208101906103919190610dac565b73ffffffffffffffffffffffffffffffffffffffff1614156103df576040517fdc2e5e8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006103e961083d565b905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610457333086604001358760800160208101906104319190610dac565b73ffffffffffffffffffffffffffffffffffffffff16610897909392919063ffffffff16565b6104988185604001358660800160208101906104739190610dac565b73ffffffffffffffffffffffffffffffffffffffff166109209092919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff1663a5977fbb8560600160208101906104c79190610dac565b8660800160208101906104da9190610dac565b87604001358860000160208101906104f29190610e79565b8960200160208101906105059190610e79565b8860020160009054906101000a900463ffffffff166040518763ffffffff1660e01b815260040161053b969594939291906110ca565b600060405180830381600087803b15801561055557600080fd5b505af1158015610569573d6000803e3d6000fd5b505050507fd565a5cf794050de1a171170c91acd5d14cbf11877dc3fa020e9975495ab17578460800160208101906105a19190610dac565b338660600160208101906105b59190610dac565b87604001358860000160208101906105cd9190610e79565b6040516105de9594939291906111b6565b60405180910390a15050600081600001819055505050565b6105fe6107a2565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610665576040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061066f61083d565b9050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4ae67faf3cf135d9eca1b5490d3613096d2d0610fca7496112fa46ef019fbd4e826040516106e3919061104f565b60405180910390a15050565b6113888163ffffffff1611610730576040517f9ff4125000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107386107a2565b600061074261083d565b9050818160020160006101000a81548163ffffffff021916908363ffffffff1602179055507f8d5e80c35df41e151b58f1a100ad605ae1ebcda3d0c329b22820b232767a773082604051610796919061127c565b60405180910390a15050565b6107aa610a7e565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461083b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083290611176565b60405180910390fd5b565b6000807f9d7253cc9498e9cc54011bbbe9471a68adbc99d0ac1eef42369f5a452e814c4a90508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b61091a846323b872dd60e01b8585856040516024016108b893929190611093565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610aab565b50505050565b60008114806109b9575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161096792919061106a565b60206040518083038186803b15801561097f57600080fd5b505afa158015610993573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b79190610e27565b145b6109f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ef9061125c565b60405180910390fd5b610a798363095ea7b360e01b8484604051602401610a1792919061112b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610aab565b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610b0d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610b729092919063ffffffff16565b9050600081511115610b6d5780806020019051810190610b2d9190610dd5565b610b6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b639061123c565b60405180910390fd5b5b505050565b6060610b818484600085610b8a565b90509392505050565b606082471015610bcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc690611196565b60405180910390fd5b610bd885610c9e565b610c17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0e9061121c565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610c409190611038565b60006040518083038185875af1925050503d8060008114610c7d576040519150601f19603f3d011682016040523d82523d6000602084013e610c82565b606091505b5091509150610c92828286610cc1565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610cd157829050610d21565b600083511115610ce45782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d189190611154565b60405180910390fd5b9392505050565b600081359050610d378161152b565b92915050565b600081519050610d4c81611542565b92915050565b600060a08284031215610d6457600080fd5b81905092915050565b600081519050610d7c81611559565b92915050565b600081359050610d9181611570565b92915050565b600081359050610da681611587565b92915050565b600060208284031215610dbe57600080fd5b6000610dcc84828501610d28565b91505092915050565b600060208284031215610de757600080fd5b6000610df584828501610d3d565b91505092915050565b600060a08284031215610e1057600080fd5b6000610e1e84828501610d52565b91505092915050565b600060208284031215610e3957600080fd5b6000610e4784828501610d6d565b91505092915050565b600060208284031215610e6257600080fd5b6000610e7084828501610d82565b91505092915050565b600060208284031215610e8b57600080fd5b6000610e9984828501610d97565b91505092915050565b610eab816112c9565b82525050565b6000610ebc82611297565b610ec681856112ad565b9350610ed6818560208601611359565b80840191505092915050565b6000610eed826112a2565b610ef781856112b8565b9350610f07818560208601611359565b610f108161138c565b840191505092915050565b6000610f286022836112b8565b9150610f338261139d565b604082019050919050565b6000610f4b6026836112b8565b9150610f56826113ec565b604082019050919050565b6000610f6e6007836112b8565b9150610f798261143b565b602082019050919050565b6000610f91601d836112b8565b9150610f9c82611464565b602082019050919050565b6000610fb4602a836112b8565b9150610fbf8261148d565b604082019050919050565b6000610fd76036836112b8565b9150610fe2826114dc565b604082019050919050565b610ff681611307565b82525050565b61100581611335565b82525050565b61101481611311565b82525050565b61102381611347565b82525050565b61103281611321565b82525050565b60006110448284610eb1565b915081905092915050565b60006020820190506110646000830184610ea2565b92915050565b600060408201905061107f6000830185610ea2565b61108c6020830184610ea2565b9392505050565b60006060820190506110a86000830186610ea2565b6110b56020830185610ea2565b6110c26040830184610fed565b949350505050565b600060c0820190506110df6000830189610ea2565b6110ec6020830188610ea2565b6110f96040830187610fed565b6111066060830186611029565b6111136080830185611029565b61112060a083018461100b565b979650505050505050565b60006040820190506111406000830185610ea2565b61114d6020830184610fed565b9392505050565b6000602082019050818103600083015261116e8184610ee2565b905092915050565b6000602082019050818103600083015261118f81610f1b565b9050919050565b600060208201905081810360008301526111af81610f3e565b9050919050565b600060c08201905081810360008301526111cf81610f61565b90506111de6020830188610ea2565b6111eb6040830187610ea2565b6111f86060830186610ea2565b6112056080830185610fed565b61121260a083018461101a565b9695505050505050565b6000602082019050818103600083015261123581610f84565b9050919050565b6000602082019050818103600083015261125581610fa7565b9050919050565b6000602082019050818103600083015261127581610fca565b9050919050565b60006020820190506112916000830184610ffc565b92915050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60006112d4826112e7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600061134082611311565b9050919050565b600061135282611321565b9050919050565b60005b8381101561137757808201518184015260208101905061135c565b83811115611386576000848401525b50505050565b6000601f19601f8301169050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f6362726964676500000000000000000000000000000000000000000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b611534816112c9565b811461153f57600080fd5b50565b61154b816112db565b811461155657600080fd5b50565b61156281611307565b811461156d57600080fd5b50565b61157981611311565b811461158457600080fd5b50565b61159081611321565b811461159b57600080fd5b5056fea164736f6c6343000804000a", - "deployedBytecode": "0x60806040526004361061003f5760003560e01c806340d280a21461004457806352434c6e1461006d5780636f395e60146100895780639e32e2e6146100b2575b600080fd5b34801561005057600080fd5b5061006b60048036038101906100669190610dac565b6100db565b005b61008760048036038101906100829190610dfe565b610204565b005b34801561009557600080fd5b506100b060048036038101906100ab9190610dac565b6105f6565b005b3480156100be57600080fd5b506100d960048036038101906100d49190610e50565b6106ef565b005b6100e36107a2565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561014a576040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061015461083d565b9050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504681600101819055506127108160020160006101000a81548163ffffffff021916908363ffffffff1602179055507fcbfd47a07530fc4fffba96f5686a7127e5661fe26dd01503239ca2f66fcad99082466040516101f892919061112b565b60405180910390a15050565b600061020e61086a565b905060018160000154141561024f576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555081600001602081019061026c9190610e79565b67ffffffffffffffff164614156102af576040517f4ac09ad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168260600160208101906102da9190610dac565b73ffffffffffffffffffffffffffffffffffffffff161415610328576040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000826040013511610366576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168260800160208101906103919190610dac565b73ffffffffffffffffffffffffffffffffffffffff1614156103df576040517fdc2e5e8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006103e961083d565b905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610457333086604001358760800160208101906104319190610dac565b73ffffffffffffffffffffffffffffffffffffffff16610897909392919063ffffffff16565b6104988185604001358660800160208101906104739190610dac565b73ffffffffffffffffffffffffffffffffffffffff166109209092919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff1663a5977fbb8560600160208101906104c79190610dac565b8660800160208101906104da9190610dac565b87604001358860000160208101906104f29190610e79565b8960200160208101906105059190610e79565b8860020160009054906101000a900463ffffffff166040518763ffffffff1660e01b815260040161053b969594939291906110ca565b600060405180830381600087803b15801561055557600080fd5b505af1158015610569573d6000803e3d6000fd5b505050507fd565a5cf794050de1a171170c91acd5d14cbf11877dc3fa020e9975495ab17578460800160208101906105a19190610dac565b338660600160208101906105b59190610dac565b87604001358860000160208101906105cd9190610e79565b6040516105de9594939291906111b6565b60405180910390a15050600081600001819055505050565b6105fe6107a2565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610665576040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061066f61083d565b9050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4ae67faf3cf135d9eca1b5490d3613096d2d0610fca7496112fa46ef019fbd4e826040516106e3919061104f565b60405180910390a15050565b6113888163ffffffff1611610730576040517f9ff4125000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107386107a2565b600061074261083d565b9050818160020160006101000a81548163ffffffff021916908363ffffffff1602179055507f8d5e80c35df41e151b58f1a100ad605ae1ebcda3d0c329b22820b232767a773082604051610796919061127c565b60405180910390a15050565b6107aa610a7e565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461083b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083290611176565b60405180910390fd5b565b6000807f9d7253cc9498e9cc54011bbbe9471a68adbc99d0ac1eef42369f5a452e814c4a90508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b61091a846323b872dd60e01b8585856040516024016108b893929190611093565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610aab565b50505050565b60008114806109b9575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161096792919061106a565b60206040518083038186803b15801561097f57600080fd5b505afa158015610993573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b79190610e27565b145b6109f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ef9061125c565b60405180910390fd5b610a798363095ea7b360e01b8484604051602401610a1792919061112b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610aab565b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610b0d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610b729092919063ffffffff16565b9050600081511115610b6d5780806020019051810190610b2d9190610dd5565b610b6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b639061123c565b60405180910390fd5b5b505050565b6060610b818484600085610b8a565b90509392505050565b606082471015610bcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc690611196565b60405180910390fd5b610bd885610c9e565b610c17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0e9061121c565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610c409190611038565b60006040518083038185875af1925050503d8060008114610c7d576040519150601f19603f3d011682016040523d82523d6000602084013e610c82565b606091505b5091509150610c92828286610cc1565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610cd157829050610d21565b600083511115610ce45782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d189190611154565b60405180910390fd5b9392505050565b600081359050610d378161152b565b92915050565b600081519050610d4c81611542565b92915050565b600060a08284031215610d6457600080fd5b81905092915050565b600081519050610d7c81611559565b92915050565b600081359050610d9181611570565b92915050565b600081359050610da681611587565b92915050565b600060208284031215610dbe57600080fd5b6000610dcc84828501610d28565b91505092915050565b600060208284031215610de757600080fd5b6000610df584828501610d3d565b91505092915050565b600060a08284031215610e1057600080fd5b6000610e1e84828501610d52565b91505092915050565b600060208284031215610e3957600080fd5b6000610e4784828501610d6d565b91505092915050565b600060208284031215610e6257600080fd5b6000610e7084828501610d82565b91505092915050565b600060208284031215610e8b57600080fd5b6000610e9984828501610d97565b91505092915050565b610eab816112c9565b82525050565b6000610ebc82611297565b610ec681856112ad565b9350610ed6818560208601611359565b80840191505092915050565b6000610eed826112a2565b610ef781856112b8565b9350610f07818560208601611359565b610f108161138c565b840191505092915050565b6000610f286022836112b8565b9150610f338261139d565b604082019050919050565b6000610f4b6026836112b8565b9150610f56826113ec565b604082019050919050565b6000610f6e6007836112b8565b9150610f798261143b565b602082019050919050565b6000610f91601d836112b8565b9150610f9c82611464565b602082019050919050565b6000610fb4602a836112b8565b9150610fbf8261148d565b604082019050919050565b6000610fd76036836112b8565b9150610fe2826114dc565b604082019050919050565b610ff681611307565b82525050565b61100581611335565b82525050565b61101481611311565b82525050565b61102381611347565b82525050565b61103281611321565b82525050565b60006110448284610eb1565b915081905092915050565b60006020820190506110646000830184610ea2565b92915050565b600060408201905061107f6000830185610ea2565b61108c6020830184610ea2565b9392505050565b60006060820190506110a86000830186610ea2565b6110b56020830185610ea2565b6110c26040830184610fed565b949350505050565b600060c0820190506110df6000830189610ea2565b6110ec6020830188610ea2565b6110f96040830187610fed565b6111066060830186611029565b6111136080830185611029565b61112060a083018461100b565b979650505050505050565b60006040820190506111406000830185610ea2565b61114d6020830184610fed565b9392505050565b6000602082019050818103600083015261116e8184610ee2565b905092915050565b6000602082019050818103600083015261118f81610f1b565b9050919050565b600060208201905081810360008301526111af81610f3e565b9050919050565b600060c08201905081810360008301526111cf81610f61565b90506111de6020830188610ea2565b6111eb6040830187610ea2565b6111f86060830186610ea2565b6112056080830185610fed565b61121260a083018461101a565b9695505050505050565b6000602082019050818103600083015261123581610f84565b9050919050565b6000602082019050818103600083015261125581610fa7565b9050919050565b6000602082019050818103600083015261127581610fca565b9050919050565b60006020820190506112916000830184610ffc565b92915050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60006112d4826112e7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600061134082611311565b9050919050565b600061135282611321565b9050919050565b60005b8381101561137757808201518184015260208101905061135c565b83811115611386576000848401525b50505050565b6000601f19601f8301169050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f6362726964676500000000000000000000000000000000000000000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b611534816112c9565b811461153f57600080fd5b50565b61154b816112db565b811461155657600080fd5b50565b61156281611307565b811461156d57600080fd5b50565b61157981611311565b811461158457600080fd5b50565b61159081611321565b811461159b57600080fd5b5056fea164736f6c6343000804000a", + "bytecode": "0x608060405234801561001057600080fd5b50611fb2806100206000396000f3fe6080604052600436106100915760003560e01c80636f395e60116100595780636f395e601461017e5780639e32e2e6146101a75780639f91c7fd146101d0578063ac0d2b131461020d578063e31fa1af1461024a57610091565b806314917f99146100965780631dcb855a146100bf57806340d280a2146100fc5780634a6f22c41461012557806352434c6e14610162575b600080fd5b3480156100a257600080fd5b506100bd60048036038101906100b8919061176f565b610273565b005b3480156100cb57600080fd5b506100e660048036038101906100e1919061176f565b610276565b6040516100f39190611afd565b60405180910390f35b34801561010857600080fd5b50610123600480360381019061011e919061171d565b61027d565b005b34801561013157600080fd5b5061014c6004803603810190610147919061176f565b6104be565b6040516101599190611afd565b60405180910390f35b61017c60048036038101906101779190611798565b6104c9565b005b34801561018a57600080fd5b506101a560048036038101906101a0919061171d565b610c03565b005b3480156101b357600080fd5b506101ce60048036038101906101c991906117ea565b610dec565b005b3480156101dc57600080fd5b506101f760048036038101906101f2919061176f565b610f8f565b6040516102049190611afd565b60405180910390f35b34801561021957600080fd5b50610234600480360381019061022f919061176f565b610f9a565b6040516102419190611afd565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c919061176f565b610fa1565b005b50565b6000919050565b6102916797d4a79c6e8da8fc60c01b610fa1565b6102a5670e2f2c8a5311f67460c01b610fa1565b6102b9675b13a1991c267f1c60c01b610fa1565b6102c1610fa4565b6102d5677ee86732d55ff95260c01b610fa1565b6102e9674d33e4f9b9612d8d60c01b610fa1565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561036457610332676d6a428ac068619060c01b610fa1565b6040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610378671b6d9165f559dd9060c01b610fa1565b61038c67dd59355fd48e644160c01b610fa1565b6103a067b3b032f8c8c9f6a160c01b610fa1565b60006103aa6110a3565b90506103c06731d19ee530be69ef60c01b610fa1565b818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061041767fe86263d0e8940c660c01b610fa1565b46816001018190555061043467314b893e78a144b760c01b610fa1565b6127108160020160006101000a81548163ffffffff021916908363ffffffff16021790555061046d676ad2b17f4918fdfa60c01b610fa1565b61048167d1d40b0589cebbdf60c01b610fa1565b7fcbfd47a07530fc4fffba96f5686a7127e5661fe26dd01503239ca2f66fcad99082466040516104b2929190611ad4565b60405180910390a15050565b600060019050919050565b6104dd677f1d47e894864aaa60c01b610fa1565b6104f16770f43b674d4e55d060c01b610273565b61050567fdb58b8d5e8c5bd260c01b610273565b61051967f88563faceb9065260c01b610273565b6000610523611121565b905061053967f5511ed184b06f9d60c01b610273565b61054d675fe6356e9bb02e7e60c01b610273565b6001816000015414156105a05761056e67c2bf72a01148a95560c01b610273565b6040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105b46759328cc6ac1a5b8460c01b610273565b6105c8676585023ebf8de8b060c01b610273565b600181600001819055506105e66794e629fc71d8c79e60c01b610273565b6105fa6715242012ce96c7f160c01b610fa1565b61060e678eb6f4db737f4b7360c01b610fa1565b61062267c457076ac82718fc60c01b610fa1565b61063667cfdca50ae33020dc60c01b610fa1565b8160000160208101906106499190611813565b67ffffffffffffffff164614156106b45761066e67b59b8ab41c16feab60c01b610fa1565b61068267d0ad4a309013922660c01b610fa1565b6040517f4ac09ad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106c86756f8932bd4555ad760c01b610fa1565b6106dc6764fb57761461897360c01b610fa1565b6106f0675f0446559da0f55960c01b610fa1565b600073ffffffffffffffffffffffffffffffffffffffff1682606001602081019061071b919061171d565b73ffffffffffffffffffffffffffffffffffffffff16141561077d5761074b672203e1af5929465760c01b610fa1565b6040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107916728a865aea8258ceb60c01b610fa1565b6107a5676fe46105247774d560c01b610fa1565b6107b9678f7510e1a7192ffb60c01b610fa1565b600082604001351161080b576107d967af20204004d2c86560c01b610fa1565b6040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081f67c235e2a5916e216e60c01b610fa1565b61083367c34c8b0197b67e6c60c01b610fa1565b61084767676e00839b9a5a8060c01b610fa1565b600073ffffffffffffffffffffffffffffffffffffffff16826080016020810190610872919061171d565b73ffffffffffffffffffffffffffffffffffffffff1614156108d4576108a267245d22043cdb3d0c60c01b610fa1565b6040517fdc2e5e8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108e86718ff5e19da60343860c01b610fa1565b6108fc67bedceb4db841a53e60c01b610fa1565b61091067cda8ba86a5e6ee9860c01b610fa1565b600061091a6110a3565b9050610930673f5fa8242b94796e60c01b610fa1565b61094467681ec17cea69b30660c01b610fa1565b60008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061098167c92843e9e9460b5460c01b610fa1565b61099567dccd0c487d1fe6f660c01b610fa1565b6109d8333086604001358760800160208101906109b2919061171d565b73ffffffffffffffffffffffffffffffffffffffff1661119f909392919063ffffffff16565b6109ec67e80d1d6748997c0260c01b610fa1565b610a0067400f0c5be983a9b760c01b610fa1565b610a41818560400135866080016020810190610a1c919061171d565b73ffffffffffffffffffffffffffffffffffffffff166112289092919063ffffffff16565b610a5567b0a7fc2efbeee0d760c01b610fa1565b610a6967c07b9de819409a3c60c01b610fa1565b8073ffffffffffffffffffffffffffffffffffffffff1663a5977fbb856060016020810190610a98919061171d565b866080016020810190610aab919061171d565b8760400135886000016020810190610ac39190611813565b896020016020810190610ad69190611813565b8860020160009054906101000a900463ffffffff166040518763ffffffff1660e01b8152600401610b0c96959493929190611a73565b600060405180830381600087803b158015610b2657600080fd5b505af1158015610b3a573d6000803e3d6000fd5b50505050610b5267c9b43804a582003960c01b610fa1565b610b6667d699a6191c59138260c01b610fa1565b7fd565a5cf794050de1a171170c91acd5d14cbf11877dc3fa020e9975495ab1757846080016020810190610b9a919061171d565b33866060016020810190610bae919061171d565b8760400135886000016020810190610bc69190611813565b604051610bd7959493929190611b7a565b60405180910390a15050610bf567441391ce80e99b6c60c01b610273565b600081600001819055505050565b610c1767d3a2494a835102c160c01b610fa1565b610c2b670c9b2f19ad78ba2d60c01b610fa1565b610c3f67285a34703cb3897d60c01b610fa1565b610c47610fa4565b610c5b679941e4eb5c2e085a60c01b610fa1565b610c6f674a3f870b19eeb0f860c01b610fa1565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cea57610cb8679f1850b2b41a922760c01b610fa1565b6040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cfe67088b159fcf23024f60c01b610fa1565b610d1267bcee72259e25a4d760c01b610fa1565b610d2667f6343277fc69a82e60c01b610fa1565b6000610d306110a3565b9050610d4667cd0ef56dfe642dd060c01b610fa1565b818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d9d67e8752783a7430db760c01b610fa1565b610db1672bc4e9b6619b7ce260c01b610fa1565b7f4ae67faf3cf135d9eca1b5490d3613096d2d0610fca7496112fa46ef019fbd4e82604051610de091906119f8565b60405180910390a15050565b610e0067456d55e4c0f14d4760c01b610fa1565b610e14673174e49db9a5ddea60c01b610fa1565b610e2867192813406d0b2a1e60c01b610fa1565b6113888163ffffffff1611610e7d57610e4b67549ef105040999b860c01b610fa1565b6040517f9ff4125000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e916751434f62a0bf406a60c01b610fa1565b610ea5675b61e57e6bbb740860c01b610fa1565b610eb9676d54701b66ab59d160c01b610fa1565b610ec1610fa4565b610ed5675845cbbdeb29872860c01b610fa1565b610ee967ed9b116e321da9eb60c01b610fa1565b6000610ef36110a3565b9050610f09671a742eb68541c25c60c01b610fa1565b818160020160006101000a81548163ffffffff021916908363ffffffff160217905550610f40675d88c84e2624c04460c01b610fa1565b610f5467eaa1be02d588fb4460c01b610fa1565b7f8d5e80c35df41e151b58f1a100ad605ae1ebcda3d0c329b22820b232767a773082604051610f839190611c40565b60405180910390a15050565b600060019050919050565b6000919050565b50565b610fb86721b40df6734b4e6460c01b611386565b610fcc677276b6d1bbf7b68b60c01b611386565b610fe067f8611dbcb55a1f7860c01b611386565b610ff4676cedf54251a3375160c01b611386565b610ffc611389565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461108d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108490611b3a565b60405180910390fd5b6110a167e452355b21bbd41e60c01b611386565b565b60006110b96746874ce4b0fd162b60c01b610fa1565b6110cd67c48ee095da74410560c01b610fa1565b6110e167a1033010cec72c2460c01b610fa1565b60007f9d7253cc9498e9cc54011bbbe9471a68adbc99d0ac1eef42369f5a452e814c4a905061111a674e1695596a4af8ef60c01b610fa1565b8091505090565b600061113767fa11c344c1ec53a860c01b610273565b61114b670fd7b7008acdbf5460c01b610273565b61115f679fbd6d57c5d665d460c01b610273565b60007fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b4905061119867a9235c9a8268ed9060c01b610273565b8091505090565b611222846323b872dd60e01b8585856040516024016111c093929190611a3c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611407565b50505050565b60008114806112c1575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161126f929190611a13565b60206040518083038186803b15801561128757600080fd5b505afa15801561129b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bf91906117c1565b145b611300576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f790611c20565b60405180910390fd5b6113818363095ea7b360e01b848460405160240161131f929190611ad4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611407565b505050565b50565b600061139f674f9afbb757d80e6360c01b611386565b6113b3674b823103125da15660c01b611386565b6113c7674ab715c231c1608d60c01b611386565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061140067982d9bb86701efa860c01b611386565b8091505090565b6000611469826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114ce9092919063ffffffff16565b90506000815111156114c957808060200190518101906114899190611746565b6114c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bf90611c00565b60405180910390fd5b5b505050565b60606114dd84846000856114e6565b90509392505050565b60608247101561152b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152290611b5a565b60405180910390fd5b611534856115fa565b611573576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156a90611be0565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161159c91906119e1565b60006040518083038185875af1925050503d80600081146115d9576040519150601f19603f3d011682016040523d82523d6000602084013e6115de565b606091505b50915091506115ee82828661161d565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060831561162d5782905061167d565b6000835111156116405782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116749190611b18565b60405180910390fd5b9392505050565b60008135905061169381611f1b565b92915050565b6000815190506116a881611f32565b92915050565b6000813590506116bd81611f49565b92915050565b600060a082840312156116d557600080fd5b81905092915050565b6000815190506116ed81611f60565b92915050565b60008135905061170281611f77565b92915050565b60008135905061171781611f8e565b92915050565b60006020828403121561172f57600080fd5b600061173d84828501611684565b91505092915050565b60006020828403121561175857600080fd5b600061176684828501611699565b91505092915050565b60006020828403121561178157600080fd5b600061178f848285016116ae565b91505092915050565b600060a082840312156117aa57600080fd5b60006117b8848285016116c3565b91505092915050565b6000602082840312156117d357600080fd5b60006117e1848285016116de565b91505092915050565b6000602082840312156117fc57600080fd5b600061180a848285016116f3565b91505092915050565b60006020828403121561182557600080fd5b600061183384828501611708565b91505092915050565b61184581611c8d565b82525050565b61185481611c9f565b82525050565b600061186582611c5b565b61186f8185611c71565b935061187f818560208601611d49565b80840191505092915050565b600061189682611c66565b6118a08185611c7c565b93506118b0818560208601611d49565b6118b981611d7c565b840191505092915050565b60006118d1602283611c7c565b91506118dc82611d8d565b604082019050919050565b60006118f4602683611c7c565b91506118ff82611ddc565b604082019050919050565b6000611917600783611c7c565b915061192282611e2b565b602082019050919050565b600061193a601d83611c7c565b915061194582611e54565b602082019050919050565b600061195d602a83611c7c565b915061196882611e7d565b604082019050919050565b6000611980603683611c7c565b915061198b82611ecc565b604082019050919050565b61199f81611cf7565b82525050565b6119ae81611d25565b82525050565b6119bd81611d01565b82525050565b6119cc81611d37565b82525050565b6119db81611d11565b82525050565b60006119ed828461185a565b915081905092915050565b6000602082019050611a0d600083018461183c565b92915050565b6000604082019050611a28600083018561183c565b611a35602083018461183c565b9392505050565b6000606082019050611a51600083018661183c565b611a5e602083018561183c565b611a6b6040830184611996565b949350505050565b600060c082019050611a88600083018961183c565b611a95602083018861183c565b611aa26040830187611996565b611aaf60608301866119d2565b611abc60808301856119d2565b611ac960a08301846119b4565b979650505050505050565b6000604082019050611ae9600083018561183c565b611af66020830184611996565b9392505050565b6000602082019050611b12600083018461184b565b92915050565b60006020820190508181036000830152611b32818461188b565b905092915050565b60006020820190508181036000830152611b53816118c4565b9050919050565b60006020820190508181036000830152611b73816118e7565b9050919050565b600060c0820190508181036000830152611b938161190a565b9050611ba2602083018861183c565b611baf604083018761183c565b611bbc606083018661183c565b611bc96080830185611996565b611bd660a08301846119c3565b9695505050505050565b60006020820190508181036000830152611bf98161192d565b9050919050565b60006020820190508181036000830152611c1981611950565b9050919050565b60006020820190508181036000830152611c3981611973565b9050919050565b6000602082019050611c5560008301846119a5565b92915050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000611c9882611cd7565b9050919050565b60008115159050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b6000611d3082611d01565b9050919050565b6000611d4282611d11565b9050919050565b60005b83811015611d67578082015181840152602081019050611d4c565b83811115611d76576000848401525b50505050565b6000601f19601f8301169050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f6362726964676500000000000000000000000000000000000000000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b611f2481611c8d565b8114611f2f57600080fd5b50565b611f3b81611c9f565b8114611f4657600080fd5b50565b611f5281611cab565b8114611f5d57600080fd5b50565b611f6981611cf7565b8114611f7457600080fd5b50565b611f8081611d01565b8114611f8b57600080fd5b50565b611f9781611d11565b8114611fa257600080fd5b5056fea164736f6c6343000804000a", + "deployedBytecode": "0x6080604052600436106100915760003560e01c80636f395e60116100595780636f395e601461017e5780639e32e2e6146101a75780639f91c7fd146101d0578063ac0d2b131461020d578063e31fa1af1461024a57610091565b806314917f99146100965780631dcb855a146100bf57806340d280a2146100fc5780634a6f22c41461012557806352434c6e14610162575b600080fd5b3480156100a257600080fd5b506100bd60048036038101906100b8919061176f565b610273565b005b3480156100cb57600080fd5b506100e660048036038101906100e1919061176f565b610276565b6040516100f39190611afd565b60405180910390f35b34801561010857600080fd5b50610123600480360381019061011e919061171d565b61027d565b005b34801561013157600080fd5b5061014c6004803603810190610147919061176f565b6104be565b6040516101599190611afd565b60405180910390f35b61017c60048036038101906101779190611798565b6104c9565b005b34801561018a57600080fd5b506101a560048036038101906101a0919061171d565b610c03565b005b3480156101b357600080fd5b506101ce60048036038101906101c991906117ea565b610dec565b005b3480156101dc57600080fd5b506101f760048036038101906101f2919061176f565b610f8f565b6040516102049190611afd565b60405180910390f35b34801561021957600080fd5b50610234600480360381019061022f919061176f565b610f9a565b6040516102419190611afd565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c919061176f565b610fa1565b005b50565b6000919050565b6102916797d4a79c6e8da8fc60c01b610fa1565b6102a5670e2f2c8a5311f67460c01b610fa1565b6102b9675b13a1991c267f1c60c01b610fa1565b6102c1610fa4565b6102d5677ee86732d55ff95260c01b610fa1565b6102e9674d33e4f9b9612d8d60c01b610fa1565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561036457610332676d6a428ac068619060c01b610fa1565b6040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610378671b6d9165f559dd9060c01b610fa1565b61038c67dd59355fd48e644160c01b610fa1565b6103a067b3b032f8c8c9f6a160c01b610fa1565b60006103aa6110a3565b90506103c06731d19ee530be69ef60c01b610fa1565b818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061041767fe86263d0e8940c660c01b610fa1565b46816001018190555061043467314b893e78a144b760c01b610fa1565b6127108160020160006101000a81548163ffffffff021916908363ffffffff16021790555061046d676ad2b17f4918fdfa60c01b610fa1565b61048167d1d40b0589cebbdf60c01b610fa1565b7fcbfd47a07530fc4fffba96f5686a7127e5661fe26dd01503239ca2f66fcad99082466040516104b2929190611ad4565b60405180910390a15050565b600060019050919050565b6104dd677f1d47e894864aaa60c01b610fa1565b6104f16770f43b674d4e55d060c01b610273565b61050567fdb58b8d5e8c5bd260c01b610273565b61051967f88563faceb9065260c01b610273565b6000610523611121565b905061053967f5511ed184b06f9d60c01b610273565b61054d675fe6356e9bb02e7e60c01b610273565b6001816000015414156105a05761056e67c2bf72a01148a95560c01b610273565b6040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105b46759328cc6ac1a5b8460c01b610273565b6105c8676585023ebf8de8b060c01b610273565b600181600001819055506105e66794e629fc71d8c79e60c01b610273565b6105fa6715242012ce96c7f160c01b610fa1565b61060e678eb6f4db737f4b7360c01b610fa1565b61062267c457076ac82718fc60c01b610fa1565b61063667cfdca50ae33020dc60c01b610fa1565b8160000160208101906106499190611813565b67ffffffffffffffff164614156106b45761066e67b59b8ab41c16feab60c01b610fa1565b61068267d0ad4a309013922660c01b610fa1565b6040517f4ac09ad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106c86756f8932bd4555ad760c01b610fa1565b6106dc6764fb57761461897360c01b610fa1565b6106f0675f0446559da0f55960c01b610fa1565b600073ffffffffffffffffffffffffffffffffffffffff1682606001602081019061071b919061171d565b73ffffffffffffffffffffffffffffffffffffffff16141561077d5761074b672203e1af5929465760c01b610fa1565b6040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107916728a865aea8258ceb60c01b610fa1565b6107a5676fe46105247774d560c01b610fa1565b6107b9678f7510e1a7192ffb60c01b610fa1565b600082604001351161080b576107d967af20204004d2c86560c01b610fa1565b6040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081f67c235e2a5916e216e60c01b610fa1565b61083367c34c8b0197b67e6c60c01b610fa1565b61084767676e00839b9a5a8060c01b610fa1565b600073ffffffffffffffffffffffffffffffffffffffff16826080016020810190610872919061171d565b73ffffffffffffffffffffffffffffffffffffffff1614156108d4576108a267245d22043cdb3d0c60c01b610fa1565b6040517fdc2e5e8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108e86718ff5e19da60343860c01b610fa1565b6108fc67bedceb4db841a53e60c01b610fa1565b61091067cda8ba86a5e6ee9860c01b610fa1565b600061091a6110a3565b9050610930673f5fa8242b94796e60c01b610fa1565b61094467681ec17cea69b30660c01b610fa1565b60008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061098167c92843e9e9460b5460c01b610fa1565b61099567dccd0c487d1fe6f660c01b610fa1565b6109d8333086604001358760800160208101906109b2919061171d565b73ffffffffffffffffffffffffffffffffffffffff1661119f909392919063ffffffff16565b6109ec67e80d1d6748997c0260c01b610fa1565b610a0067400f0c5be983a9b760c01b610fa1565b610a41818560400135866080016020810190610a1c919061171d565b73ffffffffffffffffffffffffffffffffffffffff166112289092919063ffffffff16565b610a5567b0a7fc2efbeee0d760c01b610fa1565b610a6967c07b9de819409a3c60c01b610fa1565b8073ffffffffffffffffffffffffffffffffffffffff1663a5977fbb856060016020810190610a98919061171d565b866080016020810190610aab919061171d565b8760400135886000016020810190610ac39190611813565b896020016020810190610ad69190611813565b8860020160009054906101000a900463ffffffff166040518763ffffffff1660e01b8152600401610b0c96959493929190611a73565b600060405180830381600087803b158015610b2657600080fd5b505af1158015610b3a573d6000803e3d6000fd5b50505050610b5267c9b43804a582003960c01b610fa1565b610b6667d699a6191c59138260c01b610fa1565b7fd565a5cf794050de1a171170c91acd5d14cbf11877dc3fa020e9975495ab1757846080016020810190610b9a919061171d565b33866060016020810190610bae919061171d565b8760400135886000016020810190610bc69190611813565b604051610bd7959493929190611b7a565b60405180910390a15050610bf567441391ce80e99b6c60c01b610273565b600081600001819055505050565b610c1767d3a2494a835102c160c01b610fa1565b610c2b670c9b2f19ad78ba2d60c01b610fa1565b610c3f67285a34703cb3897d60c01b610fa1565b610c47610fa4565b610c5b679941e4eb5c2e085a60c01b610fa1565b610c6f674a3f870b19eeb0f860c01b610fa1565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cea57610cb8679f1850b2b41a922760c01b610fa1565b6040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cfe67088b159fcf23024f60c01b610fa1565b610d1267bcee72259e25a4d760c01b610fa1565b610d2667f6343277fc69a82e60c01b610fa1565b6000610d306110a3565b9050610d4667cd0ef56dfe642dd060c01b610fa1565b818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d9d67e8752783a7430db760c01b610fa1565b610db1672bc4e9b6619b7ce260c01b610fa1565b7f4ae67faf3cf135d9eca1b5490d3613096d2d0610fca7496112fa46ef019fbd4e82604051610de091906119f8565b60405180910390a15050565b610e0067456d55e4c0f14d4760c01b610fa1565b610e14673174e49db9a5ddea60c01b610fa1565b610e2867192813406d0b2a1e60c01b610fa1565b6113888163ffffffff1611610e7d57610e4b67549ef105040999b860c01b610fa1565b6040517f9ff4125000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e916751434f62a0bf406a60c01b610fa1565b610ea5675b61e57e6bbb740860c01b610fa1565b610eb9676d54701b66ab59d160c01b610fa1565b610ec1610fa4565b610ed5675845cbbdeb29872860c01b610fa1565b610ee967ed9b116e321da9eb60c01b610fa1565b6000610ef36110a3565b9050610f09671a742eb68541c25c60c01b610fa1565b818160020160006101000a81548163ffffffff021916908363ffffffff160217905550610f40675d88c84e2624c04460c01b610fa1565b610f5467eaa1be02d588fb4460c01b610fa1565b7f8d5e80c35df41e151b58f1a100ad605ae1ebcda3d0c329b22820b232767a773082604051610f839190611c40565b60405180910390a15050565b600060019050919050565b6000919050565b50565b610fb86721b40df6734b4e6460c01b611386565b610fcc677276b6d1bbf7b68b60c01b611386565b610fe067f8611dbcb55a1f7860c01b611386565b610ff4676cedf54251a3375160c01b611386565b610ffc611389565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461108d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108490611b3a565b60405180910390fd5b6110a167e452355b21bbd41e60c01b611386565b565b60006110b96746874ce4b0fd162b60c01b610fa1565b6110cd67c48ee095da74410560c01b610fa1565b6110e167a1033010cec72c2460c01b610fa1565b60007f9d7253cc9498e9cc54011bbbe9471a68adbc99d0ac1eef42369f5a452e814c4a905061111a674e1695596a4af8ef60c01b610fa1565b8091505090565b600061113767fa11c344c1ec53a860c01b610273565b61114b670fd7b7008acdbf5460c01b610273565b61115f679fbd6d57c5d665d460c01b610273565b60007fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b4905061119867a9235c9a8268ed9060c01b610273565b8091505090565b611222846323b872dd60e01b8585856040516024016111c093929190611a3c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611407565b50505050565b60008114806112c1575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161126f929190611a13565b60206040518083038186803b15801561128757600080fd5b505afa15801561129b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bf91906117c1565b145b611300576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f790611c20565b60405180910390fd5b6113818363095ea7b360e01b848460405160240161131f929190611ad4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611407565b505050565b50565b600061139f674f9afbb757d80e6360c01b611386565b6113b3674b823103125da15660c01b611386565b6113c7674ab715c231c1608d60c01b611386565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061140067982d9bb86701efa860c01b611386565b8091505090565b6000611469826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114ce9092919063ffffffff16565b90506000815111156114c957808060200190518101906114899190611746565b6114c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bf90611c00565b60405180910390fd5b5b505050565b60606114dd84846000856114e6565b90509392505050565b60608247101561152b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152290611b5a565b60405180910390fd5b611534856115fa565b611573576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156a90611be0565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161159c91906119e1565b60006040518083038185875af1925050503d80600081146115d9576040519150601f19603f3d011682016040523d82523d6000602084013e6115de565b606091505b50915091506115ee82828661161d565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060831561162d5782905061167d565b6000835111156116405782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116749190611b18565b60405180910390fd5b9392505050565b60008135905061169381611f1b565b92915050565b6000815190506116a881611f32565b92915050565b6000813590506116bd81611f49565b92915050565b600060a082840312156116d557600080fd5b81905092915050565b6000815190506116ed81611f60565b92915050565b60008135905061170281611f77565b92915050565b60008135905061171781611f8e565b92915050565b60006020828403121561172f57600080fd5b600061173d84828501611684565b91505092915050565b60006020828403121561175857600080fd5b600061176684828501611699565b91505092915050565b60006020828403121561178157600080fd5b600061178f848285016116ae565b91505092915050565b600060a082840312156117aa57600080fd5b60006117b8848285016116c3565b91505092915050565b6000602082840312156117d357600080fd5b60006117e1848285016116de565b91505092915050565b6000602082840312156117fc57600080fd5b600061180a848285016116f3565b91505092915050565b60006020828403121561182557600080fd5b600061183384828501611708565b91505092915050565b61184581611c8d565b82525050565b61185481611c9f565b82525050565b600061186582611c5b565b61186f8185611c71565b935061187f818560208601611d49565b80840191505092915050565b600061189682611c66565b6118a08185611c7c565b93506118b0818560208601611d49565b6118b981611d7c565b840191505092915050565b60006118d1602283611c7c565b91506118dc82611d8d565b604082019050919050565b60006118f4602683611c7c565b91506118ff82611ddc565b604082019050919050565b6000611917600783611c7c565b915061192282611e2b565b602082019050919050565b600061193a601d83611c7c565b915061194582611e54565b602082019050919050565b600061195d602a83611c7c565b915061196882611e7d565b604082019050919050565b6000611980603683611c7c565b915061198b82611ecc565b604082019050919050565b61199f81611cf7565b82525050565b6119ae81611d25565b82525050565b6119bd81611d01565b82525050565b6119cc81611d37565b82525050565b6119db81611d11565b82525050565b60006119ed828461185a565b915081905092915050565b6000602082019050611a0d600083018461183c565b92915050565b6000604082019050611a28600083018561183c565b611a35602083018461183c565b9392505050565b6000606082019050611a51600083018661183c565b611a5e602083018561183c565b611a6b6040830184611996565b949350505050565b600060c082019050611a88600083018961183c565b611a95602083018861183c565b611aa26040830187611996565b611aaf60608301866119d2565b611abc60808301856119d2565b611ac960a08301846119b4565b979650505050505050565b6000604082019050611ae9600083018561183c565b611af66020830184611996565b9392505050565b6000602082019050611b12600083018461184b565b92915050565b60006020820190508181036000830152611b32818461188b565b905092915050565b60006020820190508181036000830152611b53816118c4565b9050919050565b60006020820190508181036000830152611b73816118e7565b9050919050565b600060c0820190508181036000830152611b938161190a565b9050611ba2602083018861183c565b611baf604083018761183c565b611bbc606083018661183c565b611bc96080830185611996565b611bd660a08301846119c3565b9695505050505050565b60006020820190508181036000830152611bf98161192d565b9050919050565b60006020820190508181036000830152611c1981611950565b9050919050565b60006020820190508181036000830152611c3981611973565b9050919050565b6000602082019050611c5560008301846119a5565b92915050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000611c9882611cd7565b9050919050565b60008115159050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b6000611d3082611d01565b9050919050565b6000611d4282611d11565b9050919050565b60005b83811015611d67578082015181840152602081019050611d4c565b83811115611d76576000848401525b50505050565b6000601f19601f8301169050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f6362726964676500000000000000000000000000000000000000000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b611f2481611c8d565b8114611f2f57600080fd5b50565b611f3b81611c9f565b8114611f4657600080fd5b50565b611f5281611cab565b8114611f5d57600080fd5b50565b611f6981611cf7565b8114611f7457600080fd5b50565b611f8081611d01565b8114611f8b57600080fd5b50565b611f9781611d11565b8114611fa257600080fd5b5056fea164736f6c6343000804000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/ConnextFacet.json b/artifacts/ConnextFacet.json index 06525e78..79b535d4 100644 --- a/artifacts/ConnextFacet.json +++ b/artifacts/ConnextFacet.json @@ -108,6 +108,57 @@ "name": "ConnextTokenSwap", "type": "event" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__4f0a9270", + "type": "bytes8" + } + ], + "name": "c_4f0a9270", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__4f0a9270", + "type": "bytes8" + } + ], + "name": "c_false4f0a9270", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__4f0a9270", + "type": "bytes8" + } + ], + "name": "c_true4f0a9270", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { @@ -208,8 +259,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50611b37806100206000396000f3fe6080604052600436106100345760003560e01c80633205dc691461003957806351b401b914610062578063da328d541461007e575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190611055565b61009a565b005b61007c600480360381019061007791906110de565b61029c565b005b610098600480360381019061009391906110de565b61064f565b005b6100a26109e3565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610108906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906111c8565b60405180910390fd5b600061018a610a7e565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160000160146101000a81548163ffffffff021916908363ffffffff160217905550818160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168363ffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe23ac138025651e2fb684be9a5c635424d4dac7fc73449494c24c4955e79027860405160405180910390a450505050565b60006102a6610aab565b90506000879050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff160361031c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610313906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361038b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610382906111c8565b60405180910390fd5b610393610ade565b63ffffffff168563ffffffff16036103e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d79061125a565b60405180910390fd5b823414610422576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610419906112c6565b60405180910390fd5b868173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b815260040161045e9291906112f5565b602060405180830381865afa15801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049f9190611333565b10156104e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d7906113d2565b60405180910390fd5b61050d3330898473ffffffffffffffffffffffffffffffffffffffff16610b01909392919063ffffffff16565b61053882888373ffffffffffffffffffffffffffffffffffffffff16610b8a9092919063ffffffff16565b60008273ffffffffffffffffffffffffffffffffffffffff16638aac16ba85888a8d338e8c604051806020016040528060008152506040518963ffffffff1660e01b815260040161058f97969594939291906114a0565b60206040518083038185885af11580156105ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105d2919061154c565b90508873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167f1a0290ac7c224ab0140c811403ba545f80e92404b9979b69e52b3f589bc1c1e08b888660405161063c93929190611588565b60405180910390a4505050505050505050565b6000610659610aab565b90506000610665610cd9565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16036106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cd906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073c906111c8565b60405180910390fd5b61074d610ade565b63ffffffff168563ffffffff160361079a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107919061125a565b60405180910390fd5b82876107a691906115ee565b34146107e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107de90611694565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b15801561083457600080fd5b505af1158015610848573d6000803e3d6000fd5b50505050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3848a6040518363ffffffff1660e01b81526004016108889291906116b4565b6020604051808303816000875af11580156108a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cb9190611715565b50506000866040516020016108e09190611742565b604051602081830303815290604052905060008373ffffffffffffffffffffffffffffffffffffffff16638aac16ba86898d87338f8d8a6040518963ffffffff1660e01b815260040161093997969594939291906114a0565b60206040518083038185885af1158015610957573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061097c919061154c565b90508773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167fe16c7dcc828782adcdd94aaeb1d07c3ae5a6d593a6b851ab5e023f9c961436873488856040516109cf93929190611588565b60405180910390a350505050505050505050565b6109eb610d0c565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a73906117cf565b60405180910390fd5b565b6000807ffa2e9c22c7fe2104814a1d7e2c66c58d10a2d7989d5bcf01173a2564aa59c04d90508091505090565b6000610ab5610a7e565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610ae8610a7e565b60000160149054906101000a900463ffffffff16905090565b610b84846323b872dd60e01b858585604051602401610b22939291906117ef565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b50505050565b6000811480610c14575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610bd19291906112f5565b602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611333565b145b610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90611898565b60405180910390fd5b610cd48363095ea7b360e01b8484604051602401610c729291906116b4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b505050565b6000610ce3610a7e565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610d9b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610e009092919063ffffffff16565b9050600081511115610dfb5780806020019051810190610dbb9190611715565b610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df19061192a565b60405180910390fd5b5b505050565b6060610e0f8484600085610e18565b90509392505050565b606082471015610e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e54906119bc565b60405180910390fd5b610e6685610f2c565b610ea5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9c90611a28565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ece9190611a84565b60006040518083038185875af1925050503d8060008114610f0b576040519150601f19603f3d011682016040523d82523d6000602084013e610f10565b606091505b5091509150610f20828286610f4f565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610f5f57829050610faf565b600083511115610f725782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa69190611adf565b60405180910390fd5b9392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610fe682610fbb565b9050919050565b610ff681610fdb565b811461100157600080fd5b50565b60008135905061101381610fed565b92915050565b600063ffffffff82169050919050565b61103281611019565b811461103d57600080fd5b50565b60008135905061104f81611029565b92915050565b60008060006060848603121561106e5761106d610fb6565b5b600061107c86828701611004565b935050602061108d86828701611040565b925050604061109e86828701611004565b9150509250925092565b6000819050919050565b6110bb816110a8565b81146110c657600080fd5b50565b6000813590506110d8816110b2565b92915050565b60008060008060008060c087890312156110fb576110fa610fb6565b5b600061110989828a01611004565b965050602061111a89828a016110c9565b955050604061112b89828a01611004565b945050606061113c89828a01611040565b935050608061114d89828a016110c9565b92505060a061115e89828a016110c9565b9150509295509295509295565b600082825260208201905092915050565b7f436f6e6e6578743a20696e76616c696420616464726573730000000000000000600082015250565b60006111b260188361116b565b91506111bd8261117c565b602082019050919050565b600060208201905081810360008301526111e1816111a5565b9050919050565b7f436f6e6e6578743a2043616e6e6f742062726964676520746f2073616d65206460008201527f6f6d61696e000000000000000000000000000000000000000000000000000000602082015250565b600061124460258361116b565b915061124f826111e8565b604082019050919050565b6000602082019050818103600083015261127381611237565b9050919050565b7f436f6e6e6578743a2072656c6179657246656520213d206d73672e76616c7565600082015250565b60006112b060208361116b565b91506112bb8261127a565b602082019050919050565b600060208201905081810360008301526112df816112a3565b9050919050565b6112ef81610fdb565b82525050565b600060408201905061130a60008301856112e6565b61131760208301846112e6565b9392505050565b60008151905061132d816110b2565b92915050565b60006020828403121561134957611348610fb6565b5b60006113578482850161131e565b91505092915050565b7f436f6e6e6578743a2055736572206d75737420617070726f766520616d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b60006113bc60218361116b565b91506113c782611360565b604082019050919050565b600060208201905081810360008301526113eb816113af565b9050919050565b6113fb81611019565b82525050565b61140a816110a8565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561144a57808201518184015260208101905061142f565b60008484015250505050565b6000601f19601f8301169050919050565b600061147282611410565b61147c818561141b565b935061148c81856020860161142c565b61149581611456565b840191505092915050565b600060e0820190506114b5600083018a6113f2565b6114c260208301896112e6565b6114cf60408301886112e6565b6114dc60608301876112e6565b6114e96080830186611401565b6114f660a0830185611401565b81810360c08301526115088184611467565b905098975050505050505050565b6000819050919050565b61152981611516565b811461153457600080fd5b50565b60008151905061154681611520565b92915050565b60006020828403121561156257611561610fb6565b5b600061157084828501611537565b91505092915050565b61158281611516565b82525050565b600060608201905061159d6000830186611401565b6115aa6020830185611401565b6115b76040830184611579565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115f9826110a8565b9150611604836110a8565b925082820190508082111561161c5761161b6115bf565b5b92915050565b7f436f6e6e6578743a20616d6f756e74202b2072656c6179657246656520213d2060008201527f6d73672e76616c75650000000000000000000000000000000000000000000000602082015250565b600061167e60298361116b565b915061168982611622565b604082019050919050565b600060208201905081810360008301526116ad81611671565b9050919050565b60006040820190506116c960008301856112e6565b6116d66020830184611401565b9392505050565b60008115159050919050565b6116f2816116dd565b81146116fd57600080fd5b50565b60008151905061170f816116e9565b92915050565b60006020828403121561172b5761172a610fb6565b5b600061173984828501611700565b91505092915050565b600060208201905061175760008301846112e6565b92915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006117b960228361116b565b91506117c48261175d565b604082019050919050565b600060208201905081810360008301526117e8816117ac565b9050919050565b600060608201905061180460008301866112e6565b61181160208301856112e6565b61181e6040830184611401565b949350505050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b600061188260368361116b565b915061188d82611826565b604082019050919050565b600060208201905081810360008301526118b181611875565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000611914602a8361116b565b915061191f826118b8565b604082019050919050565b6000602082019050818103600083015261194381611907565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006119a660268361116b565b91506119b18261194a565b604082019050919050565b600060208201905081810360008301526119d581611999565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000611a12601d8361116b565b9150611a1d826119dc565b602082019050919050565b60006020820190508181036000830152611a4181611a05565b9050919050565b600081905092915050565b6000611a5e82611410565b611a688185611a48565b9350611a7881856020860161142c565b80840191505092915050565b6000611a908284611a53565b915081905092915050565b600081519050919050565b6000611ab182611a9b565b611abb818561116b565b9350611acb81856020860161142c565b611ad481611456565b840191505092915050565b60006020820190508181036000830152611af98184611aa6565b90509291505056fea2646970667358221220f3dc4951c58ae8b44cd9ca16d9356178d872e081900d417184103d3d1d4fc9ed64736f6c63430008110033", - "deployedBytecode": "0x6080604052600436106100345760003560e01c80633205dc691461003957806351b401b914610062578063da328d541461007e575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190611055565b61009a565b005b61007c600480360381019061007791906110de565b61029c565b005b610098600480360381019061009391906110de565b61064f565b005b6100a26109e3565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610108906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906111c8565b60405180910390fd5b600061018a610a7e565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160000160146101000a81548163ffffffff021916908363ffffffff160217905550818160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168363ffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe23ac138025651e2fb684be9a5c635424d4dac7fc73449494c24c4955e79027860405160405180910390a450505050565b60006102a6610aab565b90506000879050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff160361031c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610313906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361038b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610382906111c8565b60405180910390fd5b610393610ade565b63ffffffff168563ffffffff16036103e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d79061125a565b60405180910390fd5b823414610422576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610419906112c6565b60405180910390fd5b868173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b815260040161045e9291906112f5565b602060405180830381865afa15801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049f9190611333565b10156104e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d7906113d2565b60405180910390fd5b61050d3330898473ffffffffffffffffffffffffffffffffffffffff16610b01909392919063ffffffff16565b61053882888373ffffffffffffffffffffffffffffffffffffffff16610b8a9092919063ffffffff16565b60008273ffffffffffffffffffffffffffffffffffffffff16638aac16ba85888a8d338e8c604051806020016040528060008152506040518963ffffffff1660e01b815260040161058f97969594939291906114a0565b60206040518083038185885af11580156105ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105d2919061154c565b90508873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167f1a0290ac7c224ab0140c811403ba545f80e92404b9979b69e52b3f589bc1c1e08b888660405161063c93929190611588565b60405180910390a4505050505050505050565b6000610659610aab565b90506000610665610cd9565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16036106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cd906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073c906111c8565b60405180910390fd5b61074d610ade565b63ffffffff168563ffffffff160361079a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107919061125a565b60405180910390fd5b82876107a691906115ee565b34146107e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107de90611694565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b15801561083457600080fd5b505af1158015610848573d6000803e3d6000fd5b50505050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3848a6040518363ffffffff1660e01b81526004016108889291906116b4565b6020604051808303816000875af11580156108a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cb9190611715565b50506000866040516020016108e09190611742565b604051602081830303815290604052905060008373ffffffffffffffffffffffffffffffffffffffff16638aac16ba86898d87338f8d8a6040518963ffffffff1660e01b815260040161093997969594939291906114a0565b60206040518083038185885af1158015610957573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061097c919061154c565b90508773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167fe16c7dcc828782adcdd94aaeb1d07c3ae5a6d593a6b851ab5e023f9c961436873488856040516109cf93929190611588565b60405180910390a350505050505050505050565b6109eb610d0c565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a73906117cf565b60405180910390fd5b565b6000807ffa2e9c22c7fe2104814a1d7e2c66c58d10a2d7989d5bcf01173a2564aa59c04d90508091505090565b6000610ab5610a7e565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610ae8610a7e565b60000160149054906101000a900463ffffffff16905090565b610b84846323b872dd60e01b858585604051602401610b22939291906117ef565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b50505050565b6000811480610c14575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610bd19291906112f5565b602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611333565b145b610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90611898565b60405180910390fd5b610cd48363095ea7b360e01b8484604051602401610c729291906116b4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b505050565b6000610ce3610a7e565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610d9b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610e009092919063ffffffff16565b9050600081511115610dfb5780806020019051810190610dbb9190611715565b610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df19061192a565b60405180910390fd5b5b505050565b6060610e0f8484600085610e18565b90509392505050565b606082471015610e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e54906119bc565b60405180910390fd5b610e6685610f2c565b610ea5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9c90611a28565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ece9190611a84565b60006040518083038185875af1925050503d8060008114610f0b576040519150601f19603f3d011682016040523d82523d6000602084013e610f10565b606091505b5091509150610f20828286610f4f565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610f5f57829050610faf565b600083511115610f725782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa69190611adf565b60405180910390fd5b9392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610fe682610fbb565b9050919050565b610ff681610fdb565b811461100157600080fd5b50565b60008135905061101381610fed565b92915050565b600063ffffffff82169050919050565b61103281611019565b811461103d57600080fd5b50565b60008135905061104f81611029565b92915050565b60008060006060848603121561106e5761106d610fb6565b5b600061107c86828701611004565b935050602061108d86828701611040565b925050604061109e86828701611004565b9150509250925092565b6000819050919050565b6110bb816110a8565b81146110c657600080fd5b50565b6000813590506110d8816110b2565b92915050565b60008060008060008060c087890312156110fb576110fa610fb6565b5b600061110989828a01611004565b965050602061111a89828a016110c9565b955050604061112b89828a01611004565b945050606061113c89828a01611040565b935050608061114d89828a016110c9565b92505060a061115e89828a016110c9565b9150509295509295509295565b600082825260208201905092915050565b7f436f6e6e6578743a20696e76616c696420616464726573730000000000000000600082015250565b60006111b260188361116b565b91506111bd8261117c565b602082019050919050565b600060208201905081810360008301526111e1816111a5565b9050919050565b7f436f6e6e6578743a2043616e6e6f742062726964676520746f2073616d65206460008201527f6f6d61696e000000000000000000000000000000000000000000000000000000602082015250565b600061124460258361116b565b915061124f826111e8565b604082019050919050565b6000602082019050818103600083015261127381611237565b9050919050565b7f436f6e6e6578743a2072656c6179657246656520213d206d73672e76616c7565600082015250565b60006112b060208361116b565b91506112bb8261127a565b602082019050919050565b600060208201905081810360008301526112df816112a3565b9050919050565b6112ef81610fdb565b82525050565b600060408201905061130a60008301856112e6565b61131760208301846112e6565b9392505050565b60008151905061132d816110b2565b92915050565b60006020828403121561134957611348610fb6565b5b60006113578482850161131e565b91505092915050565b7f436f6e6e6578743a2055736572206d75737420617070726f766520616d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b60006113bc60218361116b565b91506113c782611360565b604082019050919050565b600060208201905081810360008301526113eb816113af565b9050919050565b6113fb81611019565b82525050565b61140a816110a8565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561144a57808201518184015260208101905061142f565b60008484015250505050565b6000601f19601f8301169050919050565b600061147282611410565b61147c818561141b565b935061148c81856020860161142c565b61149581611456565b840191505092915050565b600060e0820190506114b5600083018a6113f2565b6114c260208301896112e6565b6114cf60408301886112e6565b6114dc60608301876112e6565b6114e96080830186611401565b6114f660a0830185611401565b81810360c08301526115088184611467565b905098975050505050505050565b6000819050919050565b61152981611516565b811461153457600080fd5b50565b60008151905061154681611520565b92915050565b60006020828403121561156257611561610fb6565b5b600061157084828501611537565b91505092915050565b61158281611516565b82525050565b600060608201905061159d6000830186611401565b6115aa6020830185611401565b6115b76040830184611579565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115f9826110a8565b9150611604836110a8565b925082820190508082111561161c5761161b6115bf565b5b92915050565b7f436f6e6e6578743a20616d6f756e74202b2072656c6179657246656520213d2060008201527f6d73672e76616c75650000000000000000000000000000000000000000000000602082015250565b600061167e60298361116b565b915061168982611622565b604082019050919050565b600060208201905081810360008301526116ad81611671565b9050919050565b60006040820190506116c960008301856112e6565b6116d66020830184611401565b9392505050565b60008115159050919050565b6116f2816116dd565b81146116fd57600080fd5b50565b60008151905061170f816116e9565b92915050565b60006020828403121561172b5761172a610fb6565b5b600061173984828501611700565b91505092915050565b600060208201905061175760008301846112e6565b92915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006117b960228361116b565b91506117c48261175d565b604082019050919050565b600060208201905081810360008301526117e8816117ac565b9050919050565b600060608201905061180460008301866112e6565b61181160208301856112e6565b61181e6040830184611401565b949350505050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b600061188260368361116b565b915061188d82611826565b604082019050919050565b600060208201905081810360008301526118b181611875565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000611914602a8361116b565b915061191f826118b8565b604082019050919050565b6000602082019050818103600083015261194381611907565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006119a660268361116b565b91506119b18261194a565b604082019050919050565b600060208201905081810360008301526119d581611999565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000611a12601d8361116b565b9150611a1d826119dc565b602082019050919050565b60006020820190508181036000830152611a4181611a05565b9050919050565b600081905092915050565b6000611a5e82611410565b611a688185611a48565b9350611a7881856020860161142c565b80840191505092915050565b6000611a908284611a53565b915081905092915050565b600081519050919050565b6000611ab182611a9b565b611abb818561116b565b9350611acb81856020860161142c565b611ad481611456565b840191505092915050565b60006020820190508181036000830152611af98184611aa6565b90509291505056fea2646970667358221220f3dc4951c58ae8b44cd9ca16d9356178d872e081900d417184103d3d1d4fc9ed64736f6c63430008110033", + "bytecode": "0x608060405234801561001057600080fd5b50612533806100206000396000f3fe6080604052600436106100555760003560e01c80631e127d9e1461005a5780633205dc691461009757806351b401b9146100c0578063da328d54146100dc578063e59cff6a146100f8578063ff578afd14610121575b600080fd5b34801561006657600080fd5b50610081600480360381019061007c9190611960565b61015e565b60405161008e91906119a8565b60405180910390f35b3480156100a357600080fd5b506100be60048036038101906100b99190611a5d565b610169565b005b6100da60048036038101906100d59190611ae6565b6104d3565b005b6100f660048036038101906100f19190611ae6565b610b2e565b005b34801561010457600080fd5b5061011f600480360381019061011a9190611960565b61116a565b005b34801561012d57600080fd5b5061014860048036038101906101439190611960565b61116d565b60405161015591906119a8565b60405180910390f35b600060019050919050565b61017d67da66d5c76eb6198060c01b61116a565b6101916707107aa74081ad9a60c01b61116a565b6101a56709e536b31d2b284560c01b61116a565b6101ad611174565b6101c16724b3a7fbd5a0555c60c01b61116a565b6101d5673158d971c7fdb0ca60c01b61116a565b6101e96703c9330b53674b1760c01b61116a565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024f90611bd0565b60405180910390fd5b61026c67fcc5147cdd4ebd8960c01b61116a565b610280674fdb424e77c2592f60c01b61116a565b61029467f9d795c7c5682b1d60c01b61116a565b6102a8671cbbd1c5e3f278ca60c01b61116a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610317576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030e90611bd0565b60405180910390fd5b61032b67016ab0db5906bbb360c01b61116a565b61033f67169c7e53c5b97e3360c01b61116a565b610353679cab345ad0dd8ce860c01b61116a565b600061035d611273565b9050610373672902fe7e7f2d9cda60c01b61116a565b838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103ca6792d47aeff096fb8f60c01b61116a565b828160000160146101000a81548163ffffffff021916908363ffffffff16021790555061040167dae0b6432f92708c60c01b61116a565b818160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061045867a5bbad863e87472960c01b61116a565b61046c6730c01a8ab946fa6060c01b61116a565b8173ffffffffffffffffffffffffffffffffffffffff168363ffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe23ac138025651e2fb684be9a5c635424d4dac7fc73449494c24c4955e79027860405160405180910390a450505050565b6104e767acf0e9b35b4e65cd60c01b61116a565b6104fb6738c37d6ca422220660c01b61116a565b61050f6755a23b34dbcae5e460c01b61116a565b60006105196112f0565b905061052f675672b2448cdaf2f660c01b61116a565b61054367dd45662776e9485560c01b61116a565b600087905061055c674cbc6907ea07364660c01b61116a565b61057067628a6a1dae6e92c660c01b61116a565b61058467cdd5c254132cf2e360c01b61116a565b600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16036105f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ea90611bd0565b60405180910390fd5b61060767200b5f32b92e177c60c01b61116a565b61061b674f3206500b7d2d5b60c01b61116a565b61062f67d6ea1b1f01245e9160c01b61116a565b61064367da795a7d1d76ed2960c01b61116a565b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036106b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a990611bd0565b60405180910390fd5b6106c6674bb3f49be13dfadd60c01b61116a565b6106da671a6e4c979fc59d1360c01b61116a565b6106ee6718797eb7b093482c60c01b61116a565b6107026744a98e3e169b2f3460c01b61116a565b61070a61135f565b63ffffffff168563ffffffff1603610757576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074e90611c62565b60405180910390fd5b61076b673ce249b64835bbe560c01b61116a565b61077f67b9f72ba69a763c2760c01b61116a565b610793679fda6d2ebebf2fc360c01b61116a565b6107a7673cc29b0d572e7d7760c01b61116a565b8234146107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e090611cce565b60405180910390fd5b6107fd673d2b8fad77a6165f60c01b61116a565b61081167ea2297dd4a98c52260c01b61116a565b61082567e468230f90149a5c60c01b61116a565b610839672b6ca90b2121025860c01b61116a565b868173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b8152600401610875929190611cfd565b602060405180830381865afa158015610892573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b69190611d3b565b10156108f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ee90611dda565b60405180910390fd5b61090b67eeae8774d4737f9b60c01b61116a565b61091f6777f92ef958d33eb060c01b61116a565b6109336724476b17f224827760c01b61116a565b610947676472c6d9ab3589b760c01b61116a565b6109743330898473ffffffffffffffffffffffffffffffffffffffff166113be909392919063ffffffff16565b6109886774bf09dfa548e53660c01b61116a565b61099c6760a91e4e3a8ac2d960c01b61116a565b6109c782888373ffffffffffffffffffffffffffffffffffffffff166114479092919063ffffffff16565b6109db67ed56f35d7f2b828060c01b61116a565b6109ef67e38f566121b8c22660c01b61116a565b60008273ffffffffffffffffffffffffffffffffffffffff16638aac16ba85888a8d338e8c604051806020016040528060008152506040518963ffffffff1660e01b8152600401610a469796959493929190611ea8565b60206040518083038185885af1158015610a64573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a899190611f54565b9050610a9f67db5256f5193ef69260c01b61116a565b610ab367faca73967507dca660c01b61116a565b8873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167f1a0290ac7c224ab0140c811403ba545f80e92404b9979b69e52b3f589bc1c1e08b8886604051610b1b93929190611f90565b60405180910390a4505050505050505050565b610b4267c472042bb0a39b6f60c01b61116a565b610b5667e8d23992abac163d60c01b61116a565b610b6a67b48086d5ae77200760c01b61116a565b6000610b746112f0565b9050610b8a67ce9c305cc02b1c1160c01b61116a565b610b9e674c7274a33eb2813c60c01b61116a565b6000610ba8611596565b9050610bbe67bdf25af44a249b6560c01b61116a565b610bd267b444096f935769e960c01b61116a565b610be667bc5e5dc4ce769c2c60c01b61116a565b600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1603610c55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4c90611bd0565b60405180910390fd5b610c69671cc12e0b11e5007760c01b61116a565b610c7d67fa05b4e6612f0dc660c01b61116a565b610c9167a91b4fcfcd68b0e660c01b61116a565b610ca5671bbdb3490f019f5c60c01b61116a565b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0b90611bd0565b60405180910390fd5b610d286771179656948a2b0060c01b61116a565b610d3c67a3e2bdd52726bafd60c01b61116a565b610d5067046edd65ee4f553060c01b61116a565b610d64678c8ce874ae9b9de860c01b61116a565b610d6c61135f565b63ffffffff168563ffffffff1603610db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db090611c62565b60405180910390fd5b610dcd67aef6da0e6fe9d52160c01b61116a565b610de167740f381fd2151cb260c01b61116a565b610df567346b3c8880b2c3da60c01b61116a565b610e09674ad7b107080662c360c01b61116a565b8287610e159190611ff6565b3414610e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4d9061209c565b60405180910390fd5b610e6a6789871c2781989c6d60c01b61116a565b610e7e67060d638a4435f2cb60c01b61116a565b610e926708b41563644eea3e60c01b61116a565b610ea66755a072def3c33fb160c01b61116a565b6000819050610ebf673d4cc8668bbb681860c01b61116a565b610ed367508afb80f9f91eff60c01b61116a565b8073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b158015610f1b57600080fd5b505af1158015610f2f573d6000803e3d6000fd5b5050505050610f4867d240007acf4daa6460c01b61116a565b610f5c67e3df34b53866cb7760c01b61116a565b8073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3848a6040518363ffffffff1660e01b8152600401610f979291906120bc565b6020604051808303816000875af1158015610fb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fda9190612111565b5050610ff06737adbf910b3ee50360c01b61116a565b611004672a586681e374b5d660c01b61116a565b600086604051602001611017919061213e565b604051602081830303815290604052905061103c67199e92c28f9b407560c01b61116a565b6110506704c4ce9f5de15da560c01b61116a565b60008373ffffffffffffffffffffffffffffffffffffffff16638aac16ba86898d87338f8d8a6040518963ffffffff1660e01b81526004016110989796959493929190611ea8565b60206040518083038185885af11580156110b6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110db9190611f54565b90506110f167a170e2544473341460c01b61116a565b61110567feb2f7a200bc2b9760c01b61116a565b8773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167fe16c7dcc828782adcdd94aaeb1d07c3ae5a6d593a6b851ab5e023f9c9614368734888560405161115693929190611f90565b60405180910390a350505050505050505050565b50565b6000919050565b6111886721b40df6734b4e6460c01b611605565b61119c677276b6d1bbf7b68b60c01b611605565b6111b067f8611dbcb55a1f7860c01b611605565b6111c4676cedf54251a3375160c01b611605565b6111cc611608565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461125d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611254906121cb565b60405180910390fd5b61127167e452355b21bbd41e60c01b611605565b565b60006112886686de270f8eb5ee60c01b61116a565b61129c67e91f6aa427e7a86260c01b61116a565b6112b067f9fa26a73cd597f060c01b61116a565b60007ffa2e9c22c7fe2104814a1d7e2c66c58d10a2d7989d5bcf01173a2564aa59c04d90506112e967b96cba4c6f0b350c60c01b61116a565b8091505090565b600061130667ac00b124db4b589260c01b61116a565b61131a67fe1df3e726aaef2f60c01b61116a565b61132e67ac13fce227ef532760c01b61116a565b611336611273565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006113756799a5fb6e1d2eed7160c01b61116a565b6113896743d580f33e0df2b160c01b61116a565b61139d67e8552e2d8af2b48e60c01b61116a565b6113a5611273565b60000160149054906101000a900463ffffffff16905090565b611441846323b872dd60e01b8585856040516024016113df939291906121eb565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611686565b50505050565b60008114806114d1575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161148e929190611cfd565b602060405180830381865afa1580156114ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cf9190611d3b565b145b611510576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150790612294565b60405180910390fd5b6115918363095ea7b360e01b848460405160240161152f9291906120bc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611686565b505050565b60006115ac672d586a34e5abb5b460c01b61116a565b6115c067260fb297e7aa153460c01b61116a565b6115d46760d293c4377d5b2c60c01b61116a565b6115dc611273565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b50565b600061161e674f9afbb757d80e6360c01b611605565b611632674b823103125da15660c01b611605565b611646674ab715c231c1608d60c01b611605565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061167f67982d9bb86701efa860c01b611605565b8091505090565b60006116e8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661174d9092919063ffffffff16565b905060008151111561174857808060200190518101906117089190612111565b611747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173e90612326565b60405180910390fd5b5b505050565b606061175c8484600085611765565b90509392505050565b6060824710156117aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a1906123b8565b60405180910390fd5b6117b385611879565b6117f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e990612424565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161181b9190612480565b60006040518083038185875af1925050503d8060008114611858576040519150601f19603f3d011682016040523d82523d6000602084013e61185d565b606091505b509150915061186d82828661189c565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606083156118ac578290506118fc565b6000835111156118bf5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f391906124db565b60405180910390fd5b9392505050565b600080fd5b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b61193d81611908565b811461194857600080fd5b50565b60008135905061195a81611934565b92915050565b60006020828403121561197657611975611903565b5b60006119848482850161194b565b91505092915050565b60008115159050919050565b6119a28161198d565b82525050565b60006020820190506119bd6000830184611999565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119ee826119c3565b9050919050565b6119fe816119e3565b8114611a0957600080fd5b50565b600081359050611a1b816119f5565b92915050565b600063ffffffff82169050919050565b611a3a81611a21565b8114611a4557600080fd5b50565b600081359050611a5781611a31565b92915050565b600080600060608486031215611a7657611a75611903565b5b6000611a8486828701611a0c565b9350506020611a9586828701611a48565b9250506040611aa686828701611a0c565b9150509250925092565b6000819050919050565b611ac381611ab0565b8114611ace57600080fd5b50565b600081359050611ae081611aba565b92915050565b60008060008060008060c08789031215611b0357611b02611903565b5b6000611b1189828a01611a0c565b9650506020611b2289828a01611ad1565b9550506040611b3389828a01611a0c565b9450506060611b4489828a01611a48565b9350506080611b5589828a01611ad1565b92505060a0611b6689828a01611ad1565b9150509295509295509295565b600082825260208201905092915050565b7f436f6e6e6578743a20696e76616c696420616464726573730000000000000000600082015250565b6000611bba601883611b73565b9150611bc582611b84565b602082019050919050565b60006020820190508181036000830152611be981611bad565b9050919050565b7f436f6e6e6578743a2043616e6e6f742062726964676520746f2073616d65206460008201527f6f6d61696e000000000000000000000000000000000000000000000000000000602082015250565b6000611c4c602583611b73565b9150611c5782611bf0565b604082019050919050565b60006020820190508181036000830152611c7b81611c3f565b9050919050565b7f436f6e6e6578743a2072656c6179657246656520213d206d73672e76616c7565600082015250565b6000611cb8602083611b73565b9150611cc382611c82565b602082019050919050565b60006020820190508181036000830152611ce781611cab565b9050919050565b611cf7816119e3565b82525050565b6000604082019050611d126000830185611cee565b611d1f6020830184611cee565b9392505050565b600081519050611d3581611aba565b92915050565b600060208284031215611d5157611d50611903565b5b6000611d5f84828501611d26565b91505092915050565b7f436f6e6e6578743a2055736572206d75737420617070726f766520616d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b6000611dc4602183611b73565b9150611dcf82611d68565b604082019050919050565b60006020820190508181036000830152611df381611db7565b9050919050565b611e0381611a21565b82525050565b611e1281611ab0565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e52578082015181840152602081019050611e37565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e7a82611e18565b611e848185611e23565b9350611e94818560208601611e34565b611e9d81611e5e565b840191505092915050565b600060e082019050611ebd600083018a611dfa565b611eca6020830189611cee565b611ed76040830188611cee565b611ee46060830187611cee565b611ef16080830186611e09565b611efe60a0830185611e09565b81810360c0830152611f108184611e6f565b905098975050505050505050565b6000819050919050565b611f3181611f1e565b8114611f3c57600080fd5b50565b600081519050611f4e81611f28565b92915050565b600060208284031215611f6a57611f69611903565b5b6000611f7884828501611f3f565b91505092915050565b611f8a81611f1e565b82525050565b6000606082019050611fa56000830186611e09565b611fb26020830185611e09565b611fbf6040830184611f81565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061200182611ab0565b915061200c83611ab0565b925082820190508082111561202457612023611fc7565b5b92915050565b7f436f6e6e6578743a20616d6f756e74202b2072656c6179657246656520213d2060008201527f6d73672e76616c75650000000000000000000000000000000000000000000000602082015250565b6000612086602983611b73565b91506120918261202a565b604082019050919050565b600060208201905081810360008301526120b581612079565b9050919050565b60006040820190506120d16000830185611cee565b6120de6020830184611e09565b9392505050565b6120ee8161198d565b81146120f957600080fd5b50565b60008151905061210b816120e5565b92915050565b60006020828403121561212757612126611903565b5b6000612135848285016120fc565b91505092915050565b60006020820190506121536000830184611cee565b92915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006121b5602283611b73565b91506121c082612159565b604082019050919050565b600060208201905081810360008301526121e4816121a8565b9050919050565b60006060820190506122006000830186611cee565b61220d6020830185611cee565b61221a6040830184611e09565b949350505050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b600061227e603683611b73565b915061228982612222565b604082019050919050565b600060208201905081810360008301526122ad81612271565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612310602a83611b73565b915061231b826122b4565b604082019050919050565b6000602082019050818103600083015261233f81612303565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006123a2602683611b73565b91506123ad82612346565b604082019050919050565b600060208201905081810360008301526123d181612395565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b600061240e601d83611b73565b9150612419826123d8565b602082019050919050565b6000602082019050818103600083015261243d81612401565b9050919050565b600081905092915050565b600061245a82611e18565b6124648185612444565b9350612474818560208601611e34565b80840191505092915050565b600061248c828461244f565b915081905092915050565b600081519050919050565b60006124ad82612497565b6124b78185611b73565b93506124c7818560208601611e34565b6124d081611e5e565b840191505092915050565b600060208201905081810360008301526124f581846124a2565b90509291505056fea26469706673582212204da084d29f2b1f49110a7e2136c1f929f1a0ef590b5b88f05fb2d02502daf9f664736f6c63430008110033", + "deployedBytecode": "0x6080604052600436106100555760003560e01c80631e127d9e1461005a5780633205dc691461009757806351b401b9146100c0578063da328d54146100dc578063e59cff6a146100f8578063ff578afd14610121575b600080fd5b34801561006657600080fd5b50610081600480360381019061007c9190611960565b61015e565b60405161008e91906119a8565b60405180910390f35b3480156100a357600080fd5b506100be60048036038101906100b99190611a5d565b610169565b005b6100da60048036038101906100d59190611ae6565b6104d3565b005b6100f660048036038101906100f19190611ae6565b610b2e565b005b34801561010457600080fd5b5061011f600480360381019061011a9190611960565b61116a565b005b34801561012d57600080fd5b5061014860048036038101906101439190611960565b61116d565b60405161015591906119a8565b60405180910390f35b600060019050919050565b61017d67da66d5c76eb6198060c01b61116a565b6101916707107aa74081ad9a60c01b61116a565b6101a56709e536b31d2b284560c01b61116a565b6101ad611174565b6101c16724b3a7fbd5a0555c60c01b61116a565b6101d5673158d971c7fdb0ca60c01b61116a565b6101e96703c9330b53674b1760c01b61116a565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024f90611bd0565b60405180910390fd5b61026c67fcc5147cdd4ebd8960c01b61116a565b610280674fdb424e77c2592f60c01b61116a565b61029467f9d795c7c5682b1d60c01b61116a565b6102a8671cbbd1c5e3f278ca60c01b61116a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610317576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030e90611bd0565b60405180910390fd5b61032b67016ab0db5906bbb360c01b61116a565b61033f67169c7e53c5b97e3360c01b61116a565b610353679cab345ad0dd8ce860c01b61116a565b600061035d611273565b9050610373672902fe7e7f2d9cda60c01b61116a565b838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103ca6792d47aeff096fb8f60c01b61116a565b828160000160146101000a81548163ffffffff021916908363ffffffff16021790555061040167dae0b6432f92708c60c01b61116a565b818160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061045867a5bbad863e87472960c01b61116a565b61046c6730c01a8ab946fa6060c01b61116a565b8173ffffffffffffffffffffffffffffffffffffffff168363ffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe23ac138025651e2fb684be9a5c635424d4dac7fc73449494c24c4955e79027860405160405180910390a450505050565b6104e767acf0e9b35b4e65cd60c01b61116a565b6104fb6738c37d6ca422220660c01b61116a565b61050f6755a23b34dbcae5e460c01b61116a565b60006105196112f0565b905061052f675672b2448cdaf2f660c01b61116a565b61054367dd45662776e9485560c01b61116a565b600087905061055c674cbc6907ea07364660c01b61116a565b61057067628a6a1dae6e92c660c01b61116a565b61058467cdd5c254132cf2e360c01b61116a565b600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16036105f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ea90611bd0565b60405180910390fd5b61060767200b5f32b92e177c60c01b61116a565b61061b674f3206500b7d2d5b60c01b61116a565b61062f67d6ea1b1f01245e9160c01b61116a565b61064367da795a7d1d76ed2960c01b61116a565b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036106b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a990611bd0565b60405180910390fd5b6106c6674bb3f49be13dfadd60c01b61116a565b6106da671a6e4c979fc59d1360c01b61116a565b6106ee6718797eb7b093482c60c01b61116a565b6107026744a98e3e169b2f3460c01b61116a565b61070a61135f565b63ffffffff168563ffffffff1603610757576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074e90611c62565b60405180910390fd5b61076b673ce249b64835bbe560c01b61116a565b61077f67b9f72ba69a763c2760c01b61116a565b610793679fda6d2ebebf2fc360c01b61116a565b6107a7673cc29b0d572e7d7760c01b61116a565b8234146107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e090611cce565b60405180910390fd5b6107fd673d2b8fad77a6165f60c01b61116a565b61081167ea2297dd4a98c52260c01b61116a565b61082567e468230f90149a5c60c01b61116a565b610839672b6ca90b2121025860c01b61116a565b868173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b8152600401610875929190611cfd565b602060405180830381865afa158015610892573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b69190611d3b565b10156108f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ee90611dda565b60405180910390fd5b61090b67eeae8774d4737f9b60c01b61116a565b61091f6777f92ef958d33eb060c01b61116a565b6109336724476b17f224827760c01b61116a565b610947676472c6d9ab3589b760c01b61116a565b6109743330898473ffffffffffffffffffffffffffffffffffffffff166113be909392919063ffffffff16565b6109886774bf09dfa548e53660c01b61116a565b61099c6760a91e4e3a8ac2d960c01b61116a565b6109c782888373ffffffffffffffffffffffffffffffffffffffff166114479092919063ffffffff16565b6109db67ed56f35d7f2b828060c01b61116a565b6109ef67e38f566121b8c22660c01b61116a565b60008273ffffffffffffffffffffffffffffffffffffffff16638aac16ba85888a8d338e8c604051806020016040528060008152506040518963ffffffff1660e01b8152600401610a469796959493929190611ea8565b60206040518083038185885af1158015610a64573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a899190611f54565b9050610a9f67db5256f5193ef69260c01b61116a565b610ab367faca73967507dca660c01b61116a565b8873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167f1a0290ac7c224ab0140c811403ba545f80e92404b9979b69e52b3f589bc1c1e08b8886604051610b1b93929190611f90565b60405180910390a4505050505050505050565b610b4267c472042bb0a39b6f60c01b61116a565b610b5667e8d23992abac163d60c01b61116a565b610b6a67b48086d5ae77200760c01b61116a565b6000610b746112f0565b9050610b8a67ce9c305cc02b1c1160c01b61116a565b610b9e674c7274a33eb2813c60c01b61116a565b6000610ba8611596565b9050610bbe67bdf25af44a249b6560c01b61116a565b610bd267b444096f935769e960c01b61116a565b610be667bc5e5dc4ce769c2c60c01b61116a565b600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1603610c55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4c90611bd0565b60405180910390fd5b610c69671cc12e0b11e5007760c01b61116a565b610c7d67fa05b4e6612f0dc660c01b61116a565b610c9167a91b4fcfcd68b0e660c01b61116a565b610ca5671bbdb3490f019f5c60c01b61116a565b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0b90611bd0565b60405180910390fd5b610d286771179656948a2b0060c01b61116a565b610d3c67a3e2bdd52726bafd60c01b61116a565b610d5067046edd65ee4f553060c01b61116a565b610d64678c8ce874ae9b9de860c01b61116a565b610d6c61135f565b63ffffffff168563ffffffff1603610db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db090611c62565b60405180910390fd5b610dcd67aef6da0e6fe9d52160c01b61116a565b610de167740f381fd2151cb260c01b61116a565b610df567346b3c8880b2c3da60c01b61116a565b610e09674ad7b107080662c360c01b61116a565b8287610e159190611ff6565b3414610e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4d9061209c565b60405180910390fd5b610e6a6789871c2781989c6d60c01b61116a565b610e7e67060d638a4435f2cb60c01b61116a565b610e926708b41563644eea3e60c01b61116a565b610ea66755a072def3c33fb160c01b61116a565b6000819050610ebf673d4cc8668bbb681860c01b61116a565b610ed367508afb80f9f91eff60c01b61116a565b8073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b158015610f1b57600080fd5b505af1158015610f2f573d6000803e3d6000fd5b5050505050610f4867d240007acf4daa6460c01b61116a565b610f5c67e3df34b53866cb7760c01b61116a565b8073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3848a6040518363ffffffff1660e01b8152600401610f979291906120bc565b6020604051808303816000875af1158015610fb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fda9190612111565b5050610ff06737adbf910b3ee50360c01b61116a565b611004672a586681e374b5d660c01b61116a565b600086604051602001611017919061213e565b604051602081830303815290604052905061103c67199e92c28f9b407560c01b61116a565b6110506704c4ce9f5de15da560c01b61116a565b60008373ffffffffffffffffffffffffffffffffffffffff16638aac16ba86898d87338f8d8a6040518963ffffffff1660e01b81526004016110989796959493929190611ea8565b60206040518083038185885af11580156110b6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110db9190611f54565b90506110f167a170e2544473341460c01b61116a565b61110567feb2f7a200bc2b9760c01b61116a565b8773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167fe16c7dcc828782adcdd94aaeb1d07c3ae5a6d593a6b851ab5e023f9c9614368734888560405161115693929190611f90565b60405180910390a350505050505050505050565b50565b6000919050565b6111886721b40df6734b4e6460c01b611605565b61119c677276b6d1bbf7b68b60c01b611605565b6111b067f8611dbcb55a1f7860c01b611605565b6111c4676cedf54251a3375160c01b611605565b6111cc611608565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461125d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611254906121cb565b60405180910390fd5b61127167e452355b21bbd41e60c01b611605565b565b60006112886686de270f8eb5ee60c01b61116a565b61129c67e91f6aa427e7a86260c01b61116a565b6112b067f9fa26a73cd597f060c01b61116a565b60007ffa2e9c22c7fe2104814a1d7e2c66c58d10a2d7989d5bcf01173a2564aa59c04d90506112e967b96cba4c6f0b350c60c01b61116a565b8091505090565b600061130667ac00b124db4b589260c01b61116a565b61131a67fe1df3e726aaef2f60c01b61116a565b61132e67ac13fce227ef532760c01b61116a565b611336611273565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006113756799a5fb6e1d2eed7160c01b61116a565b6113896743d580f33e0df2b160c01b61116a565b61139d67e8552e2d8af2b48e60c01b61116a565b6113a5611273565b60000160149054906101000a900463ffffffff16905090565b611441846323b872dd60e01b8585856040516024016113df939291906121eb565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611686565b50505050565b60008114806114d1575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161148e929190611cfd565b602060405180830381865afa1580156114ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cf9190611d3b565b145b611510576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150790612294565b60405180910390fd5b6115918363095ea7b360e01b848460405160240161152f9291906120bc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611686565b505050565b60006115ac672d586a34e5abb5b460c01b61116a565b6115c067260fb297e7aa153460c01b61116a565b6115d46760d293c4377d5b2c60c01b61116a565b6115dc611273565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b50565b600061161e674f9afbb757d80e6360c01b611605565b611632674b823103125da15660c01b611605565b611646674ab715c231c1608d60c01b611605565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061167f67982d9bb86701efa860c01b611605565b8091505090565b60006116e8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661174d9092919063ffffffff16565b905060008151111561174857808060200190518101906117089190612111565b611747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173e90612326565b60405180910390fd5b5b505050565b606061175c8484600085611765565b90509392505050565b6060824710156117aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a1906123b8565b60405180910390fd5b6117b385611879565b6117f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e990612424565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161181b9190612480565b60006040518083038185875af1925050503d8060008114611858576040519150601f19603f3d011682016040523d82523d6000602084013e61185d565b606091505b509150915061186d82828661189c565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606083156118ac578290506118fc565b6000835111156118bf5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f391906124db565b60405180910390fd5b9392505050565b600080fd5b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b61193d81611908565b811461194857600080fd5b50565b60008135905061195a81611934565b92915050565b60006020828403121561197657611975611903565b5b60006119848482850161194b565b91505092915050565b60008115159050919050565b6119a28161198d565b82525050565b60006020820190506119bd6000830184611999565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119ee826119c3565b9050919050565b6119fe816119e3565b8114611a0957600080fd5b50565b600081359050611a1b816119f5565b92915050565b600063ffffffff82169050919050565b611a3a81611a21565b8114611a4557600080fd5b50565b600081359050611a5781611a31565b92915050565b600080600060608486031215611a7657611a75611903565b5b6000611a8486828701611a0c565b9350506020611a9586828701611a48565b9250506040611aa686828701611a0c565b9150509250925092565b6000819050919050565b611ac381611ab0565b8114611ace57600080fd5b50565b600081359050611ae081611aba565b92915050565b60008060008060008060c08789031215611b0357611b02611903565b5b6000611b1189828a01611a0c565b9650506020611b2289828a01611ad1565b9550506040611b3389828a01611a0c565b9450506060611b4489828a01611a48565b9350506080611b5589828a01611ad1565b92505060a0611b6689828a01611ad1565b9150509295509295509295565b600082825260208201905092915050565b7f436f6e6e6578743a20696e76616c696420616464726573730000000000000000600082015250565b6000611bba601883611b73565b9150611bc582611b84565b602082019050919050565b60006020820190508181036000830152611be981611bad565b9050919050565b7f436f6e6e6578743a2043616e6e6f742062726964676520746f2073616d65206460008201527f6f6d61696e000000000000000000000000000000000000000000000000000000602082015250565b6000611c4c602583611b73565b9150611c5782611bf0565b604082019050919050565b60006020820190508181036000830152611c7b81611c3f565b9050919050565b7f436f6e6e6578743a2072656c6179657246656520213d206d73672e76616c7565600082015250565b6000611cb8602083611b73565b9150611cc382611c82565b602082019050919050565b60006020820190508181036000830152611ce781611cab565b9050919050565b611cf7816119e3565b82525050565b6000604082019050611d126000830185611cee565b611d1f6020830184611cee565b9392505050565b600081519050611d3581611aba565b92915050565b600060208284031215611d5157611d50611903565b5b6000611d5f84828501611d26565b91505092915050565b7f436f6e6e6578743a2055736572206d75737420617070726f766520616d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b6000611dc4602183611b73565b9150611dcf82611d68565b604082019050919050565b60006020820190508181036000830152611df381611db7565b9050919050565b611e0381611a21565b82525050565b611e1281611ab0565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e52578082015181840152602081019050611e37565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e7a82611e18565b611e848185611e23565b9350611e94818560208601611e34565b611e9d81611e5e565b840191505092915050565b600060e082019050611ebd600083018a611dfa565b611eca6020830189611cee565b611ed76040830188611cee565b611ee46060830187611cee565b611ef16080830186611e09565b611efe60a0830185611e09565b81810360c0830152611f108184611e6f565b905098975050505050505050565b6000819050919050565b611f3181611f1e565b8114611f3c57600080fd5b50565b600081519050611f4e81611f28565b92915050565b600060208284031215611f6a57611f69611903565b5b6000611f7884828501611f3f565b91505092915050565b611f8a81611f1e565b82525050565b6000606082019050611fa56000830186611e09565b611fb26020830185611e09565b611fbf6040830184611f81565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061200182611ab0565b915061200c83611ab0565b925082820190508082111561202457612023611fc7565b5b92915050565b7f436f6e6e6578743a20616d6f756e74202b2072656c6179657246656520213d2060008201527f6d73672e76616c75650000000000000000000000000000000000000000000000602082015250565b6000612086602983611b73565b91506120918261202a565b604082019050919050565b600060208201905081810360008301526120b581612079565b9050919050565b60006040820190506120d16000830185611cee565b6120de6020830184611e09565b9392505050565b6120ee8161198d565b81146120f957600080fd5b50565b60008151905061210b816120e5565b92915050565b60006020828403121561212757612126611903565b5b6000612135848285016120fc565b91505092915050565b60006020820190506121536000830184611cee565b92915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006121b5602283611b73565b91506121c082612159565b604082019050919050565b600060208201905081810360008301526121e4816121a8565b9050919050565b60006060820190506122006000830186611cee565b61220d6020830185611cee565b61221a6040830184611e09565b949350505050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b600061227e603683611b73565b915061228982612222565b604082019050919050565b600060208201905081810360008301526122ad81612271565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612310602a83611b73565b915061231b826122b4565b604082019050919050565b6000602082019050818103600083015261233f81612303565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006123a2602683611b73565b91506123ad82612346565b604082019050919050565b600060208201905081810360008301526123d181612395565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b600061240e601d83611b73565b9150612419826123d8565b602082019050919050565b6000602082019050818103600083015261243d81612401565b9050919050565b600081905092915050565b600061245a82611e18565b6124648185612444565b9350612474818560208601611e34565b80840191505092915050565b600061248c828461244f565b915081905092915050565b600081519050919050565b60006124ad82612497565b6124b78185611b73565b93506124c7818560208601611e34565b6124d081611e5e565b840191505092915050565b600060208201905081810360008301526124f581846124a2565b90509291505056fea26469706673582212204da084d29f2b1f49110a7e2136c1f929f1a0ef590b5b88f05fb2d02502daf9f664736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/Controlled.json b/artifacts/Controlled.json index 6d4ff1fb..f10c2b35 100644 --- a/artifacts/Controlled.json +++ b/artifacts/Controlled.json @@ -3,6 +3,57 @@ "contractName": "Controlled", "sourceName": "src/common/access/Controlled.sol", "abi": [ + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__495bfa8b", + "type": "bytes8" + } + ], + "name": "c_495bfa8b", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__495bfa8b", + "type": "bytes8" + } + ], + "name": "c_false495bfa8b", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__495bfa8b", + "type": "bytes8" + } + ], + "name": "c_true495bfa8b", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [], "name": "controller", diff --git a/artifacts/Diamond.json b/artifacts/Diamond.json index e4dd1325..c5779caa 100644 --- a/artifacts/Diamond.json +++ b/artifacts/Diamond.json @@ -23,13 +23,64 @@ "stateMutability": "payable", "type": "fallback" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__e3a4c27e", + "type": "bytes8" + } + ], + "name": "c_e3a4c27e", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__e3a4c27e", + "type": "bytes8" + } + ], + "name": "c_falsee3a4c27e", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__e3a4c27e", + "type": "bytes8" + } + ], + "name": "c_truee3a4c27e", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "stateMutability": "payable", "type": "receive" } ], - "bytecode": "0x60806040526040516200497d3803806200497d8339818101604052810190620000299190620018d0565b6200003f82620001f760201b620001671760201c565b6000600167ffffffffffffffff8111156200005f576200005e62001917565b5b6040519080825280602002602001820160405280156200009c57816020015b620000886200181a565b8152602001906001900390816200007e5790505b5090506000600167ffffffffffffffff811115620000bf57620000be62001917565b5b604051908082528060200260200182016040528015620000ee5781602001602082028036833780820191505090505b509050631f931c1c60e01b8160008151811062000110576200010f62001946565b5b60200260200101907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152505060405180606001604052808473ffffffffffffffffffffffffffffffffffffffff168152602001600060028111156200019a576200019962001975565b5b81526020018281525082600081518110620001ba57620001b962001946565b5b6020026020010181905250620001ed82600060405180602001604052806000815250620002d660201b6200023e1760201c565b50505050620025c1565b6000620002096200055a60201b60201c565b905060008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60005b835181101562000505576000848281518110620002fb57620002fa62001946565b5b60200260200101516020015190506000600281111562000320576200031f62001975565b5b81600281111562000336576200033562001975565b5b0362000396576200039085838151811062000356576200035562001946565b5b60200260200101516000015186848151811062000378576200037762001946565b5b6020026020010151604001516200058760201b60201c565b620004ee565b60016002811115620003ad57620003ac62001975565b5b816002811115620003c357620003c262001975565b5b0362000423576200041d858381518110620003e357620003e262001946565b5b60200260200101516000015186848151811062000405576200040462001946565b5b6020026020010151604001516200082960201b60201c565b620004ed565b60028081111562000439576200043862001975565b5b8160028111156200044f576200044e62001975565b5b03620004af57620004a98583815181106200046f576200046e62001946565b5b60200260200101516000015186848151811062000491576200049062001946565b5b60200260200101516040015162000add60201b60201c565b620004ec565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004e39062001a2b565b60405180910390fd5b5b5b508080620004fc9062001a86565b915050620002d9565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738383836040516200053b9392919062001e00565b60405180910390a162000555828262000c8560201b60201c565b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000815111620005ce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005c59062001ec1565b60405180910390fd5b6000620005e06200055a60201b60201c565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000654576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200064b9062001f59565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff1603620006ca57620006c9828562000eb360201b60201c565b5b60005b835181101562000822576000848281518110620006ef57620006ee62001946565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614620007e6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007dd9062001ff1565b60405180910390fd5b620007fa8583868a62000f9760201b60201c565b838062000807906200202b565b94505050508080620008199062001a86565b915050620006cd565b5050505050565b600081511162000870576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008679062001ec1565b60405180910390fd5b6000620008826200055a60201b60201c565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620008f6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008ed9062001f59565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff16036200096c576200096b828562000eb360201b60201c565b5b60005b835181101562000ad657600084828151811062000991576200099062001946565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000a87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a7e90620020da565b60405180910390fd5b62000a9a8582846200114460201b60201c565b62000aae8583868a62000f9760201b60201c565b838062000abb906200202b565b9450505050808062000acd9062001a86565b9150506200096f565b5050505050565b600081511162000b24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b1b9062001ec1565b60405180910390fd5b600062000b366200055a60201b60201c565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000baa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ba19062002172565b60405180910390fd5b60005b825181101562000c7f57600083828151811062000bcf5762000bce62001946565b5b602002602001015190506000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905062000c678482846200114460201b60201c565b5050808062000c769062001a86565b91505062000bad565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000d0757600081511462000d01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cf8906200220a565b60405180910390fd5b62000eaf565b600081511162000d4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000d4590620022a2565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000dae5762000dad826040518060600160405280602881526020016200493160289139620017c560201b60201c565b5b6000808373ffffffffffffffffffffffffffffffffffffffff168360405162000dd8919062002306565b600060405180830381855af49150503d806000811462000e15576040519150601f19603f3d011682016040523d82523d6000602084013e62000e1a565b606091505b50915091508162000eac5760008151111562000e6f57806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000e6691906200236b565b60405180910390fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ea39062002405565b60405180910390fd5b50505b5050565b62000ede816040518060600160405280602481526020016200495960249139620017c560201b60201c565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c021790555080846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620011b6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620011ad906200249d565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362001227576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200121e9062002535565b60405180910390fd5b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905062001300919062002557565b90508082146200149b5760008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001828154811062001365576200136462001946565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b9050808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018481548110620013e457620013e362001946565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c021790555082866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550505b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805480620014f257620014f162002592565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff02191690559055846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff0219169055505060008103620017be57600060018660020180549050620015df919062002557565b905060008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050818114620017275760008760020183815481106200164d576200164c62001946565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508088600201838154811062001694576200169362001946565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550505b866002018054806200173e576200173d62002592565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590558660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000905550505b5050505050565b6000823b905060008111829062001814576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200180b91906200236b565b60405180910390fd5b50505050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000600281111562001859576200185862001975565b5b8152602001606081525090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062001898826200186b565b9050919050565b620018aa816200188b565b8114620018b657600080fd5b50565b600081519050620018ca816200189f565b92915050565b60008060408385031215620018ea57620018e962001866565b5b6000620018fa85828601620018b9565b92505060206200190d85828601620018b9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600082825260208201905092915050565b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b600062001a13602783620019a4565b915062001a2082620019b5565b604082019050919050565b6000602082019050818103600083015262001a468162001a04565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b600062001a938262001a7c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362001ac85762001ac762001a4d565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b62001b0a816200188b565b82525050565b6003811062001b245762001b2362001975565b5b50565b600081905062001b378262001b10565b919050565b600062001b498262001b27565b9050919050565b62001b5b8162001b3c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b62001bc48162001b8d565b82525050565b600062001bd8838362001bb9565b60208301905092915050565b6000602082019050919050565b600062001bfe8262001b61565b62001c0a818562001b6c565b935062001c178362001b7d565b8060005b8381101562001c4e57815162001c32888262001bca565b975062001c3f8362001be4565b92505060018101905062001c1b565b5085935050505092915050565b600060608301600083015162001c75600086018262001aff565b50602083015162001c8a602086018262001b50565b506040830151848203604086015262001ca4828262001bf1565b9150508091505092915050565b600062001cbf838362001c5b565b905092915050565b6000602082019050919050565b600062001ce18262001ad3565b62001ced818562001ade565b93508360208202850162001d018562001aef565b8060005b8581101562001d43578484038952815162001d21858262001cb1565b945062001d2e8362001cc7565b925060208a0199505060018101905062001d05565b50829750879550505050505092915050565b62001d60816200188b565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101562001da257808201518184015260208101905062001d85565b60008484015250505050565b6000601f19601f8301169050919050565b600062001dcc8262001d66565b62001dd8818562001d71565b935062001dea81856020860162001d82565b62001df58162001dae565b840191505092915050565b6000606082019050818103600083015262001e1c818662001cd4565b905062001e2d602083018562001d55565b818103604083015262001e41818462001dbf565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b600062001ea9602b83620019a4565b915062001eb68262001e4b565b604082019050919050565b6000602082019050818103600083015262001edc8162001e9a565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b600062001f41602c83620019a4565b915062001f4e8262001ee3565b604082019050919050565b6000602082019050818103600083015262001f748162001f32565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b600062001fd9603583620019a4565b915062001fe68262001f7b565b604082019050919050565b600060208201905081810360008301526200200c8162001fca565b9050919050565b60006bffffffffffffffffffffffff82169050919050565b6000620020388262002013565b91506bffffffffffffffffffffffff820362002059576200205862001a4d565b5b600182019050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b6000620020c2603883620019a4565b9150620020cf8262002064565b604082019050919050565b60006020820190508181036000830152620020f581620020b3565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b60006200215a603683620019a4565b91506200216782620020fc565b604082019050919050565b600060208201905081810360008301526200218d816200214b565b9050919050565b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b6000620021f2603c83620019a4565b9150620021ff8262002194565b604082019050919050565b600060208201905081810360008301526200222581620021e3565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b60006200228a603d83620019a4565b915062002297826200222c565b604082019050919050565b60006020820190508181036000830152620022bd816200227b565b9050919050565b600081905092915050565b6000620022dc8262001d66565b620022e88185620022c4565b9350620022fa81856020860162001d82565b80840191505092915050565b6000620023148284620022cf565b915081905092915050565b600081519050919050565b600062002337826200231f565b620023438185620019a4565b93506200235581856020860162001d82565b620023608162001dae565b840191505092915050565b600060208201905081810360008301526200238781846200232a565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b6000620023ed602683620019a4565b9150620023fa826200238f565b604082019050919050565b600060208201905081810360008301526200242081620023de565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b600062002485603783620019a4565b9150620024928262002427565b604082019050919050565b60006020820190508181036000830152620024b88162002476565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e000000000000000000000000000000000000602082015250565b60006200251d602e83620019a4565b91506200252a82620024bf565b604082019050919050565b6000602082019050818103600083015262002550816200250e565b9050919050565b6000620025648262001a7c565b9150620025718362001a7c565b92508282039050818111156200258c576200258b62001a4d565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b61236080620025d16000396000f3fe60806040523661000b57005b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c9050809150600082600001600080357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610141576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610138906116c8565b60405180910390fd5b3660008037600080366000845af43d6000803e8060008114610162573d6000f35b3d6000fd5b600061017161046d565b905060008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60005b835181101561042257600084828151811061025f5761025e6116e8565b5b60200260200101516020015190506000600281111561028157610280611717565b5b81600281111561029457610293611717565b5b036102e4576102df8583815181106102af576102ae6116e8565b5b6020026020010151600001518684815181106102ce576102cd6116e8565b5b60200260200101516040015161049a565b61040e565b600160028111156102f8576102f7611717565b5b81600281111561030b5761030a611717565b5b0361035b57610356858381518110610326576103256116e8565b5b602002602001015160000151868481518110610345576103446116e8565b5b602002602001015160400151610711565b61040d565b60028081111561036e5761036d611717565b5b81600281111561038157610380611717565b5b036103d1576103cc85838151811061039c5761039b6116e8565b5b6020026020010151600001518684815181106103bb576103ba6116e8565b5b602002602001015160400151610992565b61040c565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610403906117b8565b60405180910390fd5b5b5b50808061041a90611811565b915050610241565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161045693929190611b7d565b60405180910390a16104688282610b1d565b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60008151116104de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d590611c34565b60405180910390fd5b60006104e861046d565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610559576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055090611cc6565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff16036105c6576105c58285610d2f565b5b60005b835181101561070a5760008482815181106105e7576105e66116e8565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146106db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d290611d58565b60405180910390fd5b6106e78583868a610e0a565b83806106f290611d90565b9450505050808061070290611811565b9150506105c9565b5050505050565b6000815111610755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074c90611c34565b60405180910390fd5b600061075f61046d565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c790611cc6565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff160361083d5761083c8285610d2f565b5b60005b835181101561098b57600084828151811061085e5761085d6116e8565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094890611e36565b60405180910390fd5b61095c858284610fb7565b6109688583868a610e0a565b838061097390611d90565b9450505050808061098390611811565b915050610840565b5050505050565b60008151116109d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cd90611c34565b60405180910390fd5b60006109e061046d565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4890611ec8565b60405180910390fd5b60005b8251811015610b17576000838281518110610a7257610a716116e8565b5b602002602001015190506000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610b02848284610fb7565b50508080610b0f90611811565b915050610a54565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b9a576000815114610b95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8c90611f5a565b60405180910390fd5b610d2b565b6000815111610bde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd590611fec565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610c3457610c33826040518060600160405280602881526020016122df60289139611619565b5b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051610c5c9190612048565b600060405180830381855af49150503d8060008114610c97576040519150601f19603f3d011682016040523d82523d6000602084013e610c9c565b606091505b509150915081610d2857600081511115610ced57806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce491906120a3565b60405180910390fd5b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1f90612137565b60405180910390fd5b50505b5050565b610d518160405180606001604052806024815260200161230760249139611619565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c021790555080846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101d906121c9565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108b9061225b565b60405180910390fd5b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905061116b919061227b565b90508082146112ff5760008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000182815481106111cc576111cb6116e8565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b9050808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018481548110611248576112476116e8565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c021790555082866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550505b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805480611353576113526122af565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff02191690559055846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff02191690555050600081036116125760006001866002018054905061143d919061227b565b905060008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154905081811461157e5760008760020183815481106114a7576114a66116e8565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050808860020183815481106114eb576114ea6116e8565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550505b86600201805480611592576115916122af565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590558660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000905550505b5050505050565b6000823b9050600081118290611665576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165c91906120a3565b60405180910390fd5b50505050565b600082825260208201905092915050565b7f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f74206578697374600082015250565b60006116b260208361166b565b91506116bd8261167c565b602082019050919050565b600060208201905081810360008301526116e1816116a5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b60006117a260278361166b565b91506117ad82611746565b604082019050919050565b600060208201905081810360008301526117d181611795565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b600061181c82611807565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361184e5761184d6117d8565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118b082611885565b9050919050565b6118c0816118a5565b82525050565b600381106118d7576118d6611717565b5b50565b60008190506118e8826118c6565b919050565b60006118f8826118da565b9050919050565b611908816118ed565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61196f8161193a565b82525050565b60006119818383611966565b60208301905092915050565b6000602082019050919050565b60006119a58261190e565b6119af8185611919565b93506119ba8361192a565b8060005b838110156119eb5781516119d28882611975565b97506119dd8361198d565b9250506001810190506119be565b5085935050505092915050565b6000606083016000830151611a1060008601826118b7565b506020830151611a2360208601826118ff565b5060408301518482036040860152611a3b828261199a565b9150508091505092915050565b6000611a5483836119f8565b905092915050565b6000602082019050919050565b6000611a7482611859565b611a7e8185611864565b935083602082028501611a9085611875565b8060005b85811015611acc5784840389528151611aad8582611a48565b9450611ab883611a5c565b925060208a01995050600181019050611a94565b50829750879550505050505092915050565b611ae7816118a5565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b27578082015181840152602081019050611b0c565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b4f82611aed565b611b598185611af8565b9350611b69818560208601611b09565b611b7281611b33565b840191505092915050565b60006060820190508181036000830152611b978186611a69565b9050611ba66020830185611ade565b8181036040830152611bb88184611b44565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b6000611c1e602b8361166b565b9150611c2982611bc2565b604082019050919050565b60006020820190508181036000830152611c4d81611c11565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b6000611cb0602c8361166b565b9150611cbb82611c54565b604082019050919050565b60006020820190508181036000830152611cdf81611ca3565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b6000611d4260358361166b565b9150611d4d82611ce6565b604082019050919050565b60006020820190508181036000830152611d7181611d35565b9050919050565b60006bffffffffffffffffffffffff82169050919050565b6000611d9b82611d78565b91506bffffffffffffffffffffffff8203611db957611db86117d8565b5b600182019050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b6000611e2060388361166b565b9150611e2b82611dc4565b604082019050919050565b60006020820190508181036000830152611e4f81611e13565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b6000611eb260368361166b565b9150611ebd82611e56565b604082019050919050565b60006020820190508181036000830152611ee181611ea5565b9050919050565b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b6000611f44603c8361166b565b9150611f4f82611ee8565b604082019050919050565b60006020820190508181036000830152611f7381611f37565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b6000611fd6603d8361166b565b9150611fe182611f7a565b604082019050919050565b6000602082019050818103600083015261200581611fc9565b9050919050565b600081905092915050565b600061202282611aed565b61202c818561200c565b935061203c818560208601611b09565b80840191505092915050565b60006120548284612017565b915081905092915050565b600081519050919050565b60006120758261205f565b61207f818561166b565b935061208f818560208601611b09565b61209881611b33565b840191505092915050565b600060208201905081810360008301526120bd818461206a565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b600061212160268361166b565b915061212c826120c5565b604082019050919050565b6000602082019050818103600083015261215081612114565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b60006121b360378361166b565b91506121be82612157565b604082019050919050565b600060208201905081810360008301526121e2816121a6565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e000000000000000000000000000000000000602082015250565b6000612245602e8361166b565b9150612250826121e9565b604082019050919050565b6000602082019050818103600083015261227481612238565b9050919050565b600061228682611807565b915061229183611807565b92508282039050818111156122a9576122a86117d8565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a2646970667358221220305eabd09a504968137ac5539dead05c9347b2777b97892556acd6bd25b9766a64736f6c634300081100334c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465", - "deployedBytecode": "0x60806040523661000b57005b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c9050809150600082600001600080357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610141576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610138906116c8565b60405180910390fd5b3660008037600080366000845af43d6000803e8060008114610162573d6000f35b3d6000fd5b600061017161046d565b905060008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60005b835181101561042257600084828151811061025f5761025e6116e8565b5b60200260200101516020015190506000600281111561028157610280611717565b5b81600281111561029457610293611717565b5b036102e4576102df8583815181106102af576102ae6116e8565b5b6020026020010151600001518684815181106102ce576102cd6116e8565b5b60200260200101516040015161049a565b61040e565b600160028111156102f8576102f7611717565b5b81600281111561030b5761030a611717565b5b0361035b57610356858381518110610326576103256116e8565b5b602002602001015160000151868481518110610345576103446116e8565b5b602002602001015160400151610711565b61040d565b60028081111561036e5761036d611717565b5b81600281111561038157610380611717565b5b036103d1576103cc85838151811061039c5761039b6116e8565b5b6020026020010151600001518684815181106103bb576103ba6116e8565b5b602002602001015160400151610992565b61040c565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610403906117b8565b60405180910390fd5b5b5b50808061041a90611811565b915050610241565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161045693929190611b7d565b60405180910390a16104688282610b1d565b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60008151116104de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d590611c34565b60405180910390fd5b60006104e861046d565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610559576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055090611cc6565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff16036105c6576105c58285610d2f565b5b60005b835181101561070a5760008482815181106105e7576105e66116e8565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146106db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d290611d58565b60405180910390fd5b6106e78583868a610e0a565b83806106f290611d90565b9450505050808061070290611811565b9150506105c9565b5050505050565b6000815111610755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074c90611c34565b60405180910390fd5b600061075f61046d565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c790611cc6565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff160361083d5761083c8285610d2f565b5b60005b835181101561098b57600084828151811061085e5761085d6116e8565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094890611e36565b60405180910390fd5b61095c858284610fb7565b6109688583868a610e0a565b838061097390611d90565b9450505050808061098390611811565b915050610840565b5050505050565b60008151116109d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cd90611c34565b60405180910390fd5b60006109e061046d565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4890611ec8565b60405180910390fd5b60005b8251811015610b17576000838281518110610a7257610a716116e8565b5b602002602001015190506000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610b02848284610fb7565b50508080610b0f90611811565b915050610a54565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b9a576000815114610b95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8c90611f5a565b60405180910390fd5b610d2b565b6000815111610bde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd590611fec565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610c3457610c33826040518060600160405280602881526020016122df60289139611619565b5b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051610c5c9190612048565b600060405180830381855af49150503d8060008114610c97576040519150601f19603f3d011682016040523d82523d6000602084013e610c9c565b606091505b509150915081610d2857600081511115610ced57806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce491906120a3565b60405180910390fd5b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1f90612137565b60405180910390fd5b50505b5050565b610d518160405180606001604052806024815260200161230760249139611619565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c021790555080846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101d906121c9565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108b9061225b565b60405180910390fd5b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905061116b919061227b565b90508082146112ff5760008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000182815481106111cc576111cb6116e8565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b9050808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018481548110611248576112476116e8565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c021790555082866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550505b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805480611353576113526122af565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff02191690559055846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff02191690555050600081036116125760006001866002018054905061143d919061227b565b905060008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154905081811461157e5760008760020183815481106114a7576114a66116e8565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050808860020183815481106114eb576114ea6116e8565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550505b86600201805480611592576115916122af565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590558660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000905550505b5050505050565b6000823b9050600081118290611665576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165c91906120a3565b60405180910390fd5b50505050565b600082825260208201905092915050565b7f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f74206578697374600082015250565b60006116b260208361166b565b91506116bd8261167c565b602082019050919050565b600060208201905081810360008301526116e1816116a5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b60006117a260278361166b565b91506117ad82611746565b604082019050919050565b600060208201905081810360008301526117d181611795565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b600061181c82611807565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361184e5761184d6117d8565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118b082611885565b9050919050565b6118c0816118a5565b82525050565b600381106118d7576118d6611717565b5b50565b60008190506118e8826118c6565b919050565b60006118f8826118da565b9050919050565b611908816118ed565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61196f8161193a565b82525050565b60006119818383611966565b60208301905092915050565b6000602082019050919050565b60006119a58261190e565b6119af8185611919565b93506119ba8361192a565b8060005b838110156119eb5781516119d28882611975565b97506119dd8361198d565b9250506001810190506119be565b5085935050505092915050565b6000606083016000830151611a1060008601826118b7565b506020830151611a2360208601826118ff565b5060408301518482036040860152611a3b828261199a565b9150508091505092915050565b6000611a5483836119f8565b905092915050565b6000602082019050919050565b6000611a7482611859565b611a7e8185611864565b935083602082028501611a9085611875565b8060005b85811015611acc5784840389528151611aad8582611a48565b9450611ab883611a5c565b925060208a01995050600181019050611a94565b50829750879550505050505092915050565b611ae7816118a5565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b27578082015181840152602081019050611b0c565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b4f82611aed565b611b598185611af8565b9350611b69818560208601611b09565b611b7281611b33565b840191505092915050565b60006060820190508181036000830152611b978186611a69565b9050611ba66020830185611ade565b8181036040830152611bb88184611b44565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b6000611c1e602b8361166b565b9150611c2982611bc2565b604082019050919050565b60006020820190508181036000830152611c4d81611c11565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b6000611cb0602c8361166b565b9150611cbb82611c54565b604082019050919050565b60006020820190508181036000830152611cdf81611ca3565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b6000611d4260358361166b565b9150611d4d82611ce6565b604082019050919050565b60006020820190508181036000830152611d7181611d35565b9050919050565b60006bffffffffffffffffffffffff82169050919050565b6000611d9b82611d78565b91506bffffffffffffffffffffffff8203611db957611db86117d8565b5b600182019050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b6000611e2060388361166b565b9150611e2b82611dc4565b604082019050919050565b60006020820190508181036000830152611e4f81611e13565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b6000611eb260368361166b565b9150611ebd82611e56565b604082019050919050565b60006020820190508181036000830152611ee181611ea5565b9050919050565b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b6000611f44603c8361166b565b9150611f4f82611ee8565b604082019050919050565b60006020820190508181036000830152611f7381611f37565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b6000611fd6603d8361166b565b9150611fe182611f7a565b604082019050919050565b6000602082019050818103600083015261200581611fc9565b9050919050565b600081905092915050565b600061202282611aed565b61202c818561200c565b935061203c818560208601611b09565b80840191505092915050565b60006120548284612017565b915081905092915050565b600081519050919050565b60006120758261205f565b61207f818561166b565b935061208f818560208601611b09565b61209881611b33565b840191505092915050565b600060208201905081810360008301526120bd818461206a565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b600061212160268361166b565b915061212c826120c5565b604082019050919050565b6000602082019050818103600083015261215081612114565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b60006121b360378361166b565b91506121be82612157565b604082019050919050565b600060208201905081810360008301526121e2816121a6565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e000000000000000000000000000000000000602082015250565b6000612245602e8361166b565b9150612250826121e9565b604082019050919050565b6000602082019050818103600083015261227481612238565b9050919050565b600061228682611807565b915061229183611807565b92508282039050818111156122a9576122a86117d8565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a2646970667358221220305eabd09a504968137ac5539dead05c9347b2777b97892556acd6bd25b9766a64736f6c63430008110033", + "bytecode": "0x6080604052604051620076bd380380620076bd833981810160405281019062000029919062003222565b6200004567a7e6b32f9d93319460c01b6200032b60201b60201c565b620000616768f3360c480f308760c01b6200032b60201b60201c565b6200007d67cdf01ba336a2e7bb60c01b6200032b60201b60201c565b62000093826200032e60201b620003581760201c565b620000af67754cde6603f9473d60c01b6200032b60201b60201c565b620000cb67018e4e083eeab8c760c01b6200032b60201b60201c565b6000600167ffffffffffffffff811115620000eb57620000ea62003269565b5b6040519080825280602002602001820160405280156200012857816020015b620001146200316c565b8152602001906001900390816200010a5790505b5090506200014767dc402a1637fb2d5960c01b6200032b60201b60201c565b6200016367996371118cc6c3f760c01b6200032b60201b60201c565b6000600167ffffffffffffffff81111562000183576200018262003269565b5b604051908082528060200260200182016040528015620001b25781602001602082028036833780820191505090505b509050620001d167f99be39acddb239160c01b6200032b60201b60201c565b631f931c1c60e01b81600081518110620001f057620001ef62003298565b5b60200260200101907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815250506200025867e6bc06d236aa92e560c01b6200032b60201b60201c565b60405180606001604052808473ffffffffffffffffffffffffffffffffffffffff16815260200160006002811115620002965762000295620032c7565b5b81526020018281525082600081518110620002b657620002b562003298565b5b6020026020010181905250620002dd6753ea75fc60a9c1e960c01b6200032b60201b60201c565b620002f9678817ef405cc7854460c01b6200032b60201b60201c565b6200032182600060405180602001604052806000815250620004ed60201b620004cf1760201c565b5050505062003f13565b50565b6200034a674f69fffccbea1a6060c01b62000a6560201b60201c565b6200036667254a8afedf49a2bd60c01b62000a6560201b60201c565b620003826764ae761eae80994a60c01b62000a6560201b60201c565b60006200039462000a6860201b60201c565b9050620003b26728cf10db04b3ce6a60c01b62000a6560201b60201c565b620003ce67254c9c1d52a21ebf60c01b62000a6560201b60201c565b60008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506200041367f8cb9d02f213dad260c01b62000a6560201b60201c565b828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200047267320b257c7ea8cea760c01b62000a6560201b60201c565b6200048e67a1ef30c006aa278260c01b62000a6560201b60201c565b8273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b6200050967a19105344d9f01ff60c01b62000a6560201b60201c565b6200052567b64c935a270824d460c01b62000a6560201b60201c565b6200054167472298b363a8ccd460c01b62000a6560201b60201c565b60005b8351811015620009a0576200056a679f2b3e118cce749f60c01b62000a6560201b60201c565b6200058667d896c15712e4c99e60c01b62000a6560201b60201c565b60008482815181106200059e576200059d62003298565b5b6020026020010151602001519050620005c867e9e9e49fe14a781e60c01b62000a6560201b60201c565b620005e467c54028706882e3fd60c01b62000a6560201b60201c565b60006002811115620005fb57620005fa620032c7565b5b816002811115620006115762000610620032c7565b5b03620006c5576200063367f4728512f8de3aa360c01b62000a6560201b60201c565b6200064f6740469cb01cf2faa260c01b62000a6560201b60201c565b6200066b6721754418551a963060c01b62000a6560201b60201c565b620006bf85838151811062000685576200068462003298565b5b602002602001015160000151868481518110620006a757620006a662003298565b5b60200260200101516040015162000b0660201b60201c565b62000989565b620006e167964166c6a112694260c01b62000a6560201b60201c565b620006fd675cddae6a9e8d84f060c01b62000a6560201b60201c565b60016002811115620007145762000713620032c7565b5b8160028111156200072a5762000729620032c7565b5b03620007de576200074c676469914f5066ffc460c01b62000a6560201b60201c565b6200076867cf470716cadf00df60c01b62000a6560201b60201c565b6200078467f4605d17f3b1301c60c01b62000a6560201b60201c565b620007d88583815181106200079e576200079d62003298565b5b602002602001015160000151868481518110620007c057620007bf62003298565b5b6020026020010151604001516200112e60201b60201c565b62000988565b620007fa67e72a92bcd515975b60c01b62000a6560201b60201c565b6200081667b1e174fb1bb1b85360c01b62000a6560201b60201c565b6002808111156200082c576200082b620032c7565b5b816002811115620008425762000841620032c7565b5b03620008f6576200086467db0f598297fb7fbc60c01b62000a6560201b60201c565b62000880671a55e89439142ee060c01b62000a6560201b60201c565b6200089c6711513d20488a52e060c01b62000a6560201b60201c565b620008f0858381518110620008b657620008b562003298565b5b602002602001015160000151868481518110620008d857620008d762003298565b5b602002602001015160400151620017a060201b60201c565b62000987565b6200091267cf3e056f531577e760c01b62000a6560201b60201c565b6200092e671903ab370305c25960c01b62000a6560201b60201c565b6200094a676af2c3acde0bf38760c01b62000a6560201b60201c565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200097e906200337d565b60405180910390fd5b5b5b5080806200099790620033d8565b91505062000544565b50620009bd67dc19ebbaa4095b3160c01b62000a6560201b60201c565b620009d9678571dd875084a3e060c01b62000a6560201b60201c565b7f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405162000a0e9392919062003752565b60405180910390a162000a3267faecfc839f48e07b60c01b62000a6560201b60201c565b62000a4e6792cae661f317b4ce60c01b62000a6560201b60201c565b62000a60828262001b5c60201b60201c565b505050565b50565b600062000a86674f9afbb757d80e6360c01b62000a6560201b60201c565b62000aa2674b823103125da15660c01b62000a6560201b60201c565b62000abe674ab715c231c1608d60c01b62000a6560201b60201c565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905062000aff67982d9bb86701efa860c01b62000a6560201b60201c565b8091505090565b62000b2267cc97399e32da22a560c01b62000a6560201b60201c565b62000b3e67021d8eb4be5452a860c01b62000a6560201b60201c565b62000b5a678748409130ac41fa60c01b62000a6560201b60201c565b62000b7667ccd015372bd45b9c60c01b62000a6560201b60201c565b600081511162000bbd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000bb49062003813565b60405180910390fd5b62000bd967d0bcd87037df4e5a60c01b62000a6560201b60201c565b62000bf56777b6df3c8e2ebf4660c01b62000a6560201b60201c565b62000c116755a810a63d06fcdd60c01b62000a6560201b60201c565b600062000c2362000a6860201b60201c565b905062000c416747e187c4c65f108c60c01b62000a6560201b60201c565b62000c5d670bde1222440aa4dd60c01b62000a6560201b60201c565b62000c7967f7810a880d4fe12d60c01b62000a6560201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000ceb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ce290620038ab565b60405180910390fd5b62000d07676e4814773ca1e6f960c01b62000a6560201b60201c565b62000d2367abb5961c588ff7dc60c01b62000a6560201b60201c565b62000d3f6775b1393f5ceb0a4860c01b62000a6560201b60201c565b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180549050905062000da76779cb28ccf660334260c01b62000a6560201b60201c565b62000dc3671a64ec3fd612cafd60c01b62000a6560201b60201c565b6000816bffffffffffffffffffffffff160362000e465762000df6672a23378c0ae85db760c01b62000a6560201b60201c565b62000e12670288376b7f20f78660c01b62000a6560201b60201c565b62000e2e67d14bbd8396b718cd60c01b62000a6560201b60201c565b62000e4082856200212c60201b60201c565b62000e63565b62000e62675eb466f90a620b0f60c01b62000a6560201b60201c565b5b62000e7f67fcd8a57751c34a1160c01b62000a6560201b60201c565b62000e9b67c014c8ff907100cb60c01b62000a6560201b60201c565b60005b8351811015620011275762000ec4677134da3b2ea217c360c01b62000a6560201b60201c565b62000ee0678ef84b1f8594c55e60c01b62000a6560201b60201c565b600084828151811062000ef85762000ef762003298565b5b6020026020010151905062000f1e67e6627f219f43163560c01b62000a6560201b60201c565b62000f3a672b0989e1ce351d2c60c01b62000a6560201b60201c565b6000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905062000fd1678edc0ee3600e6f7160c01b62000a6560201b60201c565b62000fed67acff68f00aaf198060c01b62000a6560201b60201c565b62001009678e7e9da0f87df0c460c01b62000a6560201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146200107b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620010729062003943565b60405180910390fd5b6200109767de5c2f108b7a76ad60c01b62000a6560201b60201c565b620010b3679df301acb4b4e7b560c01b62000a6560201b60201c565b620010cf67d5dd90cfdfe4af7760c01b62000a6560201b60201c565b620010e38583868a620022b860201b60201c565b620010ff67b77905e3474e693060c01b62000a6560201b60201c565b83806200110c906200397d565b945050505080806200111e90620033d8565b91505062000e9e565b5050505050565b6200114a672faab333134f8f2b60c01b62000a6560201b60201c565b6200116667f1aef7c8a9655d5360c01b62000a6560201b60201c565b6200118267d203ed109c17319660c01b62000a6560201b60201c565b6200119e67f4734d8378f4311060c01b62000a6560201b60201c565b6000815111620011e5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620011dc9062003813565b60405180910390fd5b620012016754602ce0fe5a43bf60c01b62000a6560201b60201c565b6200121d67f46efb4b2c2c709e60c01b62000a6560201b60201c565b6200123967610110a281fa82c760c01b62000a6560201b60201c565b60006200124b62000a6860201b60201c565b90506200126967edc9c99031ecb10d60c01b62000a6560201b60201c565b620012856767fe440300c94a3460c01b62000a6560201b60201c565b620012a16784ec279df893a23160c01b62000a6560201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362001313576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200130a90620038ab565b60405180910390fd5b6200132f678fb1a303062b7c3660c01b62000a6560201b60201c565b6200134b672659fafa49e6fe9a60c01b62000a6560201b60201c565b6200136767151721b3adf3095360c01b62000a6560201b60201c565b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050620013cf6747aaf74cd533212060c01b62000a6560201b60201c565b620013eb6703de6b9bbbb4e65460c01b62000a6560201b60201c565b6000816bffffffffffffffffffffffff16036200146e576200141e677f40383c8703753660c01b62000a6560201b60201c565b6200143a67bee7ffe190c4ad3c60c01b62000a6560201b60201c565b620014566755bd06ec28bd8be360c01b62000a6560201b60201c565b6200146882856200212c60201b60201c565b6200148b565b6200148a67dd6dd2122982fcbd60c01b62000a6560201b60201c565b5b620014a767c00fc6f5b3cfec0760c01b62000a6560201b60201c565b620014c36712c602b6c749bc1660c01b62000a6560201b60201c565b60005b83518110156200179957620014ec67b01c581fb6bf76d460c01b62000a6560201b60201c565b620015086772bf81d7d68cd5cc60c01b62000a6560201b60201c565b600084828151811062001520576200151f62003298565b5b602002602001015190506200154667f378c2c5d2ac591860c01b62000a6560201b60201c565b62001562672abe9487f14424bf60c01b62000a6560201b60201c565b6000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050620015f967c938893e73b6cc8660c01b62000a6560201b60201c565b6200161567b830452a6260fe5860c01b62000a6560201b60201c565b6200163167732490d4bd014f1160c01b62000a6560201b60201c565b8673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620016a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620016999062003a2c565b60405180910390fd5b620016be67307ef01dc603673f60c01b62000a6560201b60201c565b620016da67df9b9ad53f3498bb60c01b62000a6560201b60201c565b620016f667ef74a1c742a2ef4b60c01b62000a6560201b60201c565b62001709858284620024f160201b60201c565b620017256709eba8384d15433760c01b62000a6560201b60201c565b6200174167eb34f0e39cc002be60c01b62000a6560201b60201c565b620017558583868a620022b860201b60201c565b6200177167c8e26e167d4df53e60c01b62000a6560201b60201c565b83806200177e906200397d565b945050505080806200179090620033d8565b915050620014c6565b5050505050565b620017bc67484f249b41b9afdf60c01b62000a6560201b60201c565b620017d8672afee721a436189e60c01b62000a6560201b60201c565b620017f46790c0f4303981d53860c01b62000a6560201b60201c565b6200181067b69809b50e9b29b160c01b62000a6560201b60201c565b600081511162001857576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200184e9062003813565b60405180910390fd5b620018736703449e0de1d16e1460c01b62000a6560201b60201c565b6200188f67043931a3bf63a76460c01b62000a6560201b60201c565b620018ab6783eac4de134a189760c01b62000a6560201b60201c565b6000620018bd62000a6860201b60201c565b9050620018db676fa9503e3a33edf160c01b62000a6560201b60201c565b620018f767565ff8422e73f48260c01b62000a6560201b60201c565b6200191367a43a53c1c8fdb01860c01b62000a6560201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462001985576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200197c9062003ac4565b60405180910390fd5b620019a167a83ec82cf318ce9960c01b62000a6560201b60201c565b620019bd6729de67dbee8a781960c01b62000a6560201b60201c565b620019d96778ae44bab32ab16d60c01b62000a6560201b60201c565b60005b825181101562001b565762001a0267c86ec2c930ebf39060c01b62000a6560201b60201c565b62001a1e67bb2f8bac9067d0d960c01b62000a6560201b60201c565b600083828151811062001a365762001a3562003298565b5b6020026020010151905062001a5c67afdb7f7eafa2419160c01b62000a6560201b60201c565b62001a7867336a3f69f07dbd0a60c01b62000a6560201b60201c565b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905062001b0f67a9a5f6b739625a6060c01b62000a6560201b60201c565b62001b2b67fd046ea59cd94d2a60c01b62000a6560201b60201c565b62001b3e848284620024f160201b60201c565b5050808062001b4d90620033d8565b915050620019dc565b50505050565b62001b7867029e1a56337e048460c01b62000a6560201b60201c565b62001b9467165337675d3a848660c01b62000a6560201b60201c565b62001bb0674613682e59aed10a60c01b62000a6560201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362001cbe5762001c016788e41d767c30804a60c01b62000a6560201b60201c565b62001c1d67509782c75193bd1560c01b62000a6560201b60201c565b62001c39677c55baba9bedefc760c01b62000a6560201b60201c565b62001c556779b630e4a1a501b160c01b62000a6560201b60201c565b600081511462001c9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162001c939062003b5c565b60405180910390fd5b62001cb8671cf5cba47462738c60c01b62000a6560201b60201c565b62002128565b62001cda67d87fba57f9fd56d260c01b62000a6560201b60201c565b62001cf66785ecbfea545b551c60c01b62000a6560201b60201c565b62001d12675a99520875f542d360c01b62000a6560201b60201c565b62001d2e677335d4909eb3f6ed60c01b62000a6560201b60201c565b600081511162001d75576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162001d6c9062003bf4565b60405180910390fd5b62001d9167e2308116fde49ef660c01b62000a6560201b60201c565b62001dad67e68a1e15bfb15c1560c01b62000a6560201b60201c565b62001dc967e2f9c57761f027da60c01b62000a6560201b60201c565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462001e825762001e19677e43db5cf3dda55a60c01b62000a6560201b60201c565b62001e3567f9079825f16296d860c01b62000a6560201b60201c565b62001e516722169a84f6e6288860c01b62000a6560201b60201c565b62001e7c8260405180606001604052806028815260200162007671602891396200303760201b60201c565b62001e9f565b62001e9e6756028f6713aeb61660c01b62000a6560201b60201c565b5b62001ebb678b5d37b494e8790c60c01b62000a6560201b60201c565b62001ed76732f3ff1c4d01de4c60c01b62000a6560201b60201c565b6000808373ffffffffffffffffffffffffffffffffffffffff168360405162001f01919062003c58565b600060405180830381855af49150503d806000811462001f3e576040519150601f19603f3d011682016040523d82523d6000602084013e62001f43565b606091505b509150915062001f6467cb519b28cdf2316460c01b62000a6560201b60201c565b62001f8067d3126d202060687460c01b62000a6560201b60201c565b81620021095762001fa26713957e4282cdd48760c01b62000a6560201b60201c565b62001fbe676bcab06e51e2612c60c01b62000a6560201b60201c565b62001fda67d3bfca2e5aa4d84960c01b62000a6560201b60201c565b600081511115620020785762002001673aa967c1a865c9c260c01b62000a6560201b60201c565b6200201d67f27acd53282addda60c01b62000a6560201b60201c565b620020396780ab759cddda78d060c01b62000a6560201b60201c565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200206f919062003cbd565b60405180910390fd5b6200209467a434d1c24e3903bc60c01b62000a6560201b60201c565b620020b067d32e3505412c44c560c01b62000a6560201b60201c565b620020cc677d8323cb74d7c2d860c01b62000a6560201b60201c565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620021009062003d57565b60405180910390fd5b6200212567bc6651a6d16ea71460c01b62000a6560201b60201c565b50505b5050565b620021486745cff900de072b7660c01b62000a6560201b60201c565b6200216467ac3e31ef1ea5c74960c01b62000a6560201b60201c565b62002180673364688f11db6d0d60c01b62000a6560201b60201c565b620021ab8160405180606001604052806024815260200162007699602491396200303760201b60201c565b620021c767b9f39a1cc8adecc260c01b62000a6560201b60201c565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550620022336718823160317e019160c01b62000a6560201b60201c565b6200224f676ae1118a96d2a90560c01b62000a6560201b60201c565b81600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b620022d467a2899c53551cdd3760c01b62000a6560201b60201c565b620022f0678197d74e06e4145f60c01b62000a6560201b60201c565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555062002391677d99602b18ea589060c01b62000a6560201b60201c565b620023ad67351b6ed487ae748960c01b62000a6560201b60201c565b8360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c02179055506200245667c24c5f99c230f00760c01b62000a6560201b60201c565b80846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b6200250d6787c03a3a3424540460c01b62000a6560201b60201c565b62002529672e3806f37bc3a9d460c01b62000a6560201b60201c565b62002545678d411e0bbad3542c60c01b62000a6560201b60201c565b620025616726e5377f8db7750360c01b62000a6560201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620025d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620025ca9062003def565b60405180910390fd5b620025ef67ebcad92e55ad094460c01b62000a6560201b60201c565b6200260b6751364413e637bba560c01b62000a6560201b60201c565b620026276792673f376289e6e260c01b62000a6560201b60201c565b6200264367f72487d3a8cf4ac460c01b62000a6560201b60201c565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620026b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620026ab9062003e87565b60405180910390fd5b620026d067a4c3c236bcab394860c01b62000a6560201b60201c565b620026ec677e1962b66805ad7060c01b62000a6560201b60201c565b62002708670d999328d8a5d9c360c01b62000a6560201b60201c565b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050620027a567d10337e1e2ecfc3960c01b62000a6560201b60201c565b620027c1677b893f30fdd7ad7060c01b62000a6560201b60201c565b600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905062002819919062003ea9565b90506200283767bb5bf925ceece87660c01b62000a6560201b60201c565b62002853676df862371a13aaa560c01b62000a6560201b60201c565b80821462002a7d576200287767156a8665fdd7526f60c01b62000a6560201b60201c565b62002893673cefa8bc28e7d12860c01b62000a6560201b60201c565b620028af67bdc380bd85401db960c01b62000a6560201b60201c565b60008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000182815481106200290a576200290962003298565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b90506200294b671de77bf8f010eaec60c01b62000a6560201b60201c565b808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018481548110620029a557620029a462003298565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c0217905550620029f1673af62f9c8f759fb160c01b62000a6560201b60201c565b82866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055505062002a9a565b62002a99671d9b423266d067f060c01b62000a6560201b60201c565b5b62002ab667018034db5579529460c01b62000a6560201b60201c565b62002ad267a1c9b3117b7c6ab660c01b62000a6560201b60201c565b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548062002b295762002b2862003ee4565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff0219169055905562002b7567559997c386b3648460c01b62000a6560201b60201c565b846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff0219169055505062002c2d6760a723ea0e7e1d4860c01b62000a6560201b60201c565b62002c4967ff433d7c2e2ac4be60c01b62000a6560201b60201c565b60008103620030135762002c6e6762db4abf7f19cb2060c01b62000a6560201b60201c565b62002c8a67efe6f413d09d1ebd60c01b62000a6560201b60201c565b62002ca667ec471a641a3edf7960c01b62000a6560201b60201c565b60006001866002018054905062002cbe919062003ea9565b905062002cdb6622a131c51aff2c60c01b62000a6560201b60201c565b62002cf767919cfbc3e76423a760c01b62000a6560201b60201c565b60008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154905062002d5c674e9eba62f8a28b9860c01b62000a6560201b60201c565b62002d786799c973d204243fa060c01b62000a6560201b60201c565b81811462002f065762002d9c673c79f4e3584d9a5960c01b62000a6560201b60201c565b62002db867990168f15e45b6b860c01b62000a6560201b60201c565b62002dd4678582ef208a32dc4260c01b62000a6560201b60201c565b600087600201838154811062002def5762002dee62003298565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905062002e38671085af932ae9ef7260c01b62000a6560201b60201c565b8088600201838154811062002e525762002e5162003298565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062002eb667ad58108eb86eb21760c01b62000a6560201b60201c565b818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505062002f23565b62002f2267804be83a13f0191a60c01b62000a6560201b60201c565b5b62002f3f67b1f28e33128b33c960c01b62000a6560201b60201c565b62002f5b67c4cd68f75da79ff060c01b62000a6560201b60201c565b8660020180548062002f725762002f7162003ee4565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905562002fc367a379df54f7bb9fb460c01b62000a6560201b60201c565b8660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009055505062003030565b6200302f671627b1de00b56a1b60c01b62000a6560201b60201c565b5b5050505050565b6200305367f91685f166b890e160c01b62000a6560201b60201c565b6200306f672a44665c1fa886a160c01b62000a6560201b60201c565b6200308b6756e8a556d62b0f5e60c01b62000a6560201b60201c565b6000620030a967996ed809f12ff03160c01b62000a6560201b60201c565b823b9050620030c96709c9d04de4f50a1e60c01b62000a6560201b60201c565b620030e567b71747c1488d4acd60c01b62000a6560201b60201c565b6200310167f052a96327eb0abf60c01b62000a6560201b60201c565b6000811182906200314a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162003141919062003cbd565b60405180910390fd5b506200316767b956b25dc409113860c01b62000a6560201b60201c565b505050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160006002811115620031ab57620031aa620032c7565b5b8152602001606081525090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620031ea82620031bd565b9050919050565b620031fc81620031dd565b81146200320857600080fd5b50565b6000815190506200321c81620031f1565b92915050565b600080604083850312156200323c576200323b620031b8565b5b60006200324c858286016200320b565b92505060206200325f858286016200320b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600082825260208201905092915050565b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b600062003365602783620032f6565b9150620033728262003307565b604082019050919050565b60006020820190508181036000830152620033988162003356565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000620033e582620033ce565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036200341a57620034196200339f565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6200345c81620031dd565b82525050565b60038110620034765762003475620032c7565b5b50565b6000819050620034898262003462565b919050565b60006200349b8262003479565b9050919050565b620034ad816200348e565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6200351681620034df565b82525050565b60006200352a83836200350b565b60208301905092915050565b6000602082019050919050565b60006200355082620034b3565b6200355c8185620034be565b93506200356983620034cf565b8060005b83811015620035a05781516200358488826200351c565b9750620035918362003536565b9250506001810190506200356d565b5085935050505092915050565b6000606083016000830151620035c7600086018262003451565b506020830151620035dc6020860182620034a2565b5060408301518482036040860152620035f6828262003543565b9150508091505092915050565b6000620036118383620035ad565b905092915050565b6000602082019050919050565b6000620036338262003425565b6200363f818562003430565b935083602082028501620036538562003441565b8060005b8581101562003695578484038952815162003673858262003603565b9450620036808362003619565b925060208a0199505060018101905062003657565b50829750879550505050505092915050565b620036b281620031dd565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015620036f4578082015181840152602081019050620036d7565b60008484015250505050565b6000601f19601f8301169050919050565b60006200371e82620036b8565b6200372a8185620036c3565b93506200373c818560208601620036d4565b620037478162003700565b840191505092915050565b600060608201905081810360008301526200376e818662003626565b90506200377f6020830185620036a7565b818103604083015262003793818462003711565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b6000620037fb602b83620032f6565b915062003808826200379d565b604082019050919050565b600060208201905081810360008301526200382e81620037ec565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b600062003893602c83620032f6565b9150620038a08262003835565b604082019050919050565b60006020820190508181036000830152620038c68162003884565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b60006200392b603583620032f6565b91506200393882620038cd565b604082019050919050565b600060208201905081810360008301526200395e816200391c565b9050919050565b60006bffffffffffffffffffffffff82169050919050565b60006200398a8262003965565b91506bffffffffffffffffffffffff8203620039ab57620039aa6200339f565b5b600182019050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b600062003a14603883620032f6565b915062003a2182620039b6565b604082019050919050565b6000602082019050818103600083015262003a478162003a05565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b600062003aac603683620032f6565b915062003ab98262003a4e565b604082019050919050565b6000602082019050818103600083015262003adf8162003a9d565b9050919050565b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b600062003b44603c83620032f6565b915062003b518262003ae6565b604082019050919050565b6000602082019050818103600083015262003b778162003b35565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b600062003bdc603d83620032f6565b915062003be98262003b7e565b604082019050919050565b6000602082019050818103600083015262003c0f8162003bcd565b9050919050565b600081905092915050565b600062003c2e82620036b8565b62003c3a818562003c16565b935062003c4c818560208601620036d4565b80840191505092915050565b600062003c66828462003c21565b915081905092915050565b600081519050919050565b600062003c898262003c71565b62003c958185620032f6565b935062003ca7818560208601620036d4565b62003cb28162003700565b840191505092915050565b6000602082019050818103600083015262003cd9818462003c7c565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b600062003d3f602683620032f6565b915062003d4c8262003ce1565b604082019050919050565b6000602082019050818103600083015262003d728162003d30565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b600062003dd7603783620032f6565b915062003de48262003d79565b604082019050919050565b6000602082019050818103600083015262003e0a8162003dc8565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e000000000000000000000000000000000000602082015250565b600062003e6f602e83620032f6565b915062003e7c8262003e11565b604082019050919050565b6000602082019050818103600083015262003ea28162003e60565b9050919050565b600062003eb682620033ce565b915062003ec383620033ce565b925082820390508181111562003ede5762003edd6200339f565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b61374e8062003f236000396000f3fe6080604052600436106100385760003560e01c806353a845b5146102a0578063926cd86d146102dd578063e8fa136a146103065761003f565b3661003f57005b6100536711f9a5eb36163b8960c01b610343565b61006767dbe2beb916fa8a5b60c01b610343565b61007b6790d1a3cb3ba44ee360c01b610343565b6000610091674da9ab19ea0baaeb60c01b610343565b6100a567979b87787adfcc6f60c01b610343565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90506100de67c7c975d955274fd260c01b610343565b8091506100f567bcae6db60f573e9a60c01b610343565b61010967ca1671d26216c11160c01b610343565b600082600001600080357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506101bb6792d906f4ab70537060c01b610343565b6101cf675faf97112e5c11e260c01b610343565b6101e367f10e8643be83266d60c01b610343565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610252576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610249906129f6565b60405180910390fd5b61026667e8144acc2819f60560c01b610343565b61027a6767619bab0f74d44660c01b610343565b3660008037600080366000845af43d6000803e806000811461029b573d6000f35b3d6000fd5b3480156102ac57600080fd5b506102c760048036038101906102c29190612a73565b610346565b6040516102d49190612abb565b60405180910390f35b3480156102e957600080fd5b5061030460048036038101906102ff9190612a73565b610343565b005b34801561031257600080fd5b5061032d60048036038101906103289190612a73565b610351565b60405161033a9190612abb565b60405180910390f35b50565b600060019050919050565b6000919050565b61036c674f69fffccbea1a6060c01b61091a565b61038067254a8afedf49a2bd60c01b61091a565b6103946764ae761eae80994a60c01b61091a565b600061039e61091d565b90506103b46728cf10db04b3ce6a60c01b61091a565b6103c867254c9c1d52a21ebf60c01b61091a565b60008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061040567f8cb9d02f213dad260c01b61091a565b828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061045c67320b257c7ea8cea760c01b61091a565b61047067a1ef30c006aa278260c01b61091a565b8273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b6104e367a19105344d9f01ff60c01b61091a565b6104f767b64c935a270824d460c01b61091a565b61050b67472298b363a8ccd460c01b61091a565b60005b835181101561087f5761052b679f2b3e118cce749f60c01b61091a565b61053f67d896c15712e4c99e60c01b61091a565b600084828151811061055457610553612ad6565b5b602002602001015160200151905061057667e9e9e49fe14a781e60c01b61091a565b61058a67c54028706882e3fd60c01b61091a565b6000600281111561059e5761059d612b05565b5b8160028111156105b1576105b0612b05565b5b0361063d576105ca67f4728512f8de3aa360c01b61091a565b6105de6740469cb01cf2faa260c01b61091a565b6105f26721754418551a963060c01b61091a565b61063885838151811061060857610607612ad6565b5b60200260200101516000015186848151811061062757610626612ad6565b5b60200260200101516040015161099b565b61086b565b61065167964166c6a112694260c01b61091a565b610665675cddae6a9e8d84f060c01b61091a565b6001600281111561067957610678612b05565b5b81600281111561068c5761068b612b05565b5b03610718576106a5676469914f5066ffc460c01b61091a565b6106b967cf470716cadf00df60c01b61091a565b6106cd67f4605d17f3b1301c60c01b61091a565b6107138583815181106106e3576106e2612ad6565b5b60200260200101516000015186848151811061070257610701612ad6565b5b602002602001015160400151610e97565b61086a565b61072c67e72a92bcd515975b60c01b61091a565b61074067b1e174fb1bb1b85360c01b61091a565b60028081111561075357610752612b05565b5b81600281111561076657610765612b05565b5b036107f25761077f67db0f598297fb7fbc60c01b61091a565b610793671a55e89439142ee060c01b61091a565b6107a76711513d20488a52e060c01b61091a565b6107ed8583815181106107bd576107bc612ad6565b5b6020026020010151600001518684815181106107dc576107db612ad6565b5b6020026020010151604001516113c5565b610869565b61080667cf3e056f531577e760c01b61091a565b61081a671903ab370305c25960c01b61091a565b61082e676af2c3acde0bf38760c01b61091a565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086090612ba6565b60405180910390fd5b5b5b50808061087790612bff565b91505061050e565b5061089467dc19ebbaa4095b3160c01b61091a565b6108a8678571dd875084a3e060c01b61091a565b7f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738383836040516108db93929190612f6b565b60405180910390a16108f767faecfc839f48e07b60c01b61091a565b61090b6792cae661f317b4ce60c01b61091a565b61091582826116cc565b505050565b50565b6000610933674f9afbb757d80e6360c01b61091a565b610947674b823103125da15660c01b61091a565b61095b674ab715c231c1608d60c01b61091a565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061099467982d9bb86701efa860c01b61091a565b8091505090565b6109af67cc97399e32da22a560c01b61091a565b6109c367021d8eb4be5452a860c01b61091a565b6109d7678748409130ac41fa60c01b61091a565b6109eb67ccd015372bd45b9c60c01b61091a565b6000815111610a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2690613022565b60405180910390fd5b610a4367d0bcd87037df4e5a60c01b61091a565b610a576777b6df3c8e2ebf4660c01b61091a565b610a6b6755a810a63d06fcdd60c01b61091a565b6000610a7561091d565b9050610a8b6747e187c4c65f108c60c01b61091a565b610a9f670bde1222440aa4dd60c01b61091a565b610ab367f7810a880d4fe12d60c01b61091a565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b19906130b4565b60405180910390fd5b610b36676e4814773ca1e6f960c01b61091a565b610b4a67abb5961c588ff7dc60c01b61091a565b610b5e6775b1393f5ceb0a4860c01b61091a565b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050610bbe6779cb28ccf660334260c01b61091a565b610bd2671a64ec3fd612cafd60c01b61091a565b6000816bffffffffffffffffffffffff1603610c3357610bfc672a23378c0ae85db760c01b61091a565b610c10670288376b7f20f78660c01b61091a565b610c2467d14bbd8396b718cd60c01b61091a565b610c2e8285611b77565b610c48565b610c47675eb466f90a620b0f60c01b61091a565b5b610c5c67fcd8a57751c34a1160c01b61091a565b610c7067c014c8ff907100cb60c01b61091a565b60005b8351811015610e9057610c90677134da3b2ea217c360c01b61091a565b610ca4678ef84b1f8594c55e60c01b61091a565b6000848281518110610cb957610cb8612ad6565b5b60200260200101519050610cd767e6627f219f43163560c01b61091a565b610ceb672b0989e1ce351d2c60c01b61091a565b6000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610d7a678edc0ee3600e6f7160c01b61091a565b610d8e67acff68f00aaf198060c01b61091a565b610da2678e7e9da0f87df0c460c01b61091a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610e11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0890613146565b60405180910390fd5b610e2567de5c2f108b7a76ad60c01b61091a565b610e39679df301acb4b4e7b560c01b61091a565b610e4d67d5dd90cfdfe4af7760c01b61091a565b610e598583868a611cca565b610e6d67b77905e3474e693060c01b61091a565b8380610e789061317e565b94505050508080610e8890612bff565b915050610c73565b5050505050565b610eab672faab333134f8f2b60c01b61091a565b610ebf67f1aef7c8a9655d5360c01b61091a565b610ed367d203ed109c17319660c01b61091a565b610ee767f4734d8378f4311060c01b61091a565b6000815111610f2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2290613022565b60405180910390fd5b610f3f6754602ce0fe5a43bf60c01b61091a565b610f5367f46efb4b2c2c709e60c01b61091a565b610f6767610110a281fa82c760c01b61091a565b6000610f7161091d565b9050610f8767edc9c99031ecb10d60c01b61091a565b610f9b6767fe440300c94a3460c01b61091a565b610faf6784ec279df893a23160c01b61091a565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361101e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611015906130b4565b60405180910390fd5b611032678fb1a303062b7c3660c01b61091a565b611046672659fafa49e6fe9a60c01b61091a565b61105a67151721b3adf3095360c01b61091a565b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506110ba6747aaf74cd533212060c01b61091a565b6110ce6703de6b9bbbb4e65460c01b61091a565b6000816bffffffffffffffffffffffff160361112f576110f8677f40383c8703753660c01b61091a565b61110c67bee7ffe190c4ad3c60c01b61091a565b6111206755bd06ec28bd8be360c01b61091a565b61112a8285611b77565b611144565b61114367dd6dd2122982fcbd60c01b61091a565b5b61115867c00fc6f5b3cfec0760c01b61091a565b61116c6712c602b6c749bc1660c01b61091a565b60005b83518110156113be5761118c67b01c581fb6bf76d460c01b61091a565b6111a06772bf81d7d68cd5cc60c01b61091a565b60008482815181106111b5576111b4612ad6565b5b602002602001015190506111d367f378c2c5d2ac591860c01b61091a565b6111e7672abe9487f14424bf60c01b61091a565b6000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061127667c938893e73b6cc8660c01b61091a565b61128a67b830452a6260fe5860c01b61091a565b61129e67732490d4bd014f1160c01b61091a565b8673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361130c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130390613224565b60405180910390fd5b61132067307ef01dc603673f60c01b61091a565b61133467df9b9ad53f3498bb60c01b61091a565b61134867ef74a1c742a2ef4b60c01b61091a565b611353858284611edb565b6113676709eba8384d15433760c01b61091a565b61137b67eb34f0e39cc002be60c01b61091a565b6113878583868a611cca565b61139b67c8e26e167d4df53e60c01b61091a565b83806113a69061317e565b945050505080806113b690612bff565b91505061116f565b5050505050565b6113d967484f249b41b9afdf60c01b61091a565b6113ed672afee721a436189e60c01b61091a565b6114016790c0f4303981d53860c01b61091a565b61141567b69809b50e9b29b160c01b61091a565b6000815111611459576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145090613022565b60405180910390fd5b61146d6703449e0de1d16e1460c01b61091a565b61148167043931a3bf63a76460c01b61091a565b6114956783eac4de134a189760c01b61091a565b600061149f61091d565b90506114b5676fa9503e3a33edf160c01b61091a565b6114c967565ff8422e73f48260c01b61091a565b6114dd67a43a53c1c8fdb01860c01b61091a565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461154c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611543906132b6565b60405180910390fd5b61156067a83ec82cf318ce9960c01b61091a565b6115746729de67dbee8a781960c01b61091a565b6115886778ae44bab32ab16d60c01b61091a565b60005b82518110156116c6576115a867c86ec2c930ebf39060c01b61091a565b6115bc67bb2f8bac9067d0d960c01b61091a565b60008382815181106115d1576115d0612ad6565b5b602002602001015190506115ef67afdb7f7eafa2419160c01b61091a565b61160367336a3f69f07dbd0a60c01b61091a565b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061169267a9a5f6b739625a6060c01b61091a565b6116a667fd046ea59cd94d2a60c01b61091a565b6116b1848284611edb565b505080806116be90612bff565b91505061158b565b50505050565b6116e067029e1a56337e048460c01b61091a565b6116f467165337675d3a848660c01b61091a565b611708674613682e59aed10a60c01b61091a565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117e9576117506788e41d767c30804a60c01b61091a565b61176467509782c75193bd1560c01b61091a565b611778677c55baba9bedefc760c01b61091a565b61178c6779b630e4a1a501b160c01b61091a565b60008151146117d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c790613348565b60405180910390fd5b6117e4671cf5cba47462738c60c01b61091a565b611b73565b6117fd67d87fba57f9fd56d260c01b61091a565b6118116785ecbfea545b551c60c01b61091a565b611825675a99520875f542d360c01b61091a565b611839677335d4909eb3f6ed60c01b61091a565b600081511161187d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611874906133da565b60405180910390fd5b61189167e2308116fde49ef660c01b61091a565b6118a567e68a1e15bfb15c1560c01b61091a565b6118b967e2f9c57761f027da60c01b61091a565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461194f57611900677e43db5cf3dda55a60c01b61091a565b61191467f9079825f16296d860c01b61091a565b6119286722169a84f6e6288860c01b61091a565b61194a826040518060600160405280602881526020016136cd602891396128a7565b611964565b6119636756028f6713aeb61660c01b61091a565b5b611978678b5d37b494e8790c60c01b61091a565b61198c6732f3ff1c4d01de4c60c01b61091a565b6000808373ffffffffffffffffffffffffffffffffffffffff16836040516119b49190613436565b600060405180830381855af49150503d80600081146119ef576040519150601f19603f3d011682016040523d82523d6000602084013e6119f4565b606091505b5091509150611a0d67cb519b28cdf2316460c01b61091a565b611a2167d3126d202060687460c01b61091a565b81611b5c57611a3a6713957e4282cdd48760c01b61091a565b611a4e676bcab06e51e2612c60c01b61091a565b611a6267d3bfca2e5aa4d84960c01b61091a565b600081511115611ae557611a80673aa967c1a865c9c260c01b61091a565b611a9467f27acd53282addda60c01b61091a565b611aa86780ab759cddda78d060c01b61091a565b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adc9190613491565b60405180910390fd5b611af967a434d1c24e3903bc60c01b61091a565b611b0d67d32e3505412c44c560c01b61091a565b611b21677d8323cb74d7c2d860c01b61091a565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5390613525565b60405180910390fd5b611b7067bc6651a6d16ea71460c01b61091a565b50505b5050565b611b8b6745cff900de072b7660c01b61091a565b611b9f67ac3e31ef1ea5c74960c01b61091a565b611bb3673364688f11db6d0d60c01b61091a565b611bd5816040518060600160405280602481526020016136f5602491396128a7565b611be967b9f39a1cc8adecc260c01b61091a565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550611c4d6718823160317e019160c01b61091a565b611c61676ae1118a96d2a90560c01b61091a565b81600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b611cde67a2899c53551cdd3760c01b61091a565b611cf2678197d74e06e4145f60c01b61091a565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550611d8b677d99602b18ea589060c01b61091a565b611d9f67351b6ed487ae748960c01b61091a565b8360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c0217905550611e4067c24c5f99c230f00760c01b61091a565b80846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b611eef6787c03a3a3424540460c01b61091a565b611f03672e3806f37bc3a9d460c01b61091a565b611f17678d411e0bbad3542c60c01b61091a565b611f2b6726e5377f8db7750360c01b61091a565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f91906135b7565b60405180910390fd5b611fae67ebcad92e55ad094460c01b61091a565b611fc26751364413e637bba560c01b61091a565b611fd66792673f376289e6e260c01b61091a565b611fea67f72487d3a8cf4ac460c01b61091a565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204f90613649565b60405180910390fd5b61206c67a4c3c236bcab394860c01b61091a565b612080677e1962b66805ad7060c01b61091a565b612094670d999328d8a5d9c360c01b61091a565b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16905061212967d10337e1e2ecfc3960c01b61091a565b61213d677b893f30fdd7ad7060c01b61091a565b600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490506121939190613669565b90506121a967bb5bf925ceece87660c01b61091a565b6121bd676df862371a13aaa560c01b61091a565b8082146123b7576121d867156a8665fdd7526f60c01b61091a565b6121ec673cefa8bc28e7d12860c01b61091a565b61220067bdc380bd85401db960c01b61091a565b60008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001828154811061225857612257612ad6565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b9050612291671de77bf8f010eaec60c01b61091a565b808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000184815481106122e8576122e7612ad6565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c021790555061232c673af62f9c8f759fb160c01b61091a565b82866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550506123cc565b6123cb671d9b423266d067f060c01b61091a565b5b6123e067018034db5579529460c01b61091a565b6123f467a1c9b3117b7c6ab660c01b61091a565b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054806124485761244761369d565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff0219169055905561248c67559997c386b3648460c01b61091a565b846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff0219169055505061253c6760a723ea0e7e1d4860c01b61091a565b61255067ff433d7c2e2ac4be60c01b61091a565b6000810361288b5761256c6762db4abf7f19cb2060c01b61091a565b61258067efe6f413d09d1ebd60c01b61091a565b61259467ec471a641a3edf7960c01b61091a565b6000600186600201805490506125aa9190613669565b90506125bf6622a131c51aff2c60c01b61091a565b6125d367919cfbc3e76423a760c01b61091a565b60008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050612630674e9eba62f8a28b9860c01b61091a565b6126446799c973d204243fa060c01b61091a565b8181146127a25761265f673c79f4e3584d9a5960c01b61091a565b61267367990168f15e45b6b860c01b61091a565b612687678582ef208a32dc4260c01b61091a565b600087600201838154811061269f5761269e612ad6565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506126e0671085af932ae9ef7260c01b61091a565b808860020183815481106126f7576126f6612ad6565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061275367ad58108eb86eb21760c01b61091a565b818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550506127b7565b6127b667804be83a13f0191a60c01b61091a565b5b6127cb67b1f28e33128b33c960c01b61091a565b6127df67c4cd68f75da79ff060c01b61091a565b866002018054806127f3576127f261369d565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561283c67a379df54f7bb9fb460c01b61091a565b8660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000905550506128a0565b61289f671627b1de00b56a1b60c01b61091a565b5b5050505050565b6128bb67f91685f166b890e160c01b61091a565b6128cf672a44665c1fa886a160c01b61091a565b6128e36756e8a556d62b0f5e60c01b61091a565b60006128f967996ed809f12ff03160c01b61091a565b823b90506129116709c9d04de4f50a1e60c01b61091a565b61292567b71747c1488d4acd60c01b61091a565b61293967f052a96327eb0abf60c01b61091a565b60008111829061297f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129769190613491565b60405180910390fd5b5061299467b956b25dc409113860c01b61091a565b505050565b600082825260208201905092915050565b7f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f74206578697374600082015250565b60006129e0602083612999565b91506129eb826129aa565b602082019050919050565b60006020820190508181036000830152612a0f816129d3565b9050919050565b600080fd5b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b612a5081612a1b565b8114612a5b57600080fd5b50565b600081359050612a6d81612a47565b92915050565b600060208284031215612a8957612a88612a16565b5b6000612a9784828501612a5e565b91505092915050565b60008115159050919050565b612ab581612aa0565b82525050565b6000602082019050612ad06000830184612aac565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b6000612b90602783612999565b9150612b9b82612b34565b604082019050919050565b60006020820190508181036000830152612bbf81612b83565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000612c0a82612bf5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c3c57612c3b612bc6565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c9e82612c73565b9050919050565b612cae81612c93565b82525050565b60038110612cc557612cc4612b05565b5b50565b6000819050612cd682612cb4565b919050565b6000612ce682612cc8565b9050919050565b612cf681612cdb565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612d5d81612d28565b82525050565b6000612d6f8383612d54565b60208301905092915050565b6000602082019050919050565b6000612d9382612cfc565b612d9d8185612d07565b9350612da883612d18565b8060005b83811015612dd9578151612dc08882612d63565b9750612dcb83612d7b565b925050600181019050612dac565b5085935050505092915050565b6000606083016000830151612dfe6000860182612ca5565b506020830151612e116020860182612ced565b5060408301518482036040860152612e298282612d88565b9150508091505092915050565b6000612e428383612de6565b905092915050565b6000602082019050919050565b6000612e6282612c47565b612e6c8185612c52565b935083602082028501612e7e85612c63565b8060005b85811015612eba5784840389528151612e9b8582612e36565b9450612ea683612e4a565b925060208a01995050600181019050612e82565b50829750879550505050505092915050565b612ed581612c93565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f15578082015181840152602081019050612efa565b60008484015250505050565b6000601f19601f8301169050919050565b6000612f3d82612edb565b612f478185612ee6565b9350612f57818560208601612ef7565b612f6081612f21565b840191505092915050565b60006060820190508181036000830152612f858186612e57565b9050612f946020830185612ecc565b8181036040830152612fa68184612f32565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b600061300c602b83612999565b915061301782612fb0565b604082019050919050565b6000602082019050818103600083015261303b81612fff565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b600061309e602c83612999565b91506130a982613042565b604082019050919050565b600060208201905081810360008301526130cd81613091565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b6000613130603583612999565b915061313b826130d4565b604082019050919050565b6000602082019050818103600083015261315f81613123565b9050919050565b60006bffffffffffffffffffffffff82169050919050565b600061318982613166565b91506bffffffffffffffffffffffff82036131a7576131a6612bc6565b5b600182019050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b600061320e603883612999565b9150613219826131b2565b604082019050919050565b6000602082019050818103600083015261323d81613201565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b60006132a0603683612999565b91506132ab82613244565b604082019050919050565b600060208201905081810360008301526132cf81613293565b9050919050565b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b6000613332603c83612999565b915061333d826132d6565b604082019050919050565b6000602082019050818103600083015261336181613325565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b60006133c4603d83612999565b91506133cf82613368565b604082019050919050565b600060208201905081810360008301526133f3816133b7565b9050919050565b600081905092915050565b600061341082612edb565b61341a81856133fa565b935061342a818560208601612ef7565b80840191505092915050565b60006134428284613405565b915081905092915050565b600081519050919050565b60006134638261344d565b61346d8185612999565b935061347d818560208601612ef7565b61348681612f21565b840191505092915050565b600060208201905081810360008301526134ab8184613458565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b600061350f602683612999565b915061351a826134b3565b604082019050919050565b6000602082019050818103600083015261353e81613502565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b60006135a1603783612999565b91506135ac82613545565b604082019050919050565b600060208201905081810360008301526135d081613594565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e000000000000000000000000000000000000602082015250565b6000613633602e83612999565b915061363e826135d7565b604082019050919050565b6000602082019050818103600083015261366281613626565b9050919050565b600061367482612bf5565b915061367f83612bf5565b925082820390508181111561369757613696612bc6565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a2646970667358221220ce25dd26737419727baaf3296d0861642400fd173299e708e7384026daae708164736f6c634300081100334c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465", + "deployedBytecode": "0x6080604052600436106100385760003560e01c806353a845b5146102a0578063926cd86d146102dd578063e8fa136a146103065761003f565b3661003f57005b6100536711f9a5eb36163b8960c01b610343565b61006767dbe2beb916fa8a5b60c01b610343565b61007b6790d1a3cb3ba44ee360c01b610343565b6000610091674da9ab19ea0baaeb60c01b610343565b6100a567979b87787adfcc6f60c01b610343565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90506100de67c7c975d955274fd260c01b610343565b8091506100f567bcae6db60f573e9a60c01b610343565b61010967ca1671d26216c11160c01b610343565b600082600001600080357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506101bb6792d906f4ab70537060c01b610343565b6101cf675faf97112e5c11e260c01b610343565b6101e367f10e8643be83266d60c01b610343565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610252576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610249906129f6565b60405180910390fd5b61026667e8144acc2819f60560c01b610343565b61027a6767619bab0f74d44660c01b610343565b3660008037600080366000845af43d6000803e806000811461029b573d6000f35b3d6000fd5b3480156102ac57600080fd5b506102c760048036038101906102c29190612a73565b610346565b6040516102d49190612abb565b60405180910390f35b3480156102e957600080fd5b5061030460048036038101906102ff9190612a73565b610343565b005b34801561031257600080fd5b5061032d60048036038101906103289190612a73565b610351565b60405161033a9190612abb565b60405180910390f35b50565b600060019050919050565b6000919050565b61036c674f69fffccbea1a6060c01b61091a565b61038067254a8afedf49a2bd60c01b61091a565b6103946764ae761eae80994a60c01b61091a565b600061039e61091d565b90506103b46728cf10db04b3ce6a60c01b61091a565b6103c867254c9c1d52a21ebf60c01b61091a565b60008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061040567f8cb9d02f213dad260c01b61091a565b828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061045c67320b257c7ea8cea760c01b61091a565b61047067a1ef30c006aa278260c01b61091a565b8273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b6104e367a19105344d9f01ff60c01b61091a565b6104f767b64c935a270824d460c01b61091a565b61050b67472298b363a8ccd460c01b61091a565b60005b835181101561087f5761052b679f2b3e118cce749f60c01b61091a565b61053f67d896c15712e4c99e60c01b61091a565b600084828151811061055457610553612ad6565b5b602002602001015160200151905061057667e9e9e49fe14a781e60c01b61091a565b61058a67c54028706882e3fd60c01b61091a565b6000600281111561059e5761059d612b05565b5b8160028111156105b1576105b0612b05565b5b0361063d576105ca67f4728512f8de3aa360c01b61091a565b6105de6740469cb01cf2faa260c01b61091a565b6105f26721754418551a963060c01b61091a565b61063885838151811061060857610607612ad6565b5b60200260200101516000015186848151811061062757610626612ad6565b5b60200260200101516040015161099b565b61086b565b61065167964166c6a112694260c01b61091a565b610665675cddae6a9e8d84f060c01b61091a565b6001600281111561067957610678612b05565b5b81600281111561068c5761068b612b05565b5b03610718576106a5676469914f5066ffc460c01b61091a565b6106b967cf470716cadf00df60c01b61091a565b6106cd67f4605d17f3b1301c60c01b61091a565b6107138583815181106106e3576106e2612ad6565b5b60200260200101516000015186848151811061070257610701612ad6565b5b602002602001015160400151610e97565b61086a565b61072c67e72a92bcd515975b60c01b61091a565b61074067b1e174fb1bb1b85360c01b61091a565b60028081111561075357610752612b05565b5b81600281111561076657610765612b05565b5b036107f25761077f67db0f598297fb7fbc60c01b61091a565b610793671a55e89439142ee060c01b61091a565b6107a76711513d20488a52e060c01b61091a565b6107ed8583815181106107bd576107bc612ad6565b5b6020026020010151600001518684815181106107dc576107db612ad6565b5b6020026020010151604001516113c5565b610869565b61080667cf3e056f531577e760c01b61091a565b61081a671903ab370305c25960c01b61091a565b61082e676af2c3acde0bf38760c01b61091a565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086090612ba6565b60405180910390fd5b5b5b50808061087790612bff565b91505061050e565b5061089467dc19ebbaa4095b3160c01b61091a565b6108a8678571dd875084a3e060c01b61091a565b7f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738383836040516108db93929190612f6b565b60405180910390a16108f767faecfc839f48e07b60c01b61091a565b61090b6792cae661f317b4ce60c01b61091a565b61091582826116cc565b505050565b50565b6000610933674f9afbb757d80e6360c01b61091a565b610947674b823103125da15660c01b61091a565b61095b674ab715c231c1608d60c01b61091a565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061099467982d9bb86701efa860c01b61091a565b8091505090565b6109af67cc97399e32da22a560c01b61091a565b6109c367021d8eb4be5452a860c01b61091a565b6109d7678748409130ac41fa60c01b61091a565b6109eb67ccd015372bd45b9c60c01b61091a565b6000815111610a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2690613022565b60405180910390fd5b610a4367d0bcd87037df4e5a60c01b61091a565b610a576777b6df3c8e2ebf4660c01b61091a565b610a6b6755a810a63d06fcdd60c01b61091a565b6000610a7561091d565b9050610a8b6747e187c4c65f108c60c01b61091a565b610a9f670bde1222440aa4dd60c01b61091a565b610ab367f7810a880d4fe12d60c01b61091a565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b19906130b4565b60405180910390fd5b610b36676e4814773ca1e6f960c01b61091a565b610b4a67abb5961c588ff7dc60c01b61091a565b610b5e6775b1393f5ceb0a4860c01b61091a565b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050610bbe6779cb28ccf660334260c01b61091a565b610bd2671a64ec3fd612cafd60c01b61091a565b6000816bffffffffffffffffffffffff1603610c3357610bfc672a23378c0ae85db760c01b61091a565b610c10670288376b7f20f78660c01b61091a565b610c2467d14bbd8396b718cd60c01b61091a565b610c2e8285611b77565b610c48565b610c47675eb466f90a620b0f60c01b61091a565b5b610c5c67fcd8a57751c34a1160c01b61091a565b610c7067c014c8ff907100cb60c01b61091a565b60005b8351811015610e9057610c90677134da3b2ea217c360c01b61091a565b610ca4678ef84b1f8594c55e60c01b61091a565b6000848281518110610cb957610cb8612ad6565b5b60200260200101519050610cd767e6627f219f43163560c01b61091a565b610ceb672b0989e1ce351d2c60c01b61091a565b6000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610d7a678edc0ee3600e6f7160c01b61091a565b610d8e67acff68f00aaf198060c01b61091a565b610da2678e7e9da0f87df0c460c01b61091a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610e11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0890613146565b60405180910390fd5b610e2567de5c2f108b7a76ad60c01b61091a565b610e39679df301acb4b4e7b560c01b61091a565b610e4d67d5dd90cfdfe4af7760c01b61091a565b610e598583868a611cca565b610e6d67b77905e3474e693060c01b61091a565b8380610e789061317e565b94505050508080610e8890612bff565b915050610c73565b5050505050565b610eab672faab333134f8f2b60c01b61091a565b610ebf67f1aef7c8a9655d5360c01b61091a565b610ed367d203ed109c17319660c01b61091a565b610ee767f4734d8378f4311060c01b61091a565b6000815111610f2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2290613022565b60405180910390fd5b610f3f6754602ce0fe5a43bf60c01b61091a565b610f5367f46efb4b2c2c709e60c01b61091a565b610f6767610110a281fa82c760c01b61091a565b6000610f7161091d565b9050610f8767edc9c99031ecb10d60c01b61091a565b610f9b6767fe440300c94a3460c01b61091a565b610faf6784ec279df893a23160c01b61091a565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361101e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611015906130b4565b60405180910390fd5b611032678fb1a303062b7c3660c01b61091a565b611046672659fafa49e6fe9a60c01b61091a565b61105a67151721b3adf3095360c01b61091a565b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506110ba6747aaf74cd533212060c01b61091a565b6110ce6703de6b9bbbb4e65460c01b61091a565b6000816bffffffffffffffffffffffff160361112f576110f8677f40383c8703753660c01b61091a565b61110c67bee7ffe190c4ad3c60c01b61091a565b6111206755bd06ec28bd8be360c01b61091a565b61112a8285611b77565b611144565b61114367dd6dd2122982fcbd60c01b61091a565b5b61115867c00fc6f5b3cfec0760c01b61091a565b61116c6712c602b6c749bc1660c01b61091a565b60005b83518110156113be5761118c67b01c581fb6bf76d460c01b61091a565b6111a06772bf81d7d68cd5cc60c01b61091a565b60008482815181106111b5576111b4612ad6565b5b602002602001015190506111d367f378c2c5d2ac591860c01b61091a565b6111e7672abe9487f14424bf60c01b61091a565b6000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061127667c938893e73b6cc8660c01b61091a565b61128a67b830452a6260fe5860c01b61091a565b61129e67732490d4bd014f1160c01b61091a565b8673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361130c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130390613224565b60405180910390fd5b61132067307ef01dc603673f60c01b61091a565b61133467df9b9ad53f3498bb60c01b61091a565b61134867ef74a1c742a2ef4b60c01b61091a565b611353858284611edb565b6113676709eba8384d15433760c01b61091a565b61137b67eb34f0e39cc002be60c01b61091a565b6113878583868a611cca565b61139b67c8e26e167d4df53e60c01b61091a565b83806113a69061317e565b945050505080806113b690612bff565b91505061116f565b5050505050565b6113d967484f249b41b9afdf60c01b61091a565b6113ed672afee721a436189e60c01b61091a565b6114016790c0f4303981d53860c01b61091a565b61141567b69809b50e9b29b160c01b61091a565b6000815111611459576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145090613022565b60405180910390fd5b61146d6703449e0de1d16e1460c01b61091a565b61148167043931a3bf63a76460c01b61091a565b6114956783eac4de134a189760c01b61091a565b600061149f61091d565b90506114b5676fa9503e3a33edf160c01b61091a565b6114c967565ff8422e73f48260c01b61091a565b6114dd67a43a53c1c8fdb01860c01b61091a565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461154c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611543906132b6565b60405180910390fd5b61156067a83ec82cf318ce9960c01b61091a565b6115746729de67dbee8a781960c01b61091a565b6115886778ae44bab32ab16d60c01b61091a565b60005b82518110156116c6576115a867c86ec2c930ebf39060c01b61091a565b6115bc67bb2f8bac9067d0d960c01b61091a565b60008382815181106115d1576115d0612ad6565b5b602002602001015190506115ef67afdb7f7eafa2419160c01b61091a565b61160367336a3f69f07dbd0a60c01b61091a565b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061169267a9a5f6b739625a6060c01b61091a565b6116a667fd046ea59cd94d2a60c01b61091a565b6116b1848284611edb565b505080806116be90612bff565b91505061158b565b50505050565b6116e067029e1a56337e048460c01b61091a565b6116f467165337675d3a848660c01b61091a565b611708674613682e59aed10a60c01b61091a565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117e9576117506788e41d767c30804a60c01b61091a565b61176467509782c75193bd1560c01b61091a565b611778677c55baba9bedefc760c01b61091a565b61178c6779b630e4a1a501b160c01b61091a565b60008151146117d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c790613348565b60405180910390fd5b6117e4671cf5cba47462738c60c01b61091a565b611b73565b6117fd67d87fba57f9fd56d260c01b61091a565b6118116785ecbfea545b551c60c01b61091a565b611825675a99520875f542d360c01b61091a565b611839677335d4909eb3f6ed60c01b61091a565b600081511161187d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611874906133da565b60405180910390fd5b61189167e2308116fde49ef660c01b61091a565b6118a567e68a1e15bfb15c1560c01b61091a565b6118b967e2f9c57761f027da60c01b61091a565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461194f57611900677e43db5cf3dda55a60c01b61091a565b61191467f9079825f16296d860c01b61091a565b6119286722169a84f6e6288860c01b61091a565b61194a826040518060600160405280602881526020016136cd602891396128a7565b611964565b6119636756028f6713aeb61660c01b61091a565b5b611978678b5d37b494e8790c60c01b61091a565b61198c6732f3ff1c4d01de4c60c01b61091a565b6000808373ffffffffffffffffffffffffffffffffffffffff16836040516119b49190613436565b600060405180830381855af49150503d80600081146119ef576040519150601f19603f3d011682016040523d82523d6000602084013e6119f4565b606091505b5091509150611a0d67cb519b28cdf2316460c01b61091a565b611a2167d3126d202060687460c01b61091a565b81611b5c57611a3a6713957e4282cdd48760c01b61091a565b611a4e676bcab06e51e2612c60c01b61091a565b611a6267d3bfca2e5aa4d84960c01b61091a565b600081511115611ae557611a80673aa967c1a865c9c260c01b61091a565b611a9467f27acd53282addda60c01b61091a565b611aa86780ab759cddda78d060c01b61091a565b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adc9190613491565b60405180910390fd5b611af967a434d1c24e3903bc60c01b61091a565b611b0d67d32e3505412c44c560c01b61091a565b611b21677d8323cb74d7c2d860c01b61091a565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5390613525565b60405180910390fd5b611b7067bc6651a6d16ea71460c01b61091a565b50505b5050565b611b8b6745cff900de072b7660c01b61091a565b611b9f67ac3e31ef1ea5c74960c01b61091a565b611bb3673364688f11db6d0d60c01b61091a565b611bd5816040518060600160405280602481526020016136f5602491396128a7565b611be967b9f39a1cc8adecc260c01b61091a565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550611c4d6718823160317e019160c01b61091a565b611c61676ae1118a96d2a90560c01b61091a565b81600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b611cde67a2899c53551cdd3760c01b61091a565b611cf2678197d74e06e4145f60c01b61091a565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550611d8b677d99602b18ea589060c01b61091a565b611d9f67351b6ed487ae748960c01b61091a565b8360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c0217905550611e4067c24c5f99c230f00760c01b61091a565b80846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b611eef6787c03a3a3424540460c01b61091a565b611f03672e3806f37bc3a9d460c01b61091a565b611f17678d411e0bbad3542c60c01b61091a565b611f2b6726e5377f8db7750360c01b61091a565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f91906135b7565b60405180910390fd5b611fae67ebcad92e55ad094460c01b61091a565b611fc26751364413e637bba560c01b61091a565b611fd66792673f376289e6e260c01b61091a565b611fea67f72487d3a8cf4ac460c01b61091a565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204f90613649565b60405180910390fd5b61206c67a4c3c236bcab394860c01b61091a565b612080677e1962b66805ad7060c01b61091a565b612094670d999328d8a5d9c360c01b61091a565b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16905061212967d10337e1e2ecfc3960c01b61091a565b61213d677b893f30fdd7ad7060c01b61091a565b600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490506121939190613669565b90506121a967bb5bf925ceece87660c01b61091a565b6121bd676df862371a13aaa560c01b61091a565b8082146123b7576121d867156a8665fdd7526f60c01b61091a565b6121ec673cefa8bc28e7d12860c01b61091a565b61220067bdc380bd85401db960c01b61091a565b60008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001828154811061225857612257612ad6565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b9050612291671de77bf8f010eaec60c01b61091a565b808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000184815481106122e8576122e7612ad6565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c021790555061232c673af62f9c8f759fb160c01b61091a565b82866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550506123cc565b6123cb671d9b423266d067f060c01b61091a565b5b6123e067018034db5579529460c01b61091a565b6123f467a1c9b3117b7c6ab660c01b61091a565b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054806124485761244761369d565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff0219169055905561248c67559997c386b3648460c01b61091a565b846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff0219169055505061253c6760a723ea0e7e1d4860c01b61091a565b61255067ff433d7c2e2ac4be60c01b61091a565b6000810361288b5761256c6762db4abf7f19cb2060c01b61091a565b61258067efe6f413d09d1ebd60c01b61091a565b61259467ec471a641a3edf7960c01b61091a565b6000600186600201805490506125aa9190613669565b90506125bf6622a131c51aff2c60c01b61091a565b6125d367919cfbc3e76423a760c01b61091a565b60008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050612630674e9eba62f8a28b9860c01b61091a565b6126446799c973d204243fa060c01b61091a565b8181146127a25761265f673c79f4e3584d9a5960c01b61091a565b61267367990168f15e45b6b860c01b61091a565b612687678582ef208a32dc4260c01b61091a565b600087600201838154811061269f5761269e612ad6565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506126e0671085af932ae9ef7260c01b61091a565b808860020183815481106126f7576126f6612ad6565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061275367ad58108eb86eb21760c01b61091a565b818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550506127b7565b6127b667804be83a13f0191a60c01b61091a565b5b6127cb67b1f28e33128b33c960c01b61091a565b6127df67c4cd68f75da79ff060c01b61091a565b866002018054806127f3576127f261369d565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561283c67a379df54f7bb9fb460c01b61091a565b8660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000905550506128a0565b61289f671627b1de00b56a1b60c01b61091a565b5b5050505050565b6128bb67f91685f166b890e160c01b61091a565b6128cf672a44665c1fa886a160c01b61091a565b6128e36756e8a556d62b0f5e60c01b61091a565b60006128f967996ed809f12ff03160c01b61091a565b823b90506129116709c9d04de4f50a1e60c01b61091a565b61292567b71747c1488d4acd60c01b61091a565b61293967f052a96327eb0abf60c01b61091a565b60008111829061297f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129769190613491565b60405180910390fd5b5061299467b956b25dc409113860c01b61091a565b505050565b600082825260208201905092915050565b7f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f74206578697374600082015250565b60006129e0602083612999565b91506129eb826129aa565b602082019050919050565b60006020820190508181036000830152612a0f816129d3565b9050919050565b600080fd5b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b612a5081612a1b565b8114612a5b57600080fd5b50565b600081359050612a6d81612a47565b92915050565b600060208284031215612a8957612a88612a16565b5b6000612a9784828501612a5e565b91505092915050565b60008115159050919050565b612ab581612aa0565b82525050565b6000602082019050612ad06000830184612aac565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b6000612b90602783612999565b9150612b9b82612b34565b604082019050919050565b60006020820190508181036000830152612bbf81612b83565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000612c0a82612bf5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c3c57612c3b612bc6565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c9e82612c73565b9050919050565b612cae81612c93565b82525050565b60038110612cc557612cc4612b05565b5b50565b6000819050612cd682612cb4565b919050565b6000612ce682612cc8565b9050919050565b612cf681612cdb565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612d5d81612d28565b82525050565b6000612d6f8383612d54565b60208301905092915050565b6000602082019050919050565b6000612d9382612cfc565b612d9d8185612d07565b9350612da883612d18565b8060005b83811015612dd9578151612dc08882612d63565b9750612dcb83612d7b565b925050600181019050612dac565b5085935050505092915050565b6000606083016000830151612dfe6000860182612ca5565b506020830151612e116020860182612ced565b5060408301518482036040860152612e298282612d88565b9150508091505092915050565b6000612e428383612de6565b905092915050565b6000602082019050919050565b6000612e6282612c47565b612e6c8185612c52565b935083602082028501612e7e85612c63565b8060005b85811015612eba5784840389528151612e9b8582612e36565b9450612ea683612e4a565b925060208a01995050600181019050612e82565b50829750879550505050505092915050565b612ed581612c93565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f15578082015181840152602081019050612efa565b60008484015250505050565b6000601f19601f8301169050919050565b6000612f3d82612edb565b612f478185612ee6565b9350612f57818560208601612ef7565b612f6081612f21565b840191505092915050565b60006060820190508181036000830152612f858186612e57565b9050612f946020830185612ecc565b8181036040830152612fa68184612f32565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b600061300c602b83612999565b915061301782612fb0565b604082019050919050565b6000602082019050818103600083015261303b81612fff565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b600061309e602c83612999565b91506130a982613042565b604082019050919050565b600060208201905081810360008301526130cd81613091565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b6000613130603583612999565b915061313b826130d4565b604082019050919050565b6000602082019050818103600083015261315f81613123565b9050919050565b60006bffffffffffffffffffffffff82169050919050565b600061318982613166565b91506bffffffffffffffffffffffff82036131a7576131a6612bc6565b5b600182019050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b600061320e603883612999565b9150613219826131b2565b604082019050919050565b6000602082019050818103600083015261323d81613201565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b60006132a0603683612999565b91506132ab82613244565b604082019050919050565b600060208201905081810360008301526132cf81613293565b9050919050565b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b6000613332603c83612999565b915061333d826132d6565b604082019050919050565b6000602082019050818103600083015261336181613325565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b60006133c4603d83612999565b91506133cf82613368565b604082019050919050565b600060208201905081810360008301526133f3816133b7565b9050919050565b600081905092915050565b600061341082612edb565b61341a81856133fa565b935061342a818560208601612ef7565b80840191505092915050565b60006134428284613405565b915081905092915050565b600081519050919050565b60006134638261344d565b61346d8185612999565b935061347d818560208601612ef7565b61348681612f21565b840191505092915050565b600060208201905081810360008301526134ab8184613458565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b600061350f602683612999565b915061351a826134b3565b604082019050919050565b6000602082019050818103600083015261353e81613502565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b60006135a1603783612999565b91506135ac82613545565b604082019050919050565b600060208201905081810360008301526135d081613594565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e000000000000000000000000000000000000602082015250565b6000613633602e83612999565b915061363e826135d7565b604082019050919050565b6000602082019050818103600083015261366281613626565b9050919050565b600061367482612bf5565b915061367f83612bf5565b925082820390508181111561369757613696612bc6565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a2646970667358221220ce25dd26737419727baaf3296d0861642400fd173299e708e7384026daae708164736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/DiamondCutFacet.json b/artifacts/DiamondCutFacet.json index ec35a43c..1dbd8988 100644 --- a/artifacts/DiamondCutFacet.json +++ b/artifacts/DiamondCutFacet.json @@ -45,6 +45,57 @@ "name": "DiamondCut", "type": "event" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__e238b7d9", + "type": "bytes8" + } + ], + "name": "c_e238b7d9", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__e238b7d9", + "type": "bytes8" + } + ], + "name": "c_falsee238b7d9", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__e238b7d9", + "type": "bytes8" + } + ], + "name": "c_truee238b7d9", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { @@ -86,8 +137,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5061270a806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631f931c1c14610030575b600080fd5b61004a600480360381019061004591906116ab565b61004c565b005b6100546100b6565b6100af8585906100649190611a49565b8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610151565b5050505050565b6100be610380565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461014f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014690611ae1565b60405180910390fd5b565b60005b835181101561033557600084828151811061017257610171611b01565b5b60200260200101516020015190506000600281111561019457610193611b30565b5b8160028111156101a7576101a6611b30565b5b036101f7576101f28583815181106101c2576101c1611b01565b5b6020026020010151600001518684815181106101e1576101e0611b01565b5b6020026020010151604001516103ad565b610321565b6001600281111561020b5761020a611b30565b5b81600281111561021e5761021d611b30565b5b0361026e5761026985838151811061023957610238611b01565b5b60200260200101516000015186848151811061025857610257611b01565b5b602002602001015160400151610624565b610320565b60028081111561028157610280611b30565b5b81600281111561029457610293611b30565b5b036102e4576102df8583815181106102af576102ae611b01565b5b6020026020010151600001518684815181106102ce576102cd611b01565b5b6020026020010151604001516108a5565b61031f565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031690611bd1565b60405180910390fd5b5b5b50808061032d90611c2a565b915050610154565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161036993929190611f27565b60405180910390a161037b8282610a30565b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60008151116103f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e890611fde565b60405180910390fd5b60006103fb610380565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361046c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046390612070565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff16036104d9576104d88285610c42565b5b60005b835181101561061d5760008482815181106104fa576104f9611b01565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146105ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e590612102565b60405180910390fd5b6105fa8583868a610d1d565b83806106059061213a565b9450505050808061061590611c2a565b9150506104dc565b5050505050565b6000815111610668576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065f90611fde565b60405180910390fd5b6000610672610380565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106da90612070565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff16036107505761074f8285610c42565b5b60005b835181101561089e57600084828151811061077157610770611b01565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610864576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085b906121e0565b60405180910390fd5b61086f858284610eca565b61087b8583868a610d1d565b83806108869061213a565b9450505050808061089690611c2a565b915050610753565b5050505050565b60008151116108e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e090611fde565b60405180910390fd5b60006108f3610380565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095b90612272565b60405180910390fd5b60005b8251811015610a2a57600083828151811061098557610984611b01565b5b602002602001015190506000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610a15848284610eca565b50508080610a2290611c2a565b915050610967565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610aad576000815114610aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9f90612304565b60405180910390fd5b610c3e565b6000815111610af1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae890612396565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610b4757610b46826040518060600160405280602881526020016126896028913961152c565b5b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051610b6f91906123f2565b600060405180830381855af49150503d8060008114610baa576040519150601f19603f3d011682016040523d82523d6000602084013e610baf565b606091505b509150915081610c3b57600081511115610c0057806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf7919061244d565b60405180910390fd5b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c32906124e1565b60405180910390fd5b50505b5050565b610c64816040518060600160405280602481526020016126b16024913961152c565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c021790555080846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090612573565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9e90612605565b60405180910390fd5b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905061107e9190612625565b90508082146112125760008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000182815481106110df576110de611b01565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b9050808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001848154811061115b5761115a611b01565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c021790555082866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550505b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548061126657611265612659565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff02191690559055846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff0219169055505060008103611525576000600186600201805490506113509190612625565b905060008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015490508181146114915760008760020183815481106113ba576113b9611b01565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050808860020183815481106113fe576113fd611b01565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550505b866002018054806114a5576114a4612659565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590558660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000905550505b5050505050565b6000823b9050600081118290611578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156f919061244d565b60405180910390fd5b50505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126115b7576115b6611592565b5b8235905067ffffffffffffffff8111156115d4576115d3611597565b5b6020830191508360208202830111156115f0576115ef61159c565b5b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611622826115f7565b9050919050565b61163281611617565b811461163d57600080fd5b50565b60008135905061164f81611629565b92915050565b60008083601f84011261166b5761166a611592565b5b8235905067ffffffffffffffff81111561168857611687611597565b5b6020830191508360018202830111156116a4576116a361159c565b5b9250929050565b6000806000806000606086880312156116c7576116c6611588565b5b600086013567ffffffffffffffff8111156116e5576116e461158d565b5b6116f1888289016115a1565b9550955050602061170488828901611640565b935050604086013567ffffffffffffffff8111156117255761172461158d565b5b61173188828901611655565b92509250509295509295909350565b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61178982611740565b810181811067ffffffffffffffff821117156117a8576117a7611751565b5b80604052505050565b60006117bb61157e565b90506117c78282611780565b919050565b600067ffffffffffffffff8211156117e7576117e6611751565b5b602082029050602081019050919050565b600080fd5b600080fd5b6003811061180f57600080fd5b50565b60008135905061182181611802565b92915050565b600067ffffffffffffffff82111561184257611841611751565b5b602082029050602081019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61188881611853565b811461189357600080fd5b50565b6000813590506118a58161187f565b92915050565b60006118be6118b984611827565b6117b1565b905080838252602082019050602084028301858111156118e1576118e061159c565b5b835b8181101561190a57806118f68882611896565b8452602084019350506020810190506118e3565b5050509392505050565b600082601f83011261192957611928611592565b5b81356119398482602086016118ab565b91505092915050565b600060608284031215611958576119576117f8565b5b61196260606117b1565b9050600061197284828501611640565b600083015250602061198684828501611812565b602083015250604082013567ffffffffffffffff8111156119aa576119a96117fd565b5b6119b684828501611914565b60408301525092915050565b60006119d56119d0846117cc565b6117b1565b905080838252602082019050602084028301858111156119f8576119f761159c565b5b835b81811015611a3f57803567ffffffffffffffff811115611a1d57611a1c611592565b5b808601611a2a8982611942565b855260208501945050506020810190506119fa565b5050509392505050565b6000611a563684846119c2565b905092915050565b600082825260208201905092915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b6000611acb602283611a5e565b9150611ad682611a6f565b604082019050919050565b60006020820190508181036000830152611afa81611abe565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b6000611bbb602783611a5e565b9150611bc682611b5f565b604082019050919050565b60006020820190508181036000830152611bea81611bae565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000611c3582611c20565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c6757611c66611bf1565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611ca781611617565b82525050565b60038110611cbe57611cbd611b30565b5b50565b6000819050611ccf82611cad565b919050565b6000611cdf82611cc1565b9050919050565b611cef81611cd4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611d2a81611853565b82525050565b6000611d3c8383611d21565b60208301905092915050565b6000602082019050919050565b6000611d6082611cf5565b611d6a8185611d00565b9350611d7583611d11565b8060005b83811015611da6578151611d8d8882611d30565b9750611d9883611d48565b925050600181019050611d79565b5085935050505092915050565b6000606083016000830151611dcb6000860182611c9e565b506020830151611dde6020860182611ce6565b5060408301518482036040860152611df68282611d55565b9150508091505092915050565b6000611e0f8383611db3565b905092915050565b6000602082019050919050565b6000611e2f82611c72565b611e398185611c7d565b935083602082028501611e4b85611c8e565b8060005b85811015611e875784840389528151611e688582611e03565b9450611e7383611e17565b925060208a01995050600181019050611e4f565b50829750879550505050505092915050565b611ea281611617565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ee2578082015181840152602081019050611ec7565b60008484015250505050565b6000611ef982611ea8565b611f038185611eb3565b9350611f13818560208601611ec4565b611f1c81611740565b840191505092915050565b60006060820190508181036000830152611f418186611e24565b9050611f506020830185611e99565b8181036040830152611f628184611eee565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b6000611fc8602b83611a5e565b9150611fd382611f6c565b604082019050919050565b60006020820190508181036000830152611ff781611fbb565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b600061205a602c83611a5e565b915061206582611ffe565b604082019050919050565b600060208201905081810360008301526120898161204d565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b60006120ec603583611a5e565b91506120f782612090565b604082019050919050565b6000602082019050818103600083015261211b816120df565b9050919050565b60006bffffffffffffffffffffffff82169050919050565b600061214582612122565b91506bffffffffffffffffffffffff820361216357612162611bf1565b5b600182019050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b60006121ca603883611a5e565b91506121d58261216e565b604082019050919050565b600060208201905081810360008301526121f9816121bd565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b600061225c603683611a5e565b915061226782612200565b604082019050919050565b6000602082019050818103600083015261228b8161224f565b9050919050565b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b60006122ee603c83611a5e565b91506122f982612292565b604082019050919050565b6000602082019050818103600083015261231d816122e1565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b6000612380603d83611a5e565b915061238b82612324565b604082019050919050565b600060208201905081810360008301526123af81612373565b9050919050565b600081905092915050565b60006123cc82611ea8565b6123d681856123b6565b93506123e6818560208601611ec4565b80840191505092915050565b60006123fe82846123c1565b915081905092915050565b600081519050919050565b600061241f82612409565b6124298185611a5e565b9350612439818560208601611ec4565b61244281611740565b840191505092915050565b600060208201905081810360008301526124678184612414565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b60006124cb602683611a5e565b91506124d68261246f565b604082019050919050565b600060208201905081810360008301526124fa816124be565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b600061255d603783611a5e565b915061256882612501565b604082019050919050565b6000602082019050818103600083015261258c81612550565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e000000000000000000000000000000000000602082015250565b60006125ef602e83611a5e565b91506125fa82612593565b604082019050919050565b6000602082019050818103600083015261261e816125e2565b9050919050565b600061263082611c20565b915061263b83611c20565b925082820390508181111561265357612652611bf1565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a26469706673582212207fa2a888ad5bbe4de1458e663214e8a88a5f68b72dc15183dafb93f74374cabc64736f6c63430008110033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80631f931c1c14610030575b600080fd5b61004a600480360381019061004591906116ab565b61004c565b005b6100546100b6565b6100af8585906100649190611a49565b8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610151565b5050505050565b6100be610380565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461014f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014690611ae1565b60405180910390fd5b565b60005b835181101561033557600084828151811061017257610171611b01565b5b60200260200101516020015190506000600281111561019457610193611b30565b5b8160028111156101a7576101a6611b30565b5b036101f7576101f28583815181106101c2576101c1611b01565b5b6020026020010151600001518684815181106101e1576101e0611b01565b5b6020026020010151604001516103ad565b610321565b6001600281111561020b5761020a611b30565b5b81600281111561021e5761021d611b30565b5b0361026e5761026985838151811061023957610238611b01565b5b60200260200101516000015186848151811061025857610257611b01565b5b602002602001015160400151610624565b610320565b60028081111561028157610280611b30565b5b81600281111561029457610293611b30565b5b036102e4576102df8583815181106102af576102ae611b01565b5b6020026020010151600001518684815181106102ce576102cd611b01565b5b6020026020010151604001516108a5565b61031f565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031690611bd1565b60405180910390fd5b5b5b50808061032d90611c2a565b915050610154565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161036993929190611f27565b60405180910390a161037b8282610a30565b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60008151116103f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e890611fde565b60405180910390fd5b60006103fb610380565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361046c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046390612070565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff16036104d9576104d88285610c42565b5b60005b835181101561061d5760008482815181106104fa576104f9611b01565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146105ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e590612102565b60405180910390fd5b6105fa8583868a610d1d565b83806106059061213a565b9450505050808061061590611c2a565b9150506104dc565b5050505050565b6000815111610668576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065f90611fde565b60405180910390fd5b6000610672610380565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106da90612070565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff16036107505761074f8285610c42565b5b60005b835181101561089e57600084828151811061077157610770611b01565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610864576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085b906121e0565b60405180910390fd5b61086f858284610eca565b61087b8583868a610d1d565b83806108869061213a565b9450505050808061089690611c2a565b915050610753565b5050505050565b60008151116108e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e090611fde565b60405180910390fd5b60006108f3610380565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095b90612272565b60405180910390fd5b60005b8251811015610a2a57600083828151811061098557610984611b01565b5b602002602001015190506000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610a15848284610eca565b50508080610a2290611c2a565b915050610967565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610aad576000815114610aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9f90612304565b60405180910390fd5b610c3e565b6000815111610af1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae890612396565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610b4757610b46826040518060600160405280602881526020016126896028913961152c565b5b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051610b6f91906123f2565b600060405180830381855af49150503d8060008114610baa576040519150601f19603f3d011682016040523d82523d6000602084013e610baf565b606091505b509150915081610c3b57600081511115610c0057806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf7919061244d565b60405180910390fd5b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c32906124e1565b60405180910390fd5b50505b5050565b610c64816040518060600160405280602481526020016126b16024913961152c565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c021790555080846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090612573565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9e90612605565b60405180910390fd5b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905061107e9190612625565b90508082146112125760008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000182815481106110df576110de611b01565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b9050808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001848154811061115b5761115a611b01565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c021790555082866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550505b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548061126657611265612659565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff02191690559055846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff0219169055505060008103611525576000600186600201805490506113509190612625565b905060008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015490508181146114915760008760020183815481106113ba576113b9611b01565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050808860020183815481106113fe576113fd611b01565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550505b866002018054806114a5576114a4612659565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590558660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000905550505b5050505050565b6000823b9050600081118290611578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156f919061244d565b60405180910390fd5b50505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126115b7576115b6611592565b5b8235905067ffffffffffffffff8111156115d4576115d3611597565b5b6020830191508360208202830111156115f0576115ef61159c565b5b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611622826115f7565b9050919050565b61163281611617565b811461163d57600080fd5b50565b60008135905061164f81611629565b92915050565b60008083601f84011261166b5761166a611592565b5b8235905067ffffffffffffffff81111561168857611687611597565b5b6020830191508360018202830111156116a4576116a361159c565b5b9250929050565b6000806000806000606086880312156116c7576116c6611588565b5b600086013567ffffffffffffffff8111156116e5576116e461158d565b5b6116f1888289016115a1565b9550955050602061170488828901611640565b935050604086013567ffffffffffffffff8111156117255761172461158d565b5b61173188828901611655565b92509250509295509295909350565b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61178982611740565b810181811067ffffffffffffffff821117156117a8576117a7611751565b5b80604052505050565b60006117bb61157e565b90506117c78282611780565b919050565b600067ffffffffffffffff8211156117e7576117e6611751565b5b602082029050602081019050919050565b600080fd5b600080fd5b6003811061180f57600080fd5b50565b60008135905061182181611802565b92915050565b600067ffffffffffffffff82111561184257611841611751565b5b602082029050602081019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61188881611853565b811461189357600080fd5b50565b6000813590506118a58161187f565b92915050565b60006118be6118b984611827565b6117b1565b905080838252602082019050602084028301858111156118e1576118e061159c565b5b835b8181101561190a57806118f68882611896565b8452602084019350506020810190506118e3565b5050509392505050565b600082601f83011261192957611928611592565b5b81356119398482602086016118ab565b91505092915050565b600060608284031215611958576119576117f8565b5b61196260606117b1565b9050600061197284828501611640565b600083015250602061198684828501611812565b602083015250604082013567ffffffffffffffff8111156119aa576119a96117fd565b5b6119b684828501611914565b60408301525092915050565b60006119d56119d0846117cc565b6117b1565b905080838252602082019050602084028301858111156119f8576119f761159c565b5b835b81811015611a3f57803567ffffffffffffffff811115611a1d57611a1c611592565b5b808601611a2a8982611942565b855260208501945050506020810190506119fa565b5050509392505050565b6000611a563684846119c2565b905092915050565b600082825260208201905092915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b6000611acb602283611a5e565b9150611ad682611a6f565b604082019050919050565b60006020820190508181036000830152611afa81611abe565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b6000611bbb602783611a5e565b9150611bc682611b5f565b604082019050919050565b60006020820190508181036000830152611bea81611bae565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000611c3582611c20565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c6757611c66611bf1565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611ca781611617565b82525050565b60038110611cbe57611cbd611b30565b5b50565b6000819050611ccf82611cad565b919050565b6000611cdf82611cc1565b9050919050565b611cef81611cd4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611d2a81611853565b82525050565b6000611d3c8383611d21565b60208301905092915050565b6000602082019050919050565b6000611d6082611cf5565b611d6a8185611d00565b9350611d7583611d11565b8060005b83811015611da6578151611d8d8882611d30565b9750611d9883611d48565b925050600181019050611d79565b5085935050505092915050565b6000606083016000830151611dcb6000860182611c9e565b506020830151611dde6020860182611ce6565b5060408301518482036040860152611df68282611d55565b9150508091505092915050565b6000611e0f8383611db3565b905092915050565b6000602082019050919050565b6000611e2f82611c72565b611e398185611c7d565b935083602082028501611e4b85611c8e565b8060005b85811015611e875784840389528151611e688582611e03565b9450611e7383611e17565b925060208a01995050600181019050611e4f565b50829750879550505050505092915050565b611ea281611617565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ee2578082015181840152602081019050611ec7565b60008484015250505050565b6000611ef982611ea8565b611f038185611eb3565b9350611f13818560208601611ec4565b611f1c81611740565b840191505092915050565b60006060820190508181036000830152611f418186611e24565b9050611f506020830185611e99565b8181036040830152611f628184611eee565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b6000611fc8602b83611a5e565b9150611fd382611f6c565b604082019050919050565b60006020820190508181036000830152611ff781611fbb565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b600061205a602c83611a5e565b915061206582611ffe565b604082019050919050565b600060208201905081810360008301526120898161204d565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b60006120ec603583611a5e565b91506120f782612090565b604082019050919050565b6000602082019050818103600083015261211b816120df565b9050919050565b60006bffffffffffffffffffffffff82169050919050565b600061214582612122565b91506bffffffffffffffffffffffff820361216357612162611bf1565b5b600182019050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b60006121ca603883611a5e565b91506121d58261216e565b604082019050919050565b600060208201905081810360008301526121f9816121bd565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b600061225c603683611a5e565b915061226782612200565b604082019050919050565b6000602082019050818103600083015261228b8161224f565b9050919050565b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b60006122ee603c83611a5e565b91506122f982612292565b604082019050919050565b6000602082019050818103600083015261231d816122e1565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b6000612380603d83611a5e565b915061238b82612324565b604082019050919050565b600060208201905081810360008301526123af81612373565b9050919050565b600081905092915050565b60006123cc82611ea8565b6123d681856123b6565b93506123e6818560208601611ec4565b80840191505092915050565b60006123fe82846123c1565b915081905092915050565b600081519050919050565b600061241f82612409565b6124298185611a5e565b9350612439818560208601611ec4565b61244281611740565b840191505092915050565b600060208201905081810360008301526124678184612414565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b60006124cb602683611a5e565b91506124d68261246f565b604082019050919050565b600060208201905081810360008301526124fa816124be565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b600061255d603783611a5e565b915061256882612501565b604082019050919050565b6000602082019050818103600083015261258c81612550565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e000000000000000000000000000000000000602082015250565b60006125ef602e83611a5e565b91506125fa82612593565b604082019050919050565b6000602082019050818103600083015261261e816125e2565b9050919050565b600061263082611c20565b915061263b83611c20565b925082820390508181111561265357612652611bf1565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a26469706673582212207fa2a888ad5bbe4de1458e663214e8a88a5f68b72dc15183dafb93f74374cabc64736f6c63430008110033", + "bytecode": "0x608060405234801561001057600080fd5b506139dc806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80631f931c1c14610051578063a38775811461006d578063a44a1d6d1461009d578063b6f4ad23146100b9575b600080fd5b61006b600480360381019061006691906128c2565b6100e9565b005b610087600480360381019061008291906129af565b6101b7565b60405161009491906129f7565b60405180910390f35b6100b760048036038101906100b291906129af565b6101be565b005b6100d360048036038101906100ce91906129af565b6101c1565b6040516100e091906129f7565b60405180910390f35b6100fd67289dfeb4c66136a960c01b6101be565b61011167e5a597ae739b87c260c01b6101be565b610125679b7aa0fdc6113ac960c01b6101be565b61012d6101cc565b6101416734b421f3a9ef97d960c01b6101be565b610155677c88f654614b38de60c01b6101be565b6101b08585906101659190612d1b565b8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506102cb565b5050505050565b6000919050565b50565b600060019050919050565b6101e06721b40df6734b4e6460c01b610716565b6101f4677276b6d1bbf7b68b60c01b610716565b61020867f8611dbcb55a1f7860c01b610716565b61021c676cedf54251a3375160c01b610716565b610224610719565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ac90612db3565b60405180910390fd5b6102c967e452355b21bbd41e60c01b610716565b565b6102df67a19105344d9f01ff60c01b610716565b6102f367b64c935a270824d460c01b610716565b61030767472298b363a8ccd460c01b610716565b60005b835181101561067b57610327679f2b3e118cce749f60c01b610716565b61033b67d896c15712e4c99e60c01b610716565b60008482815181106103505761034f612dd3565b5b602002602001015160200151905061037267e9e9e49fe14a781e60c01b610716565b61038667c54028706882e3fd60c01b610716565b6000600281111561039a57610399612e02565b5b8160028111156103ad576103ac612e02565b5b03610439576103c667f4728512f8de3aa360c01b610716565b6103da6740469cb01cf2faa260c01b610716565b6103ee6721754418551a963060c01b610716565b61043485838151811061040457610403612dd3565b5b60200260200101516000015186848151811061042357610422612dd3565b5b602002602001015160400151610797565b610667565b61044d67964166c6a112694260c01b610716565b610461675cddae6a9e8d84f060c01b610716565b6001600281111561047557610474612e02565b5b81600281111561048857610487612e02565b5b03610514576104a1676469914f5066ffc460c01b610716565b6104b567cf470716cadf00df60c01b610716565b6104c967f4605d17f3b1301c60c01b610716565b61050f8583815181106104df576104de612dd3565b5b6020026020010151600001518684815181106104fe576104fd612dd3565b5b602002602001015160400151610c93565b610666565b61052867e72a92bcd515975b60c01b610716565b61053c67b1e174fb1bb1b85360c01b610716565b60028081111561054f5761054e612e02565b5b81600281111561056257610561612e02565b5b036105ee5761057b67db0f598297fb7fbc60c01b610716565b61058f671a55e89439142ee060c01b610716565b6105a36711513d20488a52e060c01b610716565b6105e98583815181106105b9576105b8612dd3565b5b6020026020010151600001518684815181106105d8576105d7612dd3565b5b6020026020010151604001516111c1565b610665565b61060267cf3e056f531577e760c01b610716565b610616671903ab370305c25960c01b610716565b61062a676af2c3acde0bf38760c01b610716565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065c90612ea3565b60405180910390fd5b5b5b50808061067390612efc565b91505061030a565b5061069067dc19ebbaa4095b3160c01b610716565b6106a4678571dd875084a3e060c01b610716565b7f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738383836040516106d7939291906131f9565b60405180910390a16106f367faecfc839f48e07b60c01b610716565b6107076792cae661f317b4ce60c01b610716565b61071182826114c8565b505050565b50565b600061072f674f9afbb757d80e6360c01b610716565b610743674b823103125da15660c01b610716565b610757674ab715c231c1608d60c01b610716565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061079067982d9bb86701efa860c01b610716565b8091505090565b6107ab67cc97399e32da22a560c01b610716565b6107bf67021d8eb4be5452a860c01b610716565b6107d3678748409130ac41fa60c01b610716565b6107e767ccd015372bd45b9c60c01b610716565b600081511161082b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610822906132b0565b60405180910390fd5b61083f67d0bcd87037df4e5a60c01b610716565b6108536777b6df3c8e2ebf4660c01b610716565b6108676755a810a63d06fcdd60c01b610716565b6000610871610719565b90506108876747e187c4c65f108c60c01b610716565b61089b670bde1222440aa4dd60c01b610716565b6108af67f7810a880d4fe12d60c01b610716565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361091e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091590613342565b60405180910390fd5b610932676e4814773ca1e6f960c01b610716565b61094667abb5961c588ff7dc60c01b610716565b61095a6775b1393f5ceb0a4860c01b610716565b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506109ba6779cb28ccf660334260c01b610716565b6109ce671a64ec3fd612cafd60c01b610716565b6000816bffffffffffffffffffffffff1603610a2f576109f8672a23378c0ae85db760c01b610716565b610a0c670288376b7f20f78660c01b610716565b610a2067d14bbd8396b718cd60c01b610716565b610a2a8285611973565b610a44565b610a43675eb466f90a620b0f60c01b610716565b5b610a5867fcd8a57751c34a1160c01b610716565b610a6c67c014c8ff907100cb60c01b610716565b60005b8351811015610c8c57610a8c677134da3b2ea217c360c01b610716565b610aa0678ef84b1f8594c55e60c01b610716565b6000848281518110610ab557610ab4612dd3565b5b60200260200101519050610ad367e6627f219f43163560c01b610716565b610ae7672b0989e1ce351d2c60c01b610716565b6000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610b76678edc0ee3600e6f7160c01b610716565b610b8a67acff68f00aaf198060c01b610716565b610b9e678e7e9da0f87df0c460c01b610716565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c04906133d4565b60405180910390fd5b610c2167de5c2f108b7a76ad60c01b610716565b610c35679df301acb4b4e7b560c01b610716565b610c4967d5dd90cfdfe4af7760c01b610716565b610c558583868a611ac6565b610c6967b77905e3474e693060c01b610716565b8380610c749061340c565b94505050508080610c8490612efc565b915050610a6f565b5050505050565b610ca7672faab333134f8f2b60c01b610716565b610cbb67f1aef7c8a9655d5360c01b610716565b610ccf67d203ed109c17319660c01b610716565b610ce367f4734d8378f4311060c01b610716565b6000815111610d27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1e906132b0565b60405180910390fd5b610d3b6754602ce0fe5a43bf60c01b610716565b610d4f67f46efb4b2c2c709e60c01b610716565b610d6367610110a281fa82c760c01b610716565b6000610d6d610719565b9050610d8367edc9c99031ecb10d60c01b610716565b610d976767fe440300c94a3460c01b610716565b610dab6784ec279df893a23160c01b610716565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1190613342565b60405180910390fd5b610e2e678fb1a303062b7c3660c01b610716565b610e42672659fafa49e6fe9a60c01b610716565b610e5667151721b3adf3095360c01b610716565b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050610eb66747aaf74cd533212060c01b610716565b610eca6703de6b9bbbb4e65460c01b610716565b6000816bffffffffffffffffffffffff1603610f2b57610ef4677f40383c8703753660c01b610716565b610f0867bee7ffe190c4ad3c60c01b610716565b610f1c6755bd06ec28bd8be360c01b610716565b610f268285611973565b610f40565b610f3f67dd6dd2122982fcbd60c01b610716565b5b610f5467c00fc6f5b3cfec0760c01b610716565b610f686712c602b6c749bc1660c01b610716565b60005b83518110156111ba57610f8867b01c581fb6bf76d460c01b610716565b610f9c6772bf81d7d68cd5cc60c01b610716565b6000848281518110610fb157610fb0612dd3565b5b60200260200101519050610fcf67f378c2c5d2ac591860c01b610716565b610fe3672abe9487f14424bf60c01b610716565b6000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061107267c938893e73b6cc8660c01b610716565b61108667b830452a6260fe5860c01b610716565b61109a67732490d4bd014f1160c01b610716565b8673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611108576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ff906134b2565b60405180910390fd5b61111c67307ef01dc603673f60c01b610716565b61113067df9b9ad53f3498bb60c01b610716565b61114467ef74a1c742a2ef4b60c01b610716565b61114f858284611cd7565b6111636709eba8384d15433760c01b610716565b61117767eb34f0e39cc002be60c01b610716565b6111838583868a611ac6565b61119767c8e26e167d4df53e60c01b610716565b83806111a29061340c565b945050505080806111b290612efc565b915050610f6b565b5050505050565b6111d567484f249b41b9afdf60c01b610716565b6111e9672afee721a436189e60c01b610716565b6111fd6790c0f4303981d53860c01b610716565b61121167b69809b50e9b29b160c01b610716565b6000815111611255576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124c906132b0565b60405180910390fd5b6112696703449e0de1d16e1460c01b610716565b61127d67043931a3bf63a76460c01b610716565b6112916783eac4de134a189760c01b610716565b600061129b610719565b90506112b1676fa9503e3a33edf160c01b610716565b6112c567565ff8422e73f48260c01b610716565b6112d967a43a53c1c8fdb01860c01b610716565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133f90613544565b60405180910390fd5b61135c67a83ec82cf318ce9960c01b610716565b6113706729de67dbee8a781960c01b610716565b6113846778ae44bab32ab16d60c01b610716565b60005b82518110156114c2576113a467c86ec2c930ebf39060c01b610716565b6113b867bb2f8bac9067d0d960c01b610716565b60008382815181106113cd576113cc612dd3565b5b602002602001015190506113eb67afdb7f7eafa2419160c01b610716565b6113ff67336a3f69f07dbd0a60c01b610716565b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061148e67a9a5f6b739625a6060c01b610716565b6114a267fd046ea59cd94d2a60c01b610716565b6114ad848284611cd7565b505080806114ba90612efc565b915050611387565b50505050565b6114dc67029e1a56337e048460c01b610716565b6114f067165337675d3a848660c01b610716565b611504674613682e59aed10a60c01b610716565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115e55761154c6788e41d767c30804a60c01b610716565b61156067509782c75193bd1560c01b610716565b611574677c55baba9bedefc760c01b610716565b6115886779b630e4a1a501b160c01b610716565b60008151146115cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c3906135d6565b60405180910390fd5b6115e0671cf5cba47462738c60c01b610716565b61196f565b6115f967d87fba57f9fd56d260c01b610716565b61160d6785ecbfea545b551c60c01b610716565b611621675a99520875f542d360c01b610716565b611635677335d4909eb3f6ed60c01b610716565b6000815111611679576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167090613668565b60405180910390fd5b61168d67e2308116fde49ef660c01b610716565b6116a167e68a1e15bfb15c1560c01b610716565b6116b567e2f9c57761f027da60c01b610716565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461174b576116fc677e43db5cf3dda55a60c01b610716565b61171067f9079825f16296d860c01b610716565b6117246722169a84f6e6288860c01b610716565b6117468260405180606001604052806028815260200161395b602891396126a3565b611760565b61175f6756028f6713aeb61660c01b610716565b5b611774678b5d37b494e8790c60c01b610716565b6117886732f3ff1c4d01de4c60c01b610716565b6000808373ffffffffffffffffffffffffffffffffffffffff16836040516117b091906136c4565b600060405180830381855af49150503d80600081146117eb576040519150601f19603f3d011682016040523d82523d6000602084013e6117f0565b606091505b509150915061180967cb519b28cdf2316460c01b610716565b61181d67d3126d202060687460c01b610716565b81611958576118366713957e4282cdd48760c01b610716565b61184a676bcab06e51e2612c60c01b610716565b61185e67d3bfca2e5aa4d84960c01b610716565b6000815111156118e15761187c673aa967c1a865c9c260c01b610716565b61189067f27acd53282addda60c01b610716565b6118a46780ab759cddda78d060c01b610716565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d8919061371f565b60405180910390fd5b6118f567a434d1c24e3903bc60c01b610716565b61190967d32e3505412c44c560c01b610716565b61191d677d8323cb74d7c2d860c01b610716565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194f906137b3565b60405180910390fd5b61196c67bc6651a6d16ea71460c01b610716565b50505b5050565b6119876745cff900de072b7660c01b610716565b61199b67ac3e31ef1ea5c74960c01b610716565b6119af673364688f11db6d0d60c01b610716565b6119d181604051806060016040528060248152602001613983602491396126a3565b6119e567b9f39a1cc8adecc260c01b610716565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550611a496718823160317e019160c01b610716565b611a5d676ae1118a96d2a90560c01b610716565b81600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b611ada67a2899c53551cdd3760c01b610716565b611aee678197d74e06e4145f60c01b610716565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550611b87677d99602b18ea589060c01b610716565b611b9b67351b6ed487ae748960c01b610716565b8360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c0217905550611c3c67c24c5f99c230f00760c01b610716565b80846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b611ceb6787c03a3a3424540460c01b610716565b611cff672e3806f37bc3a9d460c01b610716565b611d13678d411e0bbad3542c60c01b610716565b611d276726e5377f8db7750360c01b610716565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8d90613845565b60405180910390fd5b611daa67ebcad92e55ad094460c01b610716565b611dbe6751364413e637bba560c01b610716565b611dd26792673f376289e6e260c01b610716565b611de667f72487d3a8cf4ac460c01b610716565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4b906138d7565b60405180910390fd5b611e6867a4c3c236bcab394860c01b610716565b611e7c677e1962b66805ad7060c01b610716565b611e90670d999328d8a5d9c360c01b610716565b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050611f2567d10337e1e2ecfc3960c01b610716565b611f39677b893f30fdd7ad7060c01b610716565b600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180549050611f8f91906138f7565b9050611fa567bb5bf925ceece87660c01b610716565b611fb9676df862371a13aaa560c01b610716565b8082146121b357611fd467156a8665fdd7526f60c01b610716565b611fe8673cefa8bc28e7d12860c01b610716565b611ffc67bdc380bd85401db960c01b610716565b60008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001828154811061205457612053612dd3565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b905061208d671de77bf8f010eaec60c01b610716565b808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000184815481106120e4576120e3612dd3565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c0217905550612128673af62f9c8f759fb160c01b610716565b82866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550506121c8565b6121c7671d9b423266d067f060c01b610716565b5b6121dc67018034db5579529460c01b610716565b6121f067a1c9b3117b7c6ab660c01b610716565b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054806122445761224361392b565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff0219169055905561228867559997c386b3648460c01b610716565b846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff021916905550506123386760a723ea0e7e1d4860c01b610716565b61234c67ff433d7c2e2ac4be60c01b610716565b60008103612687576123686762db4abf7f19cb2060c01b610716565b61237c67efe6f413d09d1ebd60c01b610716565b61239067ec471a641a3edf7960c01b610716565b6000600186600201805490506123a691906138f7565b90506123bb6622a131c51aff2c60c01b610716565b6123cf67919cfbc3e76423a760c01b610716565b60008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154905061242c674e9eba62f8a28b9860c01b610716565b6124406799c973d204243fa060c01b610716565b81811461259e5761245b673c79f4e3584d9a5960c01b610716565b61246f67990168f15e45b6b860c01b610716565b612483678582ef208a32dc4260c01b610716565b600087600201838154811061249b5761249a612dd3565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506124dc671085af932ae9ef7260c01b610716565b808860020183815481106124f3576124f2612dd3565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061254f67ad58108eb86eb21760c01b610716565b818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550506125b3565b6125b267804be83a13f0191a60c01b610716565b5b6125c767b1f28e33128b33c960c01b610716565b6125db67c4cd68f75da79ff060c01b610716565b866002018054806125ef576125ee61392b565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561263867a379df54f7bb9fb460c01b610716565b8660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009055505061269c565b61269b671627b1de00b56a1b60c01b610716565b5b5050505050565b6126b767f91685f166b890e160c01b610716565b6126cb672a44665c1fa886a160c01b610716565b6126df6756e8a556d62b0f5e60c01b610716565b60006126f567996ed809f12ff03160c01b610716565b823b905061270d6709c9d04de4f50a1e60c01b610716565b61272167b71747c1488d4acd60c01b610716565b61273567f052a96327eb0abf60c01b610716565b60008111829061277b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612772919061371f565b60405180910390fd5b5061279067b956b25dc409113860c01b610716565b505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126127ce576127cd6127a9565b5b8235905067ffffffffffffffff8111156127eb576127ea6127ae565b5b602083019150836020820283011115612807576128066127b3565b5b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128398261280e565b9050919050565b6128498161282e565b811461285457600080fd5b50565b60008135905061286681612840565b92915050565b60008083601f840112612882576128816127a9565b5b8235905067ffffffffffffffff81111561289f5761289e6127ae565b5b6020830191508360018202830111156128bb576128ba6127b3565b5b9250929050565b6000806000806000606086880312156128de576128dd61279f565b5b600086013567ffffffffffffffff8111156128fc576128fb6127a4565b5b612908888289016127b8565b9550955050602061291b88828901612857565b935050604086013567ffffffffffffffff81111561293c5761293b6127a4565b5b6129488882890161286c565b92509250509295509295909350565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b61298c81612957565b811461299757600080fd5b50565b6000813590506129a981612983565b92915050565b6000602082840312156129c5576129c461279f565b5b60006129d38482850161299a565b91505092915050565b60008115159050919050565b6129f1816129dc565b82525050565b6000602082019050612a0c60008301846129e8565b92915050565b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a5b82612a12565b810181811067ffffffffffffffff82111715612a7a57612a79612a23565b5b80604052505050565b6000612a8d612795565b9050612a998282612a52565b919050565b600067ffffffffffffffff821115612ab957612ab8612a23565b5b602082029050602081019050919050565b600080fd5b600080fd5b60038110612ae157600080fd5b50565b600081359050612af381612ad4565b92915050565b600067ffffffffffffffff821115612b1457612b13612a23565b5b602082029050602081019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612b5a81612b25565b8114612b6557600080fd5b50565b600081359050612b7781612b51565b92915050565b6000612b90612b8b84612af9565b612a83565b90508083825260208201905060208402830185811115612bb357612bb26127b3565b5b835b81811015612bdc5780612bc88882612b68565b845260208401935050602081019050612bb5565b5050509392505050565b600082601f830112612bfb57612bfa6127a9565b5b8135612c0b848260208601612b7d565b91505092915050565b600060608284031215612c2a57612c29612aca565b5b612c346060612a83565b90506000612c4484828501612857565b6000830152506020612c5884828501612ae4565b602083015250604082013567ffffffffffffffff811115612c7c57612c7b612acf565b5b612c8884828501612be6565b60408301525092915050565b6000612ca7612ca284612a9e565b612a83565b90508083825260208201905060208402830185811115612cca57612cc96127b3565b5b835b81811015612d1157803567ffffffffffffffff811115612cef57612cee6127a9565b5b808601612cfc8982612c14565b85526020850194505050602081019050612ccc565b5050509392505050565b6000612d28368484612c94565b905092915050565b600082825260208201905092915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d9d602283612d30565b9150612da882612d41565b604082019050919050565b60006020820190508181036000830152612dcc81612d90565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b6000612e8d602783612d30565b9150612e9882612e31565b604082019050919050565b60006020820190508181036000830152612ebc81612e80565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000612f0782612ef2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f3957612f38612ec3565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f798161282e565b82525050565b60038110612f9057612f8f612e02565b5b50565b6000819050612fa182612f7f565b919050565b6000612fb182612f93565b9050919050565b612fc181612fa6565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ffc81612b25565b82525050565b600061300e8383612ff3565b60208301905092915050565b6000602082019050919050565b600061303282612fc7565b61303c8185612fd2565b935061304783612fe3565b8060005b8381101561307857815161305f8882613002565b975061306a8361301a565b92505060018101905061304b565b5085935050505092915050565b600060608301600083015161309d6000860182612f70565b5060208301516130b06020860182612fb8565b50604083015184820360408601526130c88282613027565b9150508091505092915050565b60006130e18383613085565b905092915050565b6000602082019050919050565b600061310182612f44565b61310b8185612f4f565b93508360208202850161311d85612f60565b8060005b85811015613159578484038952815161313a85826130d5565b9450613145836130e9565b925060208a01995050600181019050613121565b50829750879550505050505092915050565b6131748161282e565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131b4578082015181840152602081019050613199565b60008484015250505050565b60006131cb8261317a565b6131d58185613185565b93506131e5818560208601613196565b6131ee81612a12565b840191505092915050565b6000606082019050818103600083015261321381866130f6565b9050613222602083018561316b565b818103604083015261323481846131c0565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b600061329a602b83612d30565b91506132a58261323e565b604082019050919050565b600060208201905081810360008301526132c98161328d565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b600061332c602c83612d30565b9150613337826132d0565b604082019050919050565b6000602082019050818103600083015261335b8161331f565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b60006133be603583612d30565b91506133c982613362565b604082019050919050565b600060208201905081810360008301526133ed816133b1565b9050919050565b60006bffffffffffffffffffffffff82169050919050565b6000613417826133f4565b91506bffffffffffffffffffffffff820361343557613434612ec3565b5b600182019050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b600061349c603883612d30565b91506134a782613440565b604082019050919050565b600060208201905081810360008301526134cb8161348f565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b600061352e603683612d30565b9150613539826134d2565b604082019050919050565b6000602082019050818103600083015261355d81613521565b9050919050565b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b60006135c0603c83612d30565b91506135cb82613564565b604082019050919050565b600060208201905081810360008301526135ef816135b3565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b6000613652603d83612d30565b915061365d826135f6565b604082019050919050565b6000602082019050818103600083015261368181613645565b9050919050565b600081905092915050565b600061369e8261317a565b6136a88185613688565b93506136b8818560208601613196565b80840191505092915050565b60006136d08284613693565b915081905092915050565b600081519050919050565b60006136f1826136db565b6136fb8185612d30565b935061370b818560208601613196565b61371481612a12565b840191505092915050565b6000602082019050818103600083015261373981846136e6565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b600061379d602683612d30565b91506137a882613741565b604082019050919050565b600060208201905081810360008301526137cc81613790565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b600061382f603783612d30565b915061383a826137d3565b604082019050919050565b6000602082019050818103600083015261385e81613822565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e000000000000000000000000000000000000602082015250565b60006138c1602e83612d30565b91506138cc82613865565b604082019050919050565b600060208201905081810360008301526138f0816138b4565b9050919050565b600061390282612ef2565b915061390d83612ef2565b925082820390508181111561392557613924612ec3565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a2646970667358221220397d6bc128858945df35e9fa5d35a9136bd69a90d0474bc2b1e565efa4670e3264736f6c63430008110033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80631f931c1c14610051578063a38775811461006d578063a44a1d6d1461009d578063b6f4ad23146100b9575b600080fd5b61006b600480360381019061006691906128c2565b6100e9565b005b610087600480360381019061008291906129af565b6101b7565b60405161009491906129f7565b60405180910390f35b6100b760048036038101906100b291906129af565b6101be565b005b6100d360048036038101906100ce91906129af565b6101c1565b6040516100e091906129f7565b60405180910390f35b6100fd67289dfeb4c66136a960c01b6101be565b61011167e5a597ae739b87c260c01b6101be565b610125679b7aa0fdc6113ac960c01b6101be565b61012d6101cc565b6101416734b421f3a9ef97d960c01b6101be565b610155677c88f654614b38de60c01b6101be565b6101b08585906101659190612d1b565b8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506102cb565b5050505050565b6000919050565b50565b600060019050919050565b6101e06721b40df6734b4e6460c01b610716565b6101f4677276b6d1bbf7b68b60c01b610716565b61020867f8611dbcb55a1f7860c01b610716565b61021c676cedf54251a3375160c01b610716565b610224610719565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ac90612db3565b60405180910390fd5b6102c967e452355b21bbd41e60c01b610716565b565b6102df67a19105344d9f01ff60c01b610716565b6102f367b64c935a270824d460c01b610716565b61030767472298b363a8ccd460c01b610716565b60005b835181101561067b57610327679f2b3e118cce749f60c01b610716565b61033b67d896c15712e4c99e60c01b610716565b60008482815181106103505761034f612dd3565b5b602002602001015160200151905061037267e9e9e49fe14a781e60c01b610716565b61038667c54028706882e3fd60c01b610716565b6000600281111561039a57610399612e02565b5b8160028111156103ad576103ac612e02565b5b03610439576103c667f4728512f8de3aa360c01b610716565b6103da6740469cb01cf2faa260c01b610716565b6103ee6721754418551a963060c01b610716565b61043485838151811061040457610403612dd3565b5b60200260200101516000015186848151811061042357610422612dd3565b5b602002602001015160400151610797565b610667565b61044d67964166c6a112694260c01b610716565b610461675cddae6a9e8d84f060c01b610716565b6001600281111561047557610474612e02565b5b81600281111561048857610487612e02565b5b03610514576104a1676469914f5066ffc460c01b610716565b6104b567cf470716cadf00df60c01b610716565b6104c967f4605d17f3b1301c60c01b610716565b61050f8583815181106104df576104de612dd3565b5b6020026020010151600001518684815181106104fe576104fd612dd3565b5b602002602001015160400151610c93565b610666565b61052867e72a92bcd515975b60c01b610716565b61053c67b1e174fb1bb1b85360c01b610716565b60028081111561054f5761054e612e02565b5b81600281111561056257610561612e02565b5b036105ee5761057b67db0f598297fb7fbc60c01b610716565b61058f671a55e89439142ee060c01b610716565b6105a36711513d20488a52e060c01b610716565b6105e98583815181106105b9576105b8612dd3565b5b6020026020010151600001518684815181106105d8576105d7612dd3565b5b6020026020010151604001516111c1565b610665565b61060267cf3e056f531577e760c01b610716565b610616671903ab370305c25960c01b610716565b61062a676af2c3acde0bf38760c01b610716565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065c90612ea3565b60405180910390fd5b5b5b50808061067390612efc565b91505061030a565b5061069067dc19ebbaa4095b3160c01b610716565b6106a4678571dd875084a3e060c01b610716565b7f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738383836040516106d7939291906131f9565b60405180910390a16106f367faecfc839f48e07b60c01b610716565b6107076792cae661f317b4ce60c01b610716565b61071182826114c8565b505050565b50565b600061072f674f9afbb757d80e6360c01b610716565b610743674b823103125da15660c01b610716565b610757674ab715c231c1608d60c01b610716565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061079067982d9bb86701efa860c01b610716565b8091505090565b6107ab67cc97399e32da22a560c01b610716565b6107bf67021d8eb4be5452a860c01b610716565b6107d3678748409130ac41fa60c01b610716565b6107e767ccd015372bd45b9c60c01b610716565b600081511161082b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610822906132b0565b60405180910390fd5b61083f67d0bcd87037df4e5a60c01b610716565b6108536777b6df3c8e2ebf4660c01b610716565b6108676755a810a63d06fcdd60c01b610716565b6000610871610719565b90506108876747e187c4c65f108c60c01b610716565b61089b670bde1222440aa4dd60c01b610716565b6108af67f7810a880d4fe12d60c01b610716565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361091e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091590613342565b60405180910390fd5b610932676e4814773ca1e6f960c01b610716565b61094667abb5961c588ff7dc60c01b610716565b61095a6775b1393f5ceb0a4860c01b610716565b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506109ba6779cb28ccf660334260c01b610716565b6109ce671a64ec3fd612cafd60c01b610716565b6000816bffffffffffffffffffffffff1603610a2f576109f8672a23378c0ae85db760c01b610716565b610a0c670288376b7f20f78660c01b610716565b610a2067d14bbd8396b718cd60c01b610716565b610a2a8285611973565b610a44565b610a43675eb466f90a620b0f60c01b610716565b5b610a5867fcd8a57751c34a1160c01b610716565b610a6c67c014c8ff907100cb60c01b610716565b60005b8351811015610c8c57610a8c677134da3b2ea217c360c01b610716565b610aa0678ef84b1f8594c55e60c01b610716565b6000848281518110610ab557610ab4612dd3565b5b60200260200101519050610ad367e6627f219f43163560c01b610716565b610ae7672b0989e1ce351d2c60c01b610716565b6000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610b76678edc0ee3600e6f7160c01b610716565b610b8a67acff68f00aaf198060c01b610716565b610b9e678e7e9da0f87df0c460c01b610716565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c04906133d4565b60405180910390fd5b610c2167de5c2f108b7a76ad60c01b610716565b610c35679df301acb4b4e7b560c01b610716565b610c4967d5dd90cfdfe4af7760c01b610716565b610c558583868a611ac6565b610c6967b77905e3474e693060c01b610716565b8380610c749061340c565b94505050508080610c8490612efc565b915050610a6f565b5050505050565b610ca7672faab333134f8f2b60c01b610716565b610cbb67f1aef7c8a9655d5360c01b610716565b610ccf67d203ed109c17319660c01b610716565b610ce367f4734d8378f4311060c01b610716565b6000815111610d27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1e906132b0565b60405180910390fd5b610d3b6754602ce0fe5a43bf60c01b610716565b610d4f67f46efb4b2c2c709e60c01b610716565b610d6367610110a281fa82c760c01b610716565b6000610d6d610719565b9050610d8367edc9c99031ecb10d60c01b610716565b610d976767fe440300c94a3460c01b610716565b610dab6784ec279df893a23160c01b610716565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1190613342565b60405180910390fd5b610e2e678fb1a303062b7c3660c01b610716565b610e42672659fafa49e6fe9a60c01b610716565b610e5667151721b3adf3095360c01b610716565b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050610eb66747aaf74cd533212060c01b610716565b610eca6703de6b9bbbb4e65460c01b610716565b6000816bffffffffffffffffffffffff1603610f2b57610ef4677f40383c8703753660c01b610716565b610f0867bee7ffe190c4ad3c60c01b610716565b610f1c6755bd06ec28bd8be360c01b610716565b610f268285611973565b610f40565b610f3f67dd6dd2122982fcbd60c01b610716565b5b610f5467c00fc6f5b3cfec0760c01b610716565b610f686712c602b6c749bc1660c01b610716565b60005b83518110156111ba57610f8867b01c581fb6bf76d460c01b610716565b610f9c6772bf81d7d68cd5cc60c01b610716565b6000848281518110610fb157610fb0612dd3565b5b60200260200101519050610fcf67f378c2c5d2ac591860c01b610716565b610fe3672abe9487f14424bf60c01b610716565b6000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061107267c938893e73b6cc8660c01b610716565b61108667b830452a6260fe5860c01b610716565b61109a67732490d4bd014f1160c01b610716565b8673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611108576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ff906134b2565b60405180910390fd5b61111c67307ef01dc603673f60c01b610716565b61113067df9b9ad53f3498bb60c01b610716565b61114467ef74a1c742a2ef4b60c01b610716565b61114f858284611cd7565b6111636709eba8384d15433760c01b610716565b61117767eb34f0e39cc002be60c01b610716565b6111838583868a611ac6565b61119767c8e26e167d4df53e60c01b610716565b83806111a29061340c565b945050505080806111b290612efc565b915050610f6b565b5050505050565b6111d567484f249b41b9afdf60c01b610716565b6111e9672afee721a436189e60c01b610716565b6111fd6790c0f4303981d53860c01b610716565b61121167b69809b50e9b29b160c01b610716565b6000815111611255576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124c906132b0565b60405180910390fd5b6112696703449e0de1d16e1460c01b610716565b61127d67043931a3bf63a76460c01b610716565b6112916783eac4de134a189760c01b610716565b600061129b610719565b90506112b1676fa9503e3a33edf160c01b610716565b6112c567565ff8422e73f48260c01b610716565b6112d967a43a53c1c8fdb01860c01b610716565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133f90613544565b60405180910390fd5b61135c67a83ec82cf318ce9960c01b610716565b6113706729de67dbee8a781960c01b610716565b6113846778ae44bab32ab16d60c01b610716565b60005b82518110156114c2576113a467c86ec2c930ebf39060c01b610716565b6113b867bb2f8bac9067d0d960c01b610716565b60008382815181106113cd576113cc612dd3565b5b602002602001015190506113eb67afdb7f7eafa2419160c01b610716565b6113ff67336a3f69f07dbd0a60c01b610716565b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061148e67a9a5f6b739625a6060c01b610716565b6114a267fd046ea59cd94d2a60c01b610716565b6114ad848284611cd7565b505080806114ba90612efc565b915050611387565b50505050565b6114dc67029e1a56337e048460c01b610716565b6114f067165337675d3a848660c01b610716565b611504674613682e59aed10a60c01b610716565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115e55761154c6788e41d767c30804a60c01b610716565b61156067509782c75193bd1560c01b610716565b611574677c55baba9bedefc760c01b610716565b6115886779b630e4a1a501b160c01b610716565b60008151146115cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c3906135d6565b60405180910390fd5b6115e0671cf5cba47462738c60c01b610716565b61196f565b6115f967d87fba57f9fd56d260c01b610716565b61160d6785ecbfea545b551c60c01b610716565b611621675a99520875f542d360c01b610716565b611635677335d4909eb3f6ed60c01b610716565b6000815111611679576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167090613668565b60405180910390fd5b61168d67e2308116fde49ef660c01b610716565b6116a167e68a1e15bfb15c1560c01b610716565b6116b567e2f9c57761f027da60c01b610716565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461174b576116fc677e43db5cf3dda55a60c01b610716565b61171067f9079825f16296d860c01b610716565b6117246722169a84f6e6288860c01b610716565b6117468260405180606001604052806028815260200161395b602891396126a3565b611760565b61175f6756028f6713aeb61660c01b610716565b5b611774678b5d37b494e8790c60c01b610716565b6117886732f3ff1c4d01de4c60c01b610716565b6000808373ffffffffffffffffffffffffffffffffffffffff16836040516117b091906136c4565b600060405180830381855af49150503d80600081146117eb576040519150601f19603f3d011682016040523d82523d6000602084013e6117f0565b606091505b509150915061180967cb519b28cdf2316460c01b610716565b61181d67d3126d202060687460c01b610716565b81611958576118366713957e4282cdd48760c01b610716565b61184a676bcab06e51e2612c60c01b610716565b61185e67d3bfca2e5aa4d84960c01b610716565b6000815111156118e15761187c673aa967c1a865c9c260c01b610716565b61189067f27acd53282addda60c01b610716565b6118a46780ab759cddda78d060c01b610716565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d8919061371f565b60405180910390fd5b6118f567a434d1c24e3903bc60c01b610716565b61190967d32e3505412c44c560c01b610716565b61191d677d8323cb74d7c2d860c01b610716565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194f906137b3565b60405180910390fd5b61196c67bc6651a6d16ea71460c01b610716565b50505b5050565b6119876745cff900de072b7660c01b610716565b61199b67ac3e31ef1ea5c74960c01b610716565b6119af673364688f11db6d0d60c01b610716565b6119d181604051806060016040528060248152602001613983602491396126a3565b6119e567b9f39a1cc8adecc260c01b610716565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550611a496718823160317e019160c01b610716565b611a5d676ae1118a96d2a90560c01b610716565b81600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b611ada67a2899c53551cdd3760c01b610716565b611aee678197d74e06e4145f60c01b610716565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550611b87677d99602b18ea589060c01b610716565b611b9b67351b6ed487ae748960c01b610716565b8360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c0217905550611c3c67c24c5f99c230f00760c01b610716565b80846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b611ceb6787c03a3a3424540460c01b610716565b611cff672e3806f37bc3a9d460c01b610716565b611d13678d411e0bbad3542c60c01b610716565b611d276726e5377f8db7750360c01b610716565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8d90613845565b60405180910390fd5b611daa67ebcad92e55ad094460c01b610716565b611dbe6751364413e637bba560c01b610716565b611dd26792673f376289e6e260c01b610716565b611de667f72487d3a8cf4ac460c01b610716565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4b906138d7565b60405180910390fd5b611e6867a4c3c236bcab394860c01b610716565b611e7c677e1962b66805ad7060c01b610716565b611e90670d999328d8a5d9c360c01b610716565b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050611f2567d10337e1e2ecfc3960c01b610716565b611f39677b893f30fdd7ad7060c01b610716565b600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180549050611f8f91906138f7565b9050611fa567bb5bf925ceece87660c01b610716565b611fb9676df862371a13aaa560c01b610716565b8082146121b357611fd467156a8665fdd7526f60c01b610716565b611fe8673cefa8bc28e7d12860c01b610716565b611ffc67bdc380bd85401db960c01b610716565b60008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001828154811061205457612053612dd3565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b905061208d671de77bf8f010eaec60c01b610716565b808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000184815481106120e4576120e3612dd3565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c0217905550612128673af62f9c8f759fb160c01b610716565b82866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550506121c8565b6121c7671d9b423266d067f060c01b610716565b5b6121dc67018034db5579529460c01b610716565b6121f067a1c9b3117b7c6ab660c01b610716565b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054806122445761224361392b565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff0219169055905561228867559997c386b3648460c01b610716565b846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff021916905550506123386760a723ea0e7e1d4860c01b610716565b61234c67ff433d7c2e2ac4be60c01b610716565b60008103612687576123686762db4abf7f19cb2060c01b610716565b61237c67efe6f413d09d1ebd60c01b610716565b61239067ec471a641a3edf7960c01b610716565b6000600186600201805490506123a691906138f7565b90506123bb6622a131c51aff2c60c01b610716565b6123cf67919cfbc3e76423a760c01b610716565b60008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154905061242c674e9eba62f8a28b9860c01b610716565b6124406799c973d204243fa060c01b610716565b81811461259e5761245b673c79f4e3584d9a5960c01b610716565b61246f67990168f15e45b6b860c01b610716565b612483678582ef208a32dc4260c01b610716565b600087600201838154811061249b5761249a612dd3565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506124dc671085af932ae9ef7260c01b610716565b808860020183815481106124f3576124f2612dd3565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061254f67ad58108eb86eb21760c01b610716565b818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550506125b3565b6125b267804be83a13f0191a60c01b610716565b5b6125c767b1f28e33128b33c960c01b610716565b6125db67c4cd68f75da79ff060c01b610716565b866002018054806125ef576125ee61392b565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561263867a379df54f7bb9fb460c01b610716565b8660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009055505061269c565b61269b671627b1de00b56a1b60c01b610716565b5b5050505050565b6126b767f91685f166b890e160c01b610716565b6126cb672a44665c1fa886a160c01b610716565b6126df6756e8a556d62b0f5e60c01b610716565b60006126f567996ed809f12ff03160c01b610716565b823b905061270d6709c9d04de4f50a1e60c01b610716565b61272167b71747c1488d4acd60c01b610716565b61273567f052a96327eb0abf60c01b610716565b60008111829061277b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612772919061371f565b60405180910390fd5b5061279067b956b25dc409113860c01b610716565b505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126127ce576127cd6127a9565b5b8235905067ffffffffffffffff8111156127eb576127ea6127ae565b5b602083019150836020820283011115612807576128066127b3565b5b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128398261280e565b9050919050565b6128498161282e565b811461285457600080fd5b50565b60008135905061286681612840565b92915050565b60008083601f840112612882576128816127a9565b5b8235905067ffffffffffffffff81111561289f5761289e6127ae565b5b6020830191508360018202830111156128bb576128ba6127b3565b5b9250929050565b6000806000806000606086880312156128de576128dd61279f565b5b600086013567ffffffffffffffff8111156128fc576128fb6127a4565b5b612908888289016127b8565b9550955050602061291b88828901612857565b935050604086013567ffffffffffffffff81111561293c5761293b6127a4565b5b6129488882890161286c565b92509250509295509295909350565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b61298c81612957565b811461299757600080fd5b50565b6000813590506129a981612983565b92915050565b6000602082840312156129c5576129c461279f565b5b60006129d38482850161299a565b91505092915050565b60008115159050919050565b6129f1816129dc565b82525050565b6000602082019050612a0c60008301846129e8565b92915050565b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a5b82612a12565b810181811067ffffffffffffffff82111715612a7a57612a79612a23565b5b80604052505050565b6000612a8d612795565b9050612a998282612a52565b919050565b600067ffffffffffffffff821115612ab957612ab8612a23565b5b602082029050602081019050919050565b600080fd5b600080fd5b60038110612ae157600080fd5b50565b600081359050612af381612ad4565b92915050565b600067ffffffffffffffff821115612b1457612b13612a23565b5b602082029050602081019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612b5a81612b25565b8114612b6557600080fd5b50565b600081359050612b7781612b51565b92915050565b6000612b90612b8b84612af9565b612a83565b90508083825260208201905060208402830185811115612bb357612bb26127b3565b5b835b81811015612bdc5780612bc88882612b68565b845260208401935050602081019050612bb5565b5050509392505050565b600082601f830112612bfb57612bfa6127a9565b5b8135612c0b848260208601612b7d565b91505092915050565b600060608284031215612c2a57612c29612aca565b5b612c346060612a83565b90506000612c4484828501612857565b6000830152506020612c5884828501612ae4565b602083015250604082013567ffffffffffffffff811115612c7c57612c7b612acf565b5b612c8884828501612be6565b60408301525092915050565b6000612ca7612ca284612a9e565b612a83565b90508083825260208201905060208402830185811115612cca57612cc96127b3565b5b835b81811015612d1157803567ffffffffffffffff811115612cef57612cee6127a9565b5b808601612cfc8982612c14565b85526020850194505050602081019050612ccc565b5050509392505050565b6000612d28368484612c94565b905092915050565b600082825260208201905092915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d9d602283612d30565b9150612da882612d41565b604082019050919050565b60006020820190508181036000830152612dcc81612d90565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b6000612e8d602783612d30565b9150612e9882612e31565b604082019050919050565b60006020820190508181036000830152612ebc81612e80565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000612f0782612ef2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f3957612f38612ec3565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f798161282e565b82525050565b60038110612f9057612f8f612e02565b5b50565b6000819050612fa182612f7f565b919050565b6000612fb182612f93565b9050919050565b612fc181612fa6565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ffc81612b25565b82525050565b600061300e8383612ff3565b60208301905092915050565b6000602082019050919050565b600061303282612fc7565b61303c8185612fd2565b935061304783612fe3565b8060005b8381101561307857815161305f8882613002565b975061306a8361301a565b92505060018101905061304b565b5085935050505092915050565b600060608301600083015161309d6000860182612f70565b5060208301516130b06020860182612fb8565b50604083015184820360408601526130c88282613027565b9150508091505092915050565b60006130e18383613085565b905092915050565b6000602082019050919050565b600061310182612f44565b61310b8185612f4f565b93508360208202850161311d85612f60565b8060005b85811015613159578484038952815161313a85826130d5565b9450613145836130e9565b925060208a01995050600181019050613121565b50829750879550505050505092915050565b6131748161282e565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131b4578082015181840152602081019050613199565b60008484015250505050565b60006131cb8261317a565b6131d58185613185565b93506131e5818560208601613196565b6131ee81612a12565b840191505092915050565b6000606082019050818103600083015261321381866130f6565b9050613222602083018561316b565b818103604083015261323481846131c0565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b600061329a602b83612d30565b91506132a58261323e565b604082019050919050565b600060208201905081810360008301526132c98161328d565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b600061332c602c83612d30565b9150613337826132d0565b604082019050919050565b6000602082019050818103600083015261335b8161331f565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b60006133be603583612d30565b91506133c982613362565b604082019050919050565b600060208201905081810360008301526133ed816133b1565b9050919050565b60006bffffffffffffffffffffffff82169050919050565b6000613417826133f4565b91506bffffffffffffffffffffffff820361343557613434612ec3565b5b600182019050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b600061349c603883612d30565b91506134a782613440565b604082019050919050565b600060208201905081810360008301526134cb8161348f565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b600061352e603683612d30565b9150613539826134d2565b604082019050919050565b6000602082019050818103600083015261355d81613521565b9050919050565b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b60006135c0603c83612d30565b91506135cb82613564565b604082019050919050565b600060208201905081810360008301526135ef816135b3565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b6000613652603d83612d30565b915061365d826135f6565b604082019050919050565b6000602082019050818103600083015261368181613645565b9050919050565b600081905092915050565b600061369e8261317a565b6136a88185613688565b93506136b8818560208601613196565b80840191505092915050565b60006136d08284613693565b915081905092915050565b600081519050919050565b60006136f1826136db565b6136fb8185612d30565b935061370b818560208601613196565b61371481612a12565b840191505092915050565b6000602082019050818103600083015261373981846136e6565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b600061379d602683612d30565b91506137a882613741565b604082019050919050565b600060208201905081810360008301526137cc81613790565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b600061382f603783612d30565b915061383a826137d3565b604082019050919050565b6000602082019050818103600083015261385e81613822565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e000000000000000000000000000000000000602082015250565b60006138c1602e83612d30565b91506138cc82613865565b604082019050919050565b600060208201905081810360008301526138f0816138b4565b9050919050565b600061390282612ef2565b915061390d83612ef2565b925082820390508181111561392557613924612ec3565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a2646970667358221220397d6bc128858945df35e9fa5d35a9136bd69a90d0474bc2b1e565efa4670e3264736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/DiamondLoupeFacet.json b/artifacts/DiamondLoupeFacet.json index 0a1ffab1..126015f9 100644 --- a/artifacts/DiamondLoupeFacet.json +++ b/artifacts/DiamondLoupeFacet.json @@ -3,6 +3,57 @@ "contractName": "DiamondLoupeFacet", "sourceName": "src/bridges/facets/DiamondLoupeFacet.sol", "abi": [ + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__cb71d28d", + "type": "bytes8" + } + ], + "name": "c_cb71d28d", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__cb71d28d", + "type": "bytes8" + } + ], + "name": "c_falsecb71d28d", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__cb71d28d", + "type": "bytes8" + } + ], + "name": "c_truecb71d28d", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { @@ -99,8 +150,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50610c0c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806301ffc9a71461005c57806352ef6b2c1461008c5780637a0ed627146100aa578063adfca15e146100c8578063cdffacc6146100f8575b600080fd5b6100766004803603810190610071919061068f565b610128565b60405161008391906106d7565b60405180910390f35b61009461019e565b6040516100a191906107e2565b60405180910390f35b6100b261023b565b6040516100bf91906109c1565b60405180910390f35b6100e260048036038101906100dd9190610a0f565b61045e565b6040516100ef9190610aab565b60405180910390f35b610112600480360381019061010d919061068f565b610549565b60405161011f9190610adc565b60405180910390f35b6000806101336105d5565b9050806003016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff16915050919050565b606060006101aa6105d5565b90508060020180548060200260200160405190810160405280929190818152602001828054801561023057602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116101e6575b505050505091505090565b606060006102476105d5565b90506000816002018054905090508067ffffffffffffffff81111561026f5761026e610af7565b5b6040519080825280602002602001820160405280156102a857816020015b610295610602565b81526020019060019003908161028d5790505b50925060005b818110156104585760008360020182815481106102ce576102cd610b26565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508085838151811061030f5761030e610b26565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548060200260200160405190810160405280929190818152602001828054801561041d57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116103ca5790505b505050505085838151811061043557610434610b26565b5b60200260200101516020018190525050808061045090610b8e565b9150506102ae565b50505090565b6060600061046a6105d5565b90508060010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548060200260200160405190810160405280929190818152602001828054801561053c57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116104e95790505b5050505050915050919050565b6000806105546105d5565b9050806000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61066c81610637565b811461067757600080fd5b50565b60008135905061068981610663565b92915050565b6000602082840312156106a5576106a4610632565b5b60006106b38482850161067a565b91505092915050565b60008115159050919050565b6106d1816106bc565b82525050565b60006020820190506106ec60008301846106c8565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006107498261071e565b9050919050565b6107598161073e565b82525050565b600061076b8383610750565b60208301905092915050565b6000602082019050919050565b600061078f826106f2565b61079981856106fd565b93506107a48361070e565b8060005b838110156107d55781516107bc888261075f565b97506107c783610777565b9250506001810190506107a8565b5085935050505092915050565b600060208201905081810360008301526107fc8184610784565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61086581610637565b82525050565b6000610877838361085c565b60208301905092915050565b6000602082019050919050565b600061089b82610830565b6108a5818561083b565b93506108b08361084c565b8060005b838110156108e15781516108c8888261086b565b97506108d383610883565b9250506001810190506108b4565b5085935050505092915050565b60006040830160008301516109066000860182610750565b506020830151848203602086015261091e8282610890565b9150508091505092915050565b600061093783836108ee565b905092915050565b6000602082019050919050565b600061095782610804565b610961818561080f565b93508360208202850161097385610820565b8060005b858110156109af5784840389528151610990858261092b565b945061099b8361093f565b925060208a01995050600181019050610977565b50829750879550505050505092915050565b600060208201905081810360008301526109db818461094c565b905092915050565b6109ec8161073e565b81146109f757600080fd5b50565b600081359050610a09816109e3565b92915050565b600060208284031215610a2557610a24610632565b5b6000610a33848285016109fa565b91505092915050565b600082825260208201905092915050565b6000610a5882610830565b610a628185610a3c565b9350610a6d8361084c565b8060005b83811015610a9e578151610a85888261086b565b9750610a9083610883565b925050600181019050610a71565b5085935050505092915050565b60006020820190508181036000830152610ac58184610a4d565b905092915050565b610ad68161073e565b82525050565b6000602082019050610af16000830184610acd565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000610b9982610b84565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610bcb57610bca610b55565b5b60018201905091905056fea2646970667358221220ef9c4d5ee27fa9078434fe5fd9d16f9b8885f43dc1a58f1befea84c4bbc0077664736f6c63430008110033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806301ffc9a71461005c57806352ef6b2c1461008c5780637a0ed627146100aa578063adfca15e146100c8578063cdffacc6146100f8575b600080fd5b6100766004803603810190610071919061068f565b610128565b60405161008391906106d7565b60405180910390f35b61009461019e565b6040516100a191906107e2565b60405180910390f35b6100b261023b565b6040516100bf91906109c1565b60405180910390f35b6100e260048036038101906100dd9190610a0f565b61045e565b6040516100ef9190610aab565b60405180910390f35b610112600480360381019061010d919061068f565b610549565b60405161011f9190610adc565b60405180910390f35b6000806101336105d5565b9050806003016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff16915050919050565b606060006101aa6105d5565b90508060020180548060200260200160405190810160405280929190818152602001828054801561023057602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116101e6575b505050505091505090565b606060006102476105d5565b90506000816002018054905090508067ffffffffffffffff81111561026f5761026e610af7565b5b6040519080825280602002602001820160405280156102a857816020015b610295610602565b81526020019060019003908161028d5790505b50925060005b818110156104585760008360020182815481106102ce576102cd610b26565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508085838151811061030f5761030e610b26565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548060200260200160405190810160405280929190818152602001828054801561041d57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116103ca5790505b505050505085838151811061043557610434610b26565b5b60200260200101516020018190525050808061045090610b8e565b9150506102ae565b50505090565b6060600061046a6105d5565b90508060010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548060200260200160405190810160405280929190818152602001828054801561053c57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116104e95790505b5050505050915050919050565b6000806105546105d5565b9050806000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61066c81610637565b811461067757600080fd5b50565b60008135905061068981610663565b92915050565b6000602082840312156106a5576106a4610632565b5b60006106b38482850161067a565b91505092915050565b60008115159050919050565b6106d1816106bc565b82525050565b60006020820190506106ec60008301846106c8565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006107498261071e565b9050919050565b6107598161073e565b82525050565b600061076b8383610750565b60208301905092915050565b6000602082019050919050565b600061078f826106f2565b61079981856106fd565b93506107a48361070e565b8060005b838110156107d55781516107bc888261075f565b97506107c783610777565b9250506001810190506107a8565b5085935050505092915050565b600060208201905081810360008301526107fc8184610784565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61086581610637565b82525050565b6000610877838361085c565b60208301905092915050565b6000602082019050919050565b600061089b82610830565b6108a5818561083b565b93506108b08361084c565b8060005b838110156108e15781516108c8888261086b565b97506108d383610883565b9250506001810190506108b4565b5085935050505092915050565b60006040830160008301516109066000860182610750565b506020830151848203602086015261091e8282610890565b9150508091505092915050565b600061093783836108ee565b905092915050565b6000602082019050919050565b600061095782610804565b610961818561080f565b93508360208202850161097385610820565b8060005b858110156109af5784840389528151610990858261092b565b945061099b8361093f565b925060208a01995050600181019050610977565b50829750879550505050505092915050565b600060208201905081810360008301526109db818461094c565b905092915050565b6109ec8161073e565b81146109f757600080fd5b50565b600081359050610a09816109e3565b92915050565b600060208284031215610a2557610a24610632565b5b6000610a33848285016109fa565b91505092915050565b600082825260208201905092915050565b6000610a5882610830565b610a628185610a3c565b9350610a6d8361084c565b8060005b83811015610a9e578151610a85888261086b565b9750610a9083610883565b925050600181019050610a71565b5085935050505092915050565b60006020820190508181036000830152610ac58184610a4d565b905092915050565b610ad68161073e565b82525050565b6000602082019050610af16000830184610acd565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000610b9982610b84565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610bcb57610bca610b55565b5b60018201905091905056fea2646970667358221220ef9c4d5ee27fa9078434fe5fd9d16f9b8885f43dc1a58f1befea84c4bbc0077664736f6c63430008110033", + "bytecode": "0x608060405234801561001057600080fd5b50610fed806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063adfca15e1161005b578063adfca15e14610115578063cdffacc614610145578063cffb5dec14610175578063f9f7c365146101a557610088565b806301ffc9a71461008d5780631a7cfa86146100bd57806352ef6b2c146100d95780637a0ed627146100f7575b600080fd5b6100a760048036038101906100a291906109eb565b6101d5565b6040516100b49190610a33565b60405180910390f35b6100d760048036038101906100d29190610aa6565b6102b0565b005b6100e16102b3565b6040516100ee9190610bc3565b60405180910390f35b6100ff6103a0565b60405161010c9190610da2565b60405180910390f35b61012f600480360381019061012a9190610df0565b6106b3565b60405161013c9190610e8c565b60405180910390f35b61015f600480360381019061015a91906109eb565b6107ee565b60405161016c9190610ebd565b60405180910390f35b61018f600480360381019061018a9190610aa6565b6108cb565b60405161019c9190610a33565b60405180910390f35b6101bf60048036038101906101ba9190610aa6565b6108d2565b6040516101cc9190610a33565b60405180910390f35b60006101eb67285efd6f4e8eb41160c01b6102b0565b6101ff679667d234011edd8560c01b6102b0565b610213674d70fb37c7dd087760c01b6102b0565b600061021d6108dd565b90506102336735ba6e9c5701761860c01b6102b0565b61024767610d1f4a0bb3823a60c01b6102b0565b806003016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff16915050919050565b50565b60606102c9677f1de3f66179977b60c01b6102b0565b6102dd6774595e158391e43760c01b6102b0565b6102f167a74d20d6eaba1b4660c01b6102b0565b60006102fb6108dd565b905061031167f0ed24c854f6c73360c01b6102b0565b8060020180548060200260200160405190810160405280929190818152602001828054801561039557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161034b575b505050505091505090565b60606103b6674d80155458127eb460c01b6102b0565b6103ca679fa63900be221ebb60c01b6102b0565b6103de67eaad7781e34e55e860c01b6102b0565b60006103e86108dd565b90506103fe67cceaf84e7e9eb3f060c01b6102b0565b61041267e5500b1af7b537b760c01b6102b0565b600081600201805490509050610432670ef3f15519e6694a60c01b6102b0565b8067ffffffffffffffff81111561044c5761044b610ed8565b5b60405190808252806020026020018201604052801561048557816020015b61047261095e565b81526020019060019003908161046a5790505b50925061049c67162378066aec876b60c01b6102b0565b6104b0673b4a5083af334b4d60c01b6102b0565b60005b818110156106ad576104cf678fba1acd7dd9812160c01b6102b0565b6104e36736cf091544e7072160c01b6102b0565b60008360020182815481106104fb576104fa610f07565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061053c6701b5da9682d1107960c01b6102b0565b808583815181106105505761054f610f07565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506105a267c2f3430262c30ae560c01b6102b0565b8360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548060200260200160405190810160405280929190818152602001828054801561067257602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161061f5790505b505050505085838151811061068a57610689610f07565b5b6020026020010151602001819052505080806106a590610f6f565b9150506104b3565b50505090565b60606106c967f494b22b7fae5c5160c01b6102b0565b6106dd679693544bdf9bcfbb60c01b6102b0565b6106f167f40dfac7753be95460c01b6102b0565b60006106fb6108dd565b90506107116744ef83ae08424b2d60c01b6102b0565b8060010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054806020026020016040519081016040528092919081815260200182805480156107e157602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161078e5790505b5050505050915050919050565b60006108046721cd709b6caf5a7760c01b6102b0565b6108186798ae13998b39ee3760c01b6102b0565b61082c67fe378eb71e09567360c01b6102b0565b60006108366108dd565b905061084c670e751d6d9cd00f0860c01b6102b0565b806000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b6000919050565b600060019050919050565b60006108f3674f9afbb757d80e6360c01b61095b565b610907674b823103125da15660c01b61095b565b61091b674ab715c231c1608d60c01b61095b565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061095467982d9bb86701efa860c01b61095b565b8091505090565b50565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6109c881610993565b81146109d357600080fd5b50565b6000813590506109e5816109bf565b92915050565b600060208284031215610a0157610a0061098e565b5b6000610a0f848285016109d6565b91505092915050565b60008115159050919050565b610a2d81610a18565b82525050565b6000602082019050610a486000830184610a24565b92915050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b610a8381610a4e565b8114610a8e57600080fd5b50565b600081359050610aa081610a7a565b92915050565b600060208284031215610abc57610abb61098e565b5b6000610aca84828501610a91565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b2a82610aff565b9050919050565b610b3a81610b1f565b82525050565b6000610b4c8383610b31565b60208301905092915050565b6000602082019050919050565b6000610b7082610ad3565b610b7a8185610ade565b9350610b8583610aef565b8060005b83811015610bb6578151610b9d8882610b40565b9750610ba883610b58565b925050600181019050610b89565b5085935050505092915050565b60006020820190508181036000830152610bdd8184610b65565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610c4681610993565b82525050565b6000610c588383610c3d565b60208301905092915050565b6000602082019050919050565b6000610c7c82610c11565b610c868185610c1c565b9350610c9183610c2d565b8060005b83811015610cc2578151610ca98882610c4c565b9750610cb483610c64565b925050600181019050610c95565b5085935050505092915050565b6000604083016000830151610ce76000860182610b31565b5060208301518482036020860152610cff8282610c71565b9150508091505092915050565b6000610d188383610ccf565b905092915050565b6000602082019050919050565b6000610d3882610be5565b610d428185610bf0565b935083602082028501610d5485610c01565b8060005b85811015610d905784840389528151610d718582610d0c565b9450610d7c83610d20565b925060208a01995050600181019050610d58565b50829750879550505050505092915050565b60006020820190508181036000830152610dbc8184610d2d565b905092915050565b610dcd81610b1f565b8114610dd857600080fd5b50565b600081359050610dea81610dc4565b92915050565b600060208284031215610e0657610e0561098e565b5b6000610e1484828501610ddb565b91505092915050565b600082825260208201905092915050565b6000610e3982610c11565b610e438185610e1d565b9350610e4e83610c2d565b8060005b83811015610e7f578151610e668882610c4c565b9750610e7183610c64565b925050600181019050610e52565b5085935050505092915050565b60006020820190508181036000830152610ea68184610e2e565b905092915050565b610eb781610b1f565b82525050565b6000602082019050610ed26000830184610eae565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000610f7a82610f65565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610fac57610fab610f36565b5b60018201905091905056fea26469706673582212208ae89fa3fa833ae3bf910fdf8729e07a04a52370d167a31178eb59048c8e75e764736f6c63430008110033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063adfca15e1161005b578063adfca15e14610115578063cdffacc614610145578063cffb5dec14610175578063f9f7c365146101a557610088565b806301ffc9a71461008d5780631a7cfa86146100bd57806352ef6b2c146100d95780637a0ed627146100f7575b600080fd5b6100a760048036038101906100a291906109eb565b6101d5565b6040516100b49190610a33565b60405180910390f35b6100d760048036038101906100d29190610aa6565b6102b0565b005b6100e16102b3565b6040516100ee9190610bc3565b60405180910390f35b6100ff6103a0565b60405161010c9190610da2565b60405180910390f35b61012f600480360381019061012a9190610df0565b6106b3565b60405161013c9190610e8c565b60405180910390f35b61015f600480360381019061015a91906109eb565b6107ee565b60405161016c9190610ebd565b60405180910390f35b61018f600480360381019061018a9190610aa6565b6108cb565b60405161019c9190610a33565b60405180910390f35b6101bf60048036038101906101ba9190610aa6565b6108d2565b6040516101cc9190610a33565b60405180910390f35b60006101eb67285efd6f4e8eb41160c01b6102b0565b6101ff679667d234011edd8560c01b6102b0565b610213674d70fb37c7dd087760c01b6102b0565b600061021d6108dd565b90506102336735ba6e9c5701761860c01b6102b0565b61024767610d1f4a0bb3823a60c01b6102b0565b806003016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff16915050919050565b50565b60606102c9677f1de3f66179977b60c01b6102b0565b6102dd6774595e158391e43760c01b6102b0565b6102f167a74d20d6eaba1b4660c01b6102b0565b60006102fb6108dd565b905061031167f0ed24c854f6c73360c01b6102b0565b8060020180548060200260200160405190810160405280929190818152602001828054801561039557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161034b575b505050505091505090565b60606103b6674d80155458127eb460c01b6102b0565b6103ca679fa63900be221ebb60c01b6102b0565b6103de67eaad7781e34e55e860c01b6102b0565b60006103e86108dd565b90506103fe67cceaf84e7e9eb3f060c01b6102b0565b61041267e5500b1af7b537b760c01b6102b0565b600081600201805490509050610432670ef3f15519e6694a60c01b6102b0565b8067ffffffffffffffff81111561044c5761044b610ed8565b5b60405190808252806020026020018201604052801561048557816020015b61047261095e565b81526020019060019003908161046a5790505b50925061049c67162378066aec876b60c01b6102b0565b6104b0673b4a5083af334b4d60c01b6102b0565b60005b818110156106ad576104cf678fba1acd7dd9812160c01b6102b0565b6104e36736cf091544e7072160c01b6102b0565b60008360020182815481106104fb576104fa610f07565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061053c6701b5da9682d1107960c01b6102b0565b808583815181106105505761054f610f07565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506105a267c2f3430262c30ae560c01b6102b0565b8360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548060200260200160405190810160405280929190818152602001828054801561067257602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161061f5790505b505050505085838151811061068a57610689610f07565b5b6020026020010151602001819052505080806106a590610f6f565b9150506104b3565b50505090565b60606106c967f494b22b7fae5c5160c01b6102b0565b6106dd679693544bdf9bcfbb60c01b6102b0565b6106f167f40dfac7753be95460c01b6102b0565b60006106fb6108dd565b90506107116744ef83ae08424b2d60c01b6102b0565b8060010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054806020026020016040519081016040528092919081815260200182805480156107e157602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161078e5790505b5050505050915050919050565b60006108046721cd709b6caf5a7760c01b6102b0565b6108186798ae13998b39ee3760c01b6102b0565b61082c67fe378eb71e09567360c01b6102b0565b60006108366108dd565b905061084c670e751d6d9cd00f0860c01b6102b0565b806000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b6000919050565b600060019050919050565b60006108f3674f9afbb757d80e6360c01b61095b565b610907674b823103125da15660c01b61095b565b61091b674ab715c231c1608d60c01b61095b565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061095467982d9bb86701efa860c01b61095b565b8091505090565b50565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6109c881610993565b81146109d357600080fd5b50565b6000813590506109e5816109bf565b92915050565b600060208284031215610a0157610a0061098e565b5b6000610a0f848285016109d6565b91505092915050565b60008115159050919050565b610a2d81610a18565b82525050565b6000602082019050610a486000830184610a24565b92915050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b610a8381610a4e565b8114610a8e57600080fd5b50565b600081359050610aa081610a7a565b92915050565b600060208284031215610abc57610abb61098e565b5b6000610aca84828501610a91565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b2a82610aff565b9050919050565b610b3a81610b1f565b82525050565b6000610b4c8383610b31565b60208301905092915050565b6000602082019050919050565b6000610b7082610ad3565b610b7a8185610ade565b9350610b8583610aef565b8060005b83811015610bb6578151610b9d8882610b40565b9750610ba883610b58565b925050600181019050610b89565b5085935050505092915050565b60006020820190508181036000830152610bdd8184610b65565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610c4681610993565b82525050565b6000610c588383610c3d565b60208301905092915050565b6000602082019050919050565b6000610c7c82610c11565b610c868185610c1c565b9350610c9183610c2d565b8060005b83811015610cc2578151610ca98882610c4c565b9750610cb483610c64565b925050600181019050610c95565b5085935050505092915050565b6000604083016000830151610ce76000860182610b31565b5060208301518482036020860152610cff8282610c71565b9150508091505092915050565b6000610d188383610ccf565b905092915050565b6000602082019050919050565b6000610d3882610be5565b610d428185610bf0565b935083602082028501610d5485610c01565b8060005b85811015610d905784840389528151610d718582610d0c565b9450610d7c83610d20565b925060208a01995050600181019050610d58565b50829750879550505050505092915050565b60006020820190508181036000830152610dbc8184610d2d565b905092915050565b610dcd81610b1f565b8114610dd857600080fd5b50565b600081359050610dea81610dc4565b92915050565b600060208284031215610e0657610e0561098e565b5b6000610e1484828501610ddb565b91505092915050565b600082825260208201905092915050565b6000610e3982610c11565b610e438185610e1d565b9350610e4e83610c2d565b8060005b83811015610e7f578151610e668882610c4c565b9750610e7183610c64565b925050600181019050610e52565b5085935050505092915050565b60006020820190508181036000830152610ea68184610e2e565b905092915050565b610eb781610b1f565b82525050565b6000602082019050610ed26000830184610eae565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000610f7a82610f65565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610fac57610fab610f36565b5b60018201905091905056fea26469706673582212208ae89fa3fa833ae3bf910fdf8729e07a04a52370d167a31178eb59048c8e75e764736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/ENSAbstractResolver.json b/artifacts/ENSAbstractResolver.json index e2654240..002178d4 100644 --- a/artifacts/ENSAbstractResolver.json +++ b/artifacts/ENSAbstractResolver.json @@ -2,7 +2,59 @@ "_format": "hh-sol-artifact-1", "contractName": "ENSAbstractResolver", "sourceName": "src/ens/resolvers/ENSAbstractResolver.sol", - "abi": [], + "abi": [ + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f395fef5", + "type": "bytes8" + } + ], + "name": "c_f395fef5", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f395fef5", + "type": "bytes8" + } + ], + "name": "c_falsef395fef5", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f395fef5", + "type": "bytes8" + } + ], + "name": "c_truef395fef5", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], "bytecode": "0x", "deployedBytecode": "0x", "linkReferences": {}, diff --git a/artifacts/ENSAddressResolver.json b/artifacts/ENSAddressResolver.json index 3220a2f2..f1f94fdf 100644 --- a/artifacts/ENSAddressResolver.json +++ b/artifacts/ENSAddressResolver.json @@ -90,6 +90,108 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__3f206a34", + "type": "bytes8" + } + ], + "name": "c_3f206a34", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f395fef5", + "type": "bytes8" + } + ], + "name": "c_f395fef5", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__3f206a34", + "type": "bytes8" + } + ], + "name": "c_false3f206a34", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f395fef5", + "type": "bytes8" + } + ], + "name": "c_falsef395fef5", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__3f206a34", + "type": "bytes8" + } + ], + "name": "c_true3f206a34", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f395fef5", + "type": "bytes8" + } + ], + "name": "c_truef395fef5", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { diff --git a/artifacts/ENSController.json b/artifacts/ENSController.json index 9427b1ff..5636014b 100644 --- a/artifacts/ENSController.json +++ b/artifacts/ENSController.json @@ -292,6 +292,516 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_098c0657", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__0b6945c4", + "type": "bytes8" + } + ], + "name": "c_0b6945c4", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__3f206a34", + "type": "bytes8" + } + ], + "name": "c_3f206a34", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__52615ca8", + "type": "bytes8" + } + ], + "name": "c_52615ca8", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__633abef9", + "type": "bytes8" + } + ], + "name": "c_633abef9", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__6f06df17", + "type": "bytes8" + } + ], + "name": "c_6f06df17", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__7ffc1d72", + "type": "bytes8" + } + ], + "name": "c_7ffc1d72", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__8aa9670c", + "type": "bytes8" + } + ], + "name": "c_8aa9670c", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__d18be0f9", + "type": "bytes8" + } + ], + "name": "c_d18be0f9", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f395fef5", + "type": "bytes8" + } + ], + "name": "c_f395fef5", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_false098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__0b6945c4", + "type": "bytes8" + } + ], + "name": "c_false0b6945c4", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__3f206a34", + "type": "bytes8" + } + ], + "name": "c_false3f206a34", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__52615ca8", + "type": "bytes8" + } + ], + "name": "c_false52615ca8", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__633abef9", + "type": "bytes8" + } + ], + "name": "c_false633abef9", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__6f06df17", + "type": "bytes8" + } + ], + "name": "c_false6f06df17", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__7ffc1d72", + "type": "bytes8" + } + ], + "name": "c_false7ffc1d72", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__8aa9670c", + "type": "bytes8" + } + ], + "name": "c_false8aa9670c", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__d18be0f9", + "type": "bytes8" + } + ], + "name": "c_falsed18be0f9", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f395fef5", + "type": "bytes8" + } + ], + "name": "c_falsef395fef5", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_true098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__0b6945c4", + "type": "bytes8" + } + ], + "name": "c_true0b6945c4", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__3f206a34", + "type": "bytes8" + } + ], + "name": "c_true3f206a34", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__52615ca8", + "type": "bytes8" + } + ], + "name": "c_true52615ca8", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__633abef9", + "type": "bytes8" + } + ], + "name": "c_true633abef9", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__6f06df17", + "type": "bytes8" + } + ], + "name": "c_true6f06df17", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__7ffc1d72", + "type": "bytes8" + } + ], + "name": "c_true7ffc1d72", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__8aa9670c", + "type": "bytes8" + } + ], + "name": "c_true8aa9670c", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__d18be0f9", + "type": "bytes8" + } + ], + "name": "c_trued18be0f9", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f395fef5", + "type": "bytes8" + } + ], + "name": "c_truef395fef5", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [], "name": "chainId", @@ -758,8 +1268,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5032600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600046905080600281905550506149798061006e6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806371404156116100f9578063a91ee0dc11610097578063d0f710d611610071578063d0f710d614610512578063d5fa2b0014610542578063dc5b68a61461055e578063f1cb7e061461057a576101c4565b8063a91ee0dc146104a9578063c8690233146104c5578063c8cc2aee146104f6576101c4565b80637d0e0e7e116100d35780637d0e0e7e146104375780638b95dd71146104535780639a8a05921461046f578063a526d83b1461048d576101c4565b806371404156146103e157806377372213146103fd5780637b10399914610419576101c4565b8063392e53cd1161016657806355800f871161014057806355800f871461033557806359d1d43c14610351578063691f3431146103815780636df0cf42146103b1576101c4565b8063392e53cd146102cb5780633b3b57de146102e957806346386f7314610319576101c4565b8063116191b6116101a2578063116191b6146102455780631b3cd1421461026357806329ae6a7e1461029357806329cd62ea146102af576101c4565b806301ffc9a7146101c95780630c68ba21146101f957806310f13a8c14610229575b600080fd5b6101e360048036038101906101de91906133b4565b6105aa565b6040516101f091906141bc565b60405180910390f35b610213600480360381019061020e9190613066565b610834565b60405161022091906141bc565b60405180910390f35b610243600480360381019061023e9190613288565b610889565b005b61024d61096d565b60405161025a919061415d565b60405180910390f35b61027d600480360381019061027891906130b8565b610993565b60405161028a919061415d565b60405180910390f35b6102ad60048036038101906102a891906130b8565b6109c6565b005b6102c960048036038101906102c4919061311d565b610beb565b005b6102d3610cb3565b6040516102e091906141bc565b60405180910390f35b61030360048036038101906102fe91906130b8565b610d0b565b604051610310919061415d565b60405180910390f35b610333600480360381019061032e919061316c565b610d1d565b005b61034f600480360381019061034a91906130b8565b611017565b005b61036b60048036038101906103669190613230565b6112d8565b604051610378919061433d565b60405180910390f35b61039b600480360381019061039691906130b8565b6113ad565b6040516103a8919061433d565b60405180910390f35b6103cb60048036038101906103c69190613472565b611462565b6040516103d891906141d7565b60405180910390f35b6103fb60048036038101906103f69190613066565b611482565b005b61041760048036038101906104129190613230565b61169a565b005b610421611746565b60405161042e91906142fe565b60405180910390f35b610451600480360381019061044c91906130b8565b61176c565b005b61046d6004803603810190610468919061334d565b611a38565b005b610477611a92565b604051610484919061461f565b60405180910390f35b6104a760048036038101906104a29190613066565b611a98565b005b6104c360048036038101906104be91906133dd565b611b2f565b005b6104df60048036038101906104da91906130b8565b611d58565b6040516104ed92919061421b565b60405180910390f35b610510600480360381019061050b91906130b8565b611d92565b005b61052c600480360381019061052791906131d8565b6120a2565b60405161053991906141bc565b60405180910390f35b61055c600480360381019061055791906130e1565b6120fb565b005b61057860048036038101906105739190613406565b612153565b005b610594600480360381019061058f9190613311565b612366565b6040516105a191906142dc565b60405180910390f35b60006040516020016105bb9061406f565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061067d5750604051602001610626906140aa565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806106e95750604051602001610692906140fe565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061075557506040516020016106fe906140d4565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806107c1575060405160200161076a906140e9565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061082d57506040516020016107d6906140bf565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b846108938161242d565b6108d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c9906145df565b60405180910390fd5b82826007600089815260200190815260200160002087876040516108f7929190614056565b90815260200160405180910390209190610912929190612d39565b508484604051610923929190614056565b6040518091039020867fd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550878760405161095d929190614319565b60405180910390a3505050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60096020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006109d0612516565b90503073ffffffffffffffffffffffffffffffffffffffff166109f283612527565b73ffffffffffffffffffffffffffffffffffffffff1614610a48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3f9061443f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae09061437f565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c383836040518363ffffffff1660e01b8152600401610b469291906141f2565b600060405180830381600087803b158015610b6057600080fd5b505af1158015610b74573d6000803e3d6000fd5b505050506009600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557f7803a16d95f9ca635bdec561006625e7444d8a9f8463866643cc03af011779d38282604051610bdf9291906141f2565b60405180910390a15050565b82610bf58161242d565b610c34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2b906145df565b60405180910390fd5b604051806040016040528084815260200183815250600660008681526020019081526020016000206000820151816000015560208201518160010155905050837f1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e468484604051610ca592919061421b565b60405180910390a250505050565b60008073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b6000610d1682612527565b9050919050565b6000610d27612516565b90506000610d3682878761260c565b9050610d868185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612664565b610dc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbc9061439f565b60405180910390fd5b60008686604051602001610dda92919061402a565b6040516020818303038152906040528051906020012090503073ffffffffffffffffffffffffffffffffffffffff16610e1288612527565b73ffffffffffffffffffffffffffffffffffffffff1614610e68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5f9061441f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16610e8982612527565b73ffffffffffffffffffffffffffffffffffffffff1614610edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed6906143bf565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635ef2c7f08888303060006040518663ffffffff1660e01b8152600401610f43959493929190614244565b600060405180830381600087803b158015610f5d57600080fd5b505af1158015610f71573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c382856040518363ffffffff1660e01b8152600401610fd29291906141f2565b600060405180830381600087803b158015610fec57600080fd5b505af1158015611000573d6000803e3d6000fd5b5050505061100e81846126d1565b50505050505050565b6000611021612516565b9050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b815260040161107e91906141d7565b60206040518083038186803b15801561109657600080fd5b505afa1580156110aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ce919061308f565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461113b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111329061447f565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf846040518263ffffffff1660e01b81526004016111ad91906141d7565b60206040518083038186803b1580156111c557600080fd5b505afa1580156111d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111fd919061308f565b73ffffffffffffffffffffffffffffffffffffffff1614611253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124a9061435f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1661127483612527565b73ffffffffffffffffffffffffffffffffffffffff16146112ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c19061451f565b60405180910390fd5b6112d482826126d1565b5050565b60606007600085815260200190815260200160002083836040516112fd929190614056565b90815260200160405180910390208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561139f5780601f106113745761010080835404028352916020019161139f565b820191906000526020600020905b81548152906001019060200180831161138257829003601f168201915b505050505090509392505050565b6060600560008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114565780601f1061142b57610100808354040283529160200191611456565b820191906000526020600020905b81548152906001019060200180831161143957829003601f168201915b50505050509050919050565b600061147b82600001518360200151846040015161260c565b9050919050565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661150d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115049061449f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141561157c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115739061459f565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fe9061453f565b60405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b328260405161168f929190614193565b60405180910390a150565b826116a48161242d565b6116e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116da906145df565b60405180910390fd5b8282600560008781526020019081526020016000209190611705929190612d39565b50837fb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f78484604051611738929190614319565b60405180910390a250505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611776612516565b9050600073ffffffffffffffffffffffffffffffffffffffff1661179983612527565b73ffffffffffffffffffffffffffffffffffffffff16146117ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e6906144ff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611891576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611888906144df565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b815260040161190391906141d7565b60206040518083038186803b15801561191b57600080fd5b505afa15801561192f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611953919061308f565b73ffffffffffffffffffffffffffffffffffffffff16146119a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a09061455f565b60405180910390fd5b806009600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fc1e082a8c26f27c26e1bf5d0ce7ddd579ec7f6d7eb3ea90d8abd6c40991bae368282604051611a2c9291906141f2565b60405180910390a15050565b82611a428161242d565b611a81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a78906145df565b60405180910390fd5b611a8c8484846126e9565b50505050565b60025481565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611b23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1a9061449f565b60405180910390fd5b611b2c816127ab565b50565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611bba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb19061449f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611c2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c21906144bf565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611cbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb2906145ff565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdb0239c63d4033dcdd21bd44f8dd479a03efbae12f6bbe27c0a5f923d26514cc600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051611d4d919061415d565b60405180910390a150565b6000806006600084815260200190815260200160002060000154600660008581526020019081526020016000206001015491509150915091565b6000611d9c612516565b9050600073ffffffffffffffffffffffffffffffffffffffff16611dbf83612527565b73ffffffffffffffffffffffffffffffffffffffff1614611e15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0c906144ff565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611eb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ead9061437f565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b8152600401611f2891906141d7565b60206040518083038186803b158015611f4057600080fd5b505afa158015611f54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f78919061308f565b73ffffffffffffffffffffffffffffffffffffffff1614611fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc59061455f565b60405180910390fd5b611fd882306126d1565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a83306040518363ffffffff1660e01b81526004016120359291906141f2565b600060405180830381600087803b15801561204f57600080fd5b505af1158015612063573d6000803e3d6000fd5b505050507fcefbe9dbadcf675eef14e23810996ff38541fc26b4dd77cd6724b0eedc96f2008260405161209691906141d7565b60405180910390a15050565b60006120f28484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612664565b90509392505050565b816121058161242d565b612144576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213b906145df565b60405180910390fd5b61214e83836126d1565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146121e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121da906143ff565b60405180910390fd5b6000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228c906144bf565b60405180910390fd5b83600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612320838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505061293a565b61232981612992565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e6326040516123589190614178565b60405180910390a150505050565b60606004600084815260200190815260200160002060008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156124205780601f106123f557610100808354040283529160200191612420565b820191906000526020600020905b81548152906001019060200180831161240357829003601f168201915b5050505050905092915050565b6000612437612516565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b81526004016124a891906141d7565b60206040518083038186803b1580156124c057600080fd5b505afa1580156124d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124f8919061308f565b73ffffffffffffffffffffffffffffffffffffffff16149050919050565b600061252260286129d6565b905090565b6000806060600460008581526020019081526020016000206000603c81526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156125e55780601f106125ba576101008083540402835291602001916125e5565b820191906000526020600020905b8154815290600101906020018083116125c857829003601f168201915b50505050509050600081511115612602576125ff81612a6b565b91505b8192505050919050565b600061265b7f621363c539a3aa1024c8837ca1dc095db03b7f9512b3a95ecb429aae7fd953ed85858560405160200161264793929190613fed565b604051602081830303815290604052612a93565b90509392505050565b60008061267a8385612ad490919063ffffffff16565b90506000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b6126e582603c6126e084612b8f565b6126e9565b5050565b827f65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752838360405161271b92919061463a565b60405180910390a2603c82141561276d57827f52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd261275783612a6b565b6040516127649190614178565b60405180910390a25b8060046000858152602001908152602001600020600084815260200190815260200160002090805190602001906127a5929190612db9565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561281b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612812906143df565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156128a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289e9061457f565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a328260405161292f929190614193565b60405180910390a150565b6000815114156129525761294d326127ab565b61298f565b60008151905060005b8181101561298c5761297f83828151811061297257fe5b60200260200101516127ab565b808060010191505061295b565b50505b50565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600090506129e5612bf6565b15612a5e576000836000369050039050612a5660003683906014850192612a0e93929190614711565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612ca3565b915050612a62565b3390505b80915050919050565b6000806014835114612a7c57600080fd5b600c6101000a602084015104905080915050919050565b6000612acc600254308585604051602001612ab19493929190614113565b60405160208183030381529060405280519060200120612d09565b905092915050565b60008060009050604183511415612b855760008060006020860151925060408601519150606086015160001a9050601b8160ff161015612b1557601b810190505b601b8160ff161480612b2a5750601c8160ff16145b15612b815760018782858560405160008152602001604052604051612b529493929190614297565b6020604051602081039080840390855afa158015612b74573d6000803e3d6000fd5b5050506020604051035193505b5050505b8091505092915050565b606080601467ffffffffffffffff81118015612baa57600080fd5b506040519080825280601f01601f191660200182016040528015612bdd5781602001600182028036833780820191505090505b509050600c6101000a8302602082015280915050919050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612c9c57602c60003690501015612c97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c8e9061445f565b60405180910390fd5b600190505b8091505090565b6000806014835114612cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ce1906145bf565b60405180910390fd5b6c01000000000000000000000000602084015104905080915050919050565b600081604051602001612d1c9190614084565b604051602081830303815290604052805190602001209050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612d7a57803560ff1916838001178555612da8565b82800160010185558215612da8579182015b82811115612da7578235825591602001919060010190612d8c565b5b509050612db59190612e39565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612dfa57805160ff1916838001178555612e28565b82800160010185558215612e28579182015b82811115612e27578251825591602001919060010190612e0c565b5b509050612e359190612e39565b5090565b5b80821115612e52576000816000905550600101612e3a565b5090565b600081359050612e65816148f9565b92915050565b600081519050612e7a816148f9565b92915050565b60008083601f840112612e9257600080fd5b8235905067ffffffffffffffff811115612eab57600080fd5b602083019150836020820283011115612ec357600080fd5b9250929050565b600081359050612ed981614910565b92915050565b600081359050612eee81614927565b92915050565b60008083601f840112612f0657600080fd5b8235905067ffffffffffffffff811115612f1f57600080fd5b602083019150836001820283011115612f3757600080fd5b9250929050565b600082601f830112612f4f57600080fd5b8135612f62612f5d82614697565b61466a565b91508082526020830160208301858383011115612f7e57600080fd5b612f89838284614861565b50505092915050565b600081359050612fa18161493e565b92915050565b60008083601f840112612fb957600080fd5b8235905067ffffffffffffffff811115612fd257600080fd5b602083019150836001820283011115612fea57600080fd5b9250929050565b60006060828403121561300357600080fd5b61300d606061466a565b9050600061301d84828501612e56565b600083015250602061303184828501612eca565b602083015250604061304584828501612eca565b60408301525092915050565b60008135905061306081614955565b92915050565b60006020828403121561307857600080fd5b600061308684828501612e56565b91505092915050565b6000602082840312156130a157600080fd5b60006130af84828501612e6b565b91505092915050565b6000602082840312156130ca57600080fd5b60006130d884828501612eca565b91505092915050565b600080604083850312156130f457600080fd5b600061310285828601612eca565b925050602061311385828601612e56565b9150509250929050565b60008060006060848603121561313257600080fd5b600061314086828701612eca565b935050602061315186828701612eca565b925050604061316286828701612eca565b9150509250925092565b6000806000806060858703121561318257600080fd5b600061319087828801612eca565b94505060206131a187828801612eca565b935050604085013567ffffffffffffffff8111156131be57600080fd5b6131ca87828801612ef4565b925092505092959194509250565b6000806000604084860312156131ed57600080fd5b60006131fb86828701612eca565b935050602084013567ffffffffffffffff81111561321857600080fd5b61322486828701612ef4565b92509250509250925092565b60008060006040848603121561324557600080fd5b600061325386828701612eca565b935050602084013567ffffffffffffffff81111561327057600080fd5b61327c86828701612fa7565b92509250509250925092565b6000806000806000606086880312156132a057600080fd5b60006132ae88828901612eca565b955050602086013567ffffffffffffffff8111156132cb57600080fd5b6132d788828901612fa7565b9450945050604086013567ffffffffffffffff8111156132f657600080fd5b61330288828901612fa7565b92509250509295509295909350565b6000806040838503121561332457600080fd5b600061333285828601612eca565b925050602061334385828601613051565b9150509250929050565b60008060006060848603121561336257600080fd5b600061337086828701612eca565b935050602061338186828701613051565b925050604084013567ffffffffffffffff81111561339e57600080fd5b6133aa86828701612f3e565b9150509250925092565b6000602082840312156133c657600080fd5b60006133d484828501612edf565b91505092915050565b6000602082840312156133ef57600080fd5b60006133fd84828501612f92565b91505092915050565b6000806000806060858703121561341c57600080fd5b600061342a87828801612f92565b945050602085013567ffffffffffffffff81111561344757600080fd5b61345387828801612e80565b9350935050604061346687828801612e56565b91505092959194509250565b60006060828403121561348457600080fd5b600061349284828501612ff1565b91505092915050565b6134a4816147f5565b82525050565b6134b381614744565b82525050565b6134ca6134c582614744565b6148a3565b82525050565b6134d981614756565b82525050565b6134e881614762565b82525050565b6134ff6134fa82614762565b6148b5565b82525050565b6000613510826146c3565b61351a81856146d9565b935061352a818560208601614870565b613533816148db565b840191505092915050565b6000613549826146c3565b61355381856146ea565b9350613563818560208601614870565b80840191505092915050565b61357881614807565b82525050565b6135878161482b565b82525050565b600061359983856146f5565b93506135a6838584614861565b6135af836148db565b840190509392505050565b60006135c68385614706565b93506135d3838584614861565b82840190509392505050565b60006135ea826146ce565b6135f481856146f5565b9350613604818560208601614870565b61360d816148db565b840191505092915050565b6000613625601983614706565b91507f737570706f727473496e746572666163652862797465733429000000000000006000830152601982019050919050565b60006136656024836146f5565b91507f454e53436f6e74726f6c6c65723a20696e76616c6964206e6f6465207265736f60008301527f6c766572000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006136cb6021836146f5565b91507f454e53436f6e74726f6c6c65723a20696e76616c6964206e6f6465206f776e6560008301527f72000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006137316029836146f5565b91507f454e53436f6e74726f6c6c65723a20696e76616c696420677561726469616e2060008301527f7369676e617475726500000000000000000000000000000000000000000000006020830152604082019050919050565b60006137976022836146f5565b91507f454e53436f6e74726f6c6c65723a206c6162656c20616c72656164792074616b60008301527f656e0000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006137fd601c83614706565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b600061383d6020836146f5565b91507f477561726465643a2063616e6e6f74206164642030783020677561726469616e6000830152602082019050919050565b600061387d602f836146f5565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b60006138e3600d83614706565b91507f61646472286279746573333229000000000000000000000000000000000000006000830152600d82019050919050565b6000613923601b836146f5565b91507f454e53436f6e74726f6c6c65723a20696e76616c6964206e6f646500000000006000830152602082019050919050565b60006139636021836146f5565b91507f454e53436f6e74726f6c6c65723a206e6f646520646f65736e2774206578697360008301527f74000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006139c96022836146f5565b91507f47617465776179526563697069656e743a20696e76616c6964206d73672e646160008301527f74610000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613a2f601483614706565b91507f7465787428627974657333322c737472696e67290000000000000000000000006000830152601482019050919050565b6000613a6f600d83614706565b91507f6e616d65286279746573333229000000000000000000000000000000000000006000830152600d82019050919050565b6000613aaf602b836146f5565b91507f454e53436f6e74726f6c6c65723a2063616c6c6572206973206e6f742074686560008301527f206e6f6465206f776e65720000000000000000000000000000000000000000006020830152604082019050919050565b6000613b156026836146f5565b91507f477561726465643a2074782e6f726967696e206973206e6f742074686520677560008301527f61726469616e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613b7b6026836146f5565b91507f454e53436f6e74726f6c6c65723a2063616e6e6f74207365742030783020726560008301527f67697374727900000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613be16025836146f5565b91507f454e53436f6e74726f6c6c65723a206e6f646520616c7265616479207375626d60008301527f69747465640000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613c47600f83614706565b91507f7075626b657928627974657333322900000000000000000000000000000000006000830152600f82019050919050565b6000613c876022836146f5565b91507f454e53436f6e74726f6c6c65723a206e6f646520616c7265616479206578697360008301527f74730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613ced6023836146f5565b91507f454e53436f6e74726f6c6c65723a206e6f646520616c726561647920696e207360008301527f796e6300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613d53601f836146f5565b91507f477561726465643a20677561726469616e20646f65736e2774206578697374006000830152602082019050919050565b6000613d936025836146f5565b91507f454e53436f6e74726f6c6c65723a20696e76616c696420656e73206e6f64652060008301527f6f776e65720000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613df96020836146f5565b91507f477561726465643a20677561726469616e20616c7265616479206578697374736000830152602082019050919050565b6000613e39601b836146f5565b91507f477561726465643a2063616e6e6f742072656d6f76652073656c6600000000006000830152602082019050919050565b6000613e79601d836146f5565b91507f42797465734c69623a20696e76616c69642064617461206c656e6774680000006000830152602082019050919050565b6000613eb96037836146f5565b91507f454e5341627374726163745265736f6c7665723a20726576657274656420627960008301527f206f6e6c794e6f64654f776e6572206d6f6469666965720000000000000000006020830152604082019050919050565b6000613f1f601283614706565b91507f6164647228627974657333322c75696e742900000000000000000000000000006000830152601282019050919050565b6000613f5f6023836146f5565b91507f454e53436f6e74726f6c6c65723a20726567697374727920616c72656164792060008301527f73657400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b613fc1816147ca565b82525050565b613fd8613fd3826147ca565b6148d1565b82525050565b613fe7816147e8565b82525050565b6000613ff982866134b9565b60148201915061400982856134ee565b60208201915061401982846134ee565b602082019150819050949350505050565b600061403682856134ee565b60208201915061404682846134ee565b6020820191508190509392505050565b60006140638284866135ba565b91508190509392505050565b600061407a82613618565b9150819050919050565b600061408f826137f0565b915061409b82846134ee565b60208201915081905092915050565b60006140b5826138d6565b9150819050919050565b60006140ca82613a22565b9150819050919050565b60006140df82613a62565b9150819050919050565b60006140f482613c3a565b9150819050919050565b600061410982613f12565b9150819050919050565b600061411f8287613fc7565b60208201915061412f82866134b9565b60148201915061413f82856134ee565b60208201915061414f828461353e565b915081905095945050505050565b600060208201905061417260008301846134aa565b92915050565b600060208201905061418d600083018461349b565b92915050565b60006040820190506141a8600083018561349b565b6141b560208301846134aa565b9392505050565b60006020820190506141d160008301846134d0565b92915050565b60006020820190506141ec60008301846134df565b92915050565b600060408201905061420760008301856134df565b61421460208301846134aa565b9392505050565b600060408201905061423060008301856134df565b61423d60208301846134df565b9392505050565b600060a08201905061425960008301886134df565b61426660208301876134df565b61427360408301866134aa565b61428060608301856134aa565b61428d608083018461357e565b9695505050505050565b60006080820190506142ac60008301876134df565b6142b96020830186613fde565b6142c660408301856134df565b6142d360608301846134df565b95945050505050565b600060208201905081810360008301526142f68184613505565b905092915050565b6000602082019050614313600083018461356f565b92915050565b6000602082019050818103600083015261433481848661358d565b90509392505050565b6000602082019050818103600083015261435781846135df565b905092915050565b6000602082019050818103600083015261437881613658565b9050919050565b60006020820190508181036000830152614398816136be565b9050919050565b600060208201905081810360008301526143b881613724565b9050919050565b600060208201905081810360008301526143d88161378a565b9050919050565b600060208201905081810360008301526143f881613830565b9050919050565b6000602082019050818103600083015261441881613870565b9050919050565b6000602082019050818103600083015261443881613916565b9050919050565b6000602082019050818103600083015261445881613956565b9050919050565b60006020820190508181036000830152614478816139bc565b9050919050565b6000602082019050818103600083015261449881613aa2565b9050919050565b600060208201905081810360008301526144b881613b08565b9050919050565b600060208201905081810360008301526144d881613b6e565b9050919050565b600060208201905081810360008301526144f881613bd4565b9050919050565b6000602082019050818103600083015261451881613c7a565b9050919050565b6000602082019050818103600083015261453881613ce0565b9050919050565b6000602082019050818103600083015261455881613d46565b9050919050565b6000602082019050818103600083015261457881613d86565b9050919050565b6000602082019050818103600083015261459881613dec565b9050919050565b600060208201905081810360008301526145b881613e2c565b9050919050565b600060208201905081810360008301526145d881613e6c565b9050919050565b600060208201905081810360008301526145f881613eac565b9050919050565b6000602082019050818103600083015261461881613f52565b9050919050565b60006020820190506146346000830184613fb8565b92915050565b600060408201905061464f6000830185613fb8565b81810360208301526146618184613505565b90509392505050565b6000604051905081810181811067ffffffffffffffff8211171561468d57600080fd5b8060405250919050565b600067ffffffffffffffff8211156146ae57600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000808585111561472157600080fd5b8386111561472e57600080fd5b6001850283019150848603905094509492505050565b600061474f826147aa565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60006147a382614744565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b60006148008261483d565b9050919050565b600061481282614819565b9050919050565b6000614824826147aa565b9050919050565b6000614836826147d4565b9050919050565b60006148488261484f565b9050919050565b600061485a826147aa565b9050919050565b82818337600083830152505050565b60005b8381101561488e578082015181840152602081019050614873565b8381111561489d576000848401525b50505050565b60006148ae826148bf565b9050919050565b6000819050919050565b60006148ca826148ec565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b61490281614744565b811461490d57600080fd5b50565b61491981614762565b811461492457600080fd5b50565b6149308161476c565b811461493b57600080fd5b50565b61494781614798565b811461495257600080fd5b50565b61495e816147ca565b811461496957600080fd5b5056fea164736f6c634300060c000a", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101c45760003560e01c806371404156116100f9578063a91ee0dc11610097578063d0f710d611610071578063d0f710d614610512578063d5fa2b0014610542578063dc5b68a61461055e578063f1cb7e061461057a576101c4565b8063a91ee0dc146104a9578063c8690233146104c5578063c8cc2aee146104f6576101c4565b80637d0e0e7e116100d35780637d0e0e7e146104375780638b95dd71146104535780639a8a05921461046f578063a526d83b1461048d576101c4565b806371404156146103e157806377372213146103fd5780637b10399914610419576101c4565b8063392e53cd1161016657806355800f871161014057806355800f871461033557806359d1d43c14610351578063691f3431146103815780636df0cf42146103b1576101c4565b8063392e53cd146102cb5780633b3b57de146102e957806346386f7314610319576101c4565b8063116191b6116101a2578063116191b6146102455780631b3cd1421461026357806329ae6a7e1461029357806329cd62ea146102af576101c4565b806301ffc9a7146101c95780630c68ba21146101f957806310f13a8c14610229575b600080fd5b6101e360048036038101906101de91906133b4565b6105aa565b6040516101f091906141bc565b60405180910390f35b610213600480360381019061020e9190613066565b610834565b60405161022091906141bc565b60405180910390f35b610243600480360381019061023e9190613288565b610889565b005b61024d61096d565b60405161025a919061415d565b60405180910390f35b61027d600480360381019061027891906130b8565b610993565b60405161028a919061415d565b60405180910390f35b6102ad60048036038101906102a891906130b8565b6109c6565b005b6102c960048036038101906102c4919061311d565b610beb565b005b6102d3610cb3565b6040516102e091906141bc565b60405180910390f35b61030360048036038101906102fe91906130b8565b610d0b565b604051610310919061415d565b60405180910390f35b610333600480360381019061032e919061316c565b610d1d565b005b61034f600480360381019061034a91906130b8565b611017565b005b61036b60048036038101906103669190613230565b6112d8565b604051610378919061433d565b60405180910390f35b61039b600480360381019061039691906130b8565b6113ad565b6040516103a8919061433d565b60405180910390f35b6103cb60048036038101906103c69190613472565b611462565b6040516103d891906141d7565b60405180910390f35b6103fb60048036038101906103f69190613066565b611482565b005b61041760048036038101906104129190613230565b61169a565b005b610421611746565b60405161042e91906142fe565b60405180910390f35b610451600480360381019061044c91906130b8565b61176c565b005b61046d6004803603810190610468919061334d565b611a38565b005b610477611a92565b604051610484919061461f565b60405180910390f35b6104a760048036038101906104a29190613066565b611a98565b005b6104c360048036038101906104be91906133dd565b611b2f565b005b6104df60048036038101906104da91906130b8565b611d58565b6040516104ed92919061421b565b60405180910390f35b610510600480360381019061050b91906130b8565b611d92565b005b61052c600480360381019061052791906131d8565b6120a2565b60405161053991906141bc565b60405180910390f35b61055c600480360381019061055791906130e1565b6120fb565b005b61057860048036038101906105739190613406565b612153565b005b610594600480360381019061058f9190613311565b612366565b6040516105a191906142dc565b60405180910390f35b60006040516020016105bb9061406f565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061067d5750604051602001610626906140aa565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806106e95750604051602001610692906140fe565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061075557506040516020016106fe906140d4565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806107c1575060405160200161076a906140e9565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061082d57506040516020016107d6906140bf565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b846108938161242d565b6108d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c9906145df565b60405180910390fd5b82826007600089815260200190815260200160002087876040516108f7929190614056565b90815260200160405180910390209190610912929190612d39565b508484604051610923929190614056565b6040518091039020867fd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550878760405161095d929190614319565b60405180910390a3505050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60096020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006109d0612516565b90503073ffffffffffffffffffffffffffffffffffffffff166109f283612527565b73ffffffffffffffffffffffffffffffffffffffff1614610a48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3f9061443f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae09061437f565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c383836040518363ffffffff1660e01b8152600401610b469291906141f2565b600060405180830381600087803b158015610b6057600080fd5b505af1158015610b74573d6000803e3d6000fd5b505050506009600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557f7803a16d95f9ca635bdec561006625e7444d8a9f8463866643cc03af011779d38282604051610bdf9291906141f2565b60405180910390a15050565b82610bf58161242d565b610c34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2b906145df565b60405180910390fd5b604051806040016040528084815260200183815250600660008681526020019081526020016000206000820151816000015560208201518160010155905050837f1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e468484604051610ca592919061421b565b60405180910390a250505050565b60008073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b6000610d1682612527565b9050919050565b6000610d27612516565b90506000610d3682878761260c565b9050610d868185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612664565b610dc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbc9061439f565b60405180910390fd5b60008686604051602001610dda92919061402a565b6040516020818303038152906040528051906020012090503073ffffffffffffffffffffffffffffffffffffffff16610e1288612527565b73ffffffffffffffffffffffffffffffffffffffff1614610e68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5f9061441f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16610e8982612527565b73ffffffffffffffffffffffffffffffffffffffff1614610edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed6906143bf565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635ef2c7f08888303060006040518663ffffffff1660e01b8152600401610f43959493929190614244565b600060405180830381600087803b158015610f5d57600080fd5b505af1158015610f71573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c382856040518363ffffffff1660e01b8152600401610fd29291906141f2565b600060405180830381600087803b158015610fec57600080fd5b505af1158015611000573d6000803e3d6000fd5b5050505061100e81846126d1565b50505050505050565b6000611021612516565b9050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b815260040161107e91906141d7565b60206040518083038186803b15801561109657600080fd5b505afa1580156110aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ce919061308f565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461113b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111329061447f565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf846040518263ffffffff1660e01b81526004016111ad91906141d7565b60206040518083038186803b1580156111c557600080fd5b505afa1580156111d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111fd919061308f565b73ffffffffffffffffffffffffffffffffffffffff1614611253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124a9061435f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1661127483612527565b73ffffffffffffffffffffffffffffffffffffffff16146112ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c19061451f565b60405180910390fd5b6112d482826126d1565b5050565b60606007600085815260200190815260200160002083836040516112fd929190614056565b90815260200160405180910390208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561139f5780601f106113745761010080835404028352916020019161139f565b820191906000526020600020905b81548152906001019060200180831161138257829003601f168201915b505050505090509392505050565b6060600560008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114565780601f1061142b57610100808354040283529160200191611456565b820191906000526020600020905b81548152906001019060200180831161143957829003601f168201915b50505050509050919050565b600061147b82600001518360200151846040015161260c565b9050919050565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661150d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115049061449f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141561157c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115739061459f565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fe9061453f565b60405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b328260405161168f929190614193565b60405180910390a150565b826116a48161242d565b6116e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116da906145df565b60405180910390fd5b8282600560008781526020019081526020016000209190611705929190612d39565b50837fb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f78484604051611738929190614319565b60405180910390a250505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611776612516565b9050600073ffffffffffffffffffffffffffffffffffffffff1661179983612527565b73ffffffffffffffffffffffffffffffffffffffff16146117ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e6906144ff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611891576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611888906144df565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b815260040161190391906141d7565b60206040518083038186803b15801561191b57600080fd5b505afa15801561192f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611953919061308f565b73ffffffffffffffffffffffffffffffffffffffff16146119a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a09061455f565b60405180910390fd5b806009600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fc1e082a8c26f27c26e1bf5d0ce7ddd579ec7f6d7eb3ea90d8abd6c40991bae368282604051611a2c9291906141f2565b60405180910390a15050565b82611a428161242d565b611a81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a78906145df565b60405180910390fd5b611a8c8484846126e9565b50505050565b60025481565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611b23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1a9061449f565b60405180910390fd5b611b2c816127ab565b50565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611bba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb19061449f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611c2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c21906144bf565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611cbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb2906145ff565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdb0239c63d4033dcdd21bd44f8dd479a03efbae12f6bbe27c0a5f923d26514cc600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051611d4d919061415d565b60405180910390a150565b6000806006600084815260200190815260200160002060000154600660008581526020019081526020016000206001015491509150915091565b6000611d9c612516565b9050600073ffffffffffffffffffffffffffffffffffffffff16611dbf83612527565b73ffffffffffffffffffffffffffffffffffffffff1614611e15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0c906144ff565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611eb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ead9061437f565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b8152600401611f2891906141d7565b60206040518083038186803b158015611f4057600080fd5b505afa158015611f54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f78919061308f565b73ffffffffffffffffffffffffffffffffffffffff1614611fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc59061455f565b60405180910390fd5b611fd882306126d1565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a83306040518363ffffffff1660e01b81526004016120359291906141f2565b600060405180830381600087803b15801561204f57600080fd5b505af1158015612063573d6000803e3d6000fd5b505050507fcefbe9dbadcf675eef14e23810996ff38541fc26b4dd77cd6724b0eedc96f2008260405161209691906141d7565b60405180910390a15050565b60006120f28484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612664565b90509392505050565b816121058161242d565b612144576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213b906145df565b60405180910390fd5b61214e83836126d1565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146121e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121da906143ff565b60405180910390fd5b6000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228c906144bf565b60405180910390fd5b83600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612320838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505061293a565b61232981612992565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e6326040516123589190614178565b60405180910390a150505050565b60606004600084815260200190815260200160002060008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156124205780601f106123f557610100808354040283529160200191612420565b820191906000526020600020905b81548152906001019060200180831161240357829003601f168201915b5050505050905092915050565b6000612437612516565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b81526004016124a891906141d7565b60206040518083038186803b1580156124c057600080fd5b505afa1580156124d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124f8919061308f565b73ffffffffffffffffffffffffffffffffffffffff16149050919050565b600061252260286129d6565b905090565b6000806060600460008581526020019081526020016000206000603c81526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156125e55780601f106125ba576101008083540402835291602001916125e5565b820191906000526020600020905b8154815290600101906020018083116125c857829003601f168201915b50505050509050600081511115612602576125ff81612a6b565b91505b8192505050919050565b600061265b7f621363c539a3aa1024c8837ca1dc095db03b7f9512b3a95ecb429aae7fd953ed85858560405160200161264793929190613fed565b604051602081830303815290604052612a93565b90509392505050565b60008061267a8385612ad490919063ffffffff16565b90506000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b6126e582603c6126e084612b8f565b6126e9565b5050565b827f65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752838360405161271b92919061463a565b60405180910390a2603c82141561276d57827f52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd261275783612a6b565b6040516127649190614178565b60405180910390a25b8060046000858152602001908152602001600020600084815260200190815260200160002090805190602001906127a5929190612db9565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561281b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612812906143df565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156128a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289e9061457f565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a328260405161292f929190614193565b60405180910390a150565b6000815114156129525761294d326127ab565b61298f565b60008151905060005b8181101561298c5761297f83828151811061297257fe5b60200260200101516127ab565b808060010191505061295b565b50505b50565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600090506129e5612bf6565b15612a5e576000836000369050039050612a5660003683906014850192612a0e93929190614711565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612ca3565b915050612a62565b3390505b80915050919050565b6000806014835114612a7c57600080fd5b600c6101000a602084015104905080915050919050565b6000612acc600254308585604051602001612ab19493929190614113565b60405160208183030381529060405280519060200120612d09565b905092915050565b60008060009050604183511415612b855760008060006020860151925060408601519150606086015160001a9050601b8160ff161015612b1557601b810190505b601b8160ff161480612b2a5750601c8160ff16145b15612b815760018782858560405160008152602001604052604051612b529493929190614297565b6020604051602081039080840390855afa158015612b74573d6000803e3d6000fd5b5050506020604051035193505b5050505b8091505092915050565b606080601467ffffffffffffffff81118015612baa57600080fd5b506040519080825280601f01601f191660200182016040528015612bdd5781602001600182028036833780820191505090505b509050600c6101000a8302602082015280915050919050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612c9c57602c60003690501015612c97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c8e9061445f565b60405180910390fd5b600190505b8091505090565b6000806014835114612cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ce1906145bf565b60405180910390fd5b6c01000000000000000000000000602084015104905080915050919050565b600081604051602001612d1c9190614084565b604051602081830303815290604052805190602001209050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612d7a57803560ff1916838001178555612da8565b82800160010185558215612da8579182015b82811115612da7578235825591602001919060010190612d8c565b5b509050612db59190612e39565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612dfa57805160ff1916838001178555612e28565b82800160010185558215612e28579182015b82811115612e27578251825591602001919060010190612e0c565b5b509050612e359190612e39565b5090565b5b80821115612e52576000816000905550600101612e3a565b5090565b600081359050612e65816148f9565b92915050565b600081519050612e7a816148f9565b92915050565b60008083601f840112612e9257600080fd5b8235905067ffffffffffffffff811115612eab57600080fd5b602083019150836020820283011115612ec357600080fd5b9250929050565b600081359050612ed981614910565b92915050565b600081359050612eee81614927565b92915050565b60008083601f840112612f0657600080fd5b8235905067ffffffffffffffff811115612f1f57600080fd5b602083019150836001820283011115612f3757600080fd5b9250929050565b600082601f830112612f4f57600080fd5b8135612f62612f5d82614697565b61466a565b91508082526020830160208301858383011115612f7e57600080fd5b612f89838284614861565b50505092915050565b600081359050612fa18161493e565b92915050565b60008083601f840112612fb957600080fd5b8235905067ffffffffffffffff811115612fd257600080fd5b602083019150836001820283011115612fea57600080fd5b9250929050565b60006060828403121561300357600080fd5b61300d606061466a565b9050600061301d84828501612e56565b600083015250602061303184828501612eca565b602083015250604061304584828501612eca565b60408301525092915050565b60008135905061306081614955565b92915050565b60006020828403121561307857600080fd5b600061308684828501612e56565b91505092915050565b6000602082840312156130a157600080fd5b60006130af84828501612e6b565b91505092915050565b6000602082840312156130ca57600080fd5b60006130d884828501612eca565b91505092915050565b600080604083850312156130f457600080fd5b600061310285828601612eca565b925050602061311385828601612e56565b9150509250929050565b60008060006060848603121561313257600080fd5b600061314086828701612eca565b935050602061315186828701612eca565b925050604061316286828701612eca565b9150509250925092565b6000806000806060858703121561318257600080fd5b600061319087828801612eca565b94505060206131a187828801612eca565b935050604085013567ffffffffffffffff8111156131be57600080fd5b6131ca87828801612ef4565b925092505092959194509250565b6000806000604084860312156131ed57600080fd5b60006131fb86828701612eca565b935050602084013567ffffffffffffffff81111561321857600080fd5b61322486828701612ef4565b92509250509250925092565b60008060006040848603121561324557600080fd5b600061325386828701612eca565b935050602084013567ffffffffffffffff81111561327057600080fd5b61327c86828701612fa7565b92509250509250925092565b6000806000806000606086880312156132a057600080fd5b60006132ae88828901612eca565b955050602086013567ffffffffffffffff8111156132cb57600080fd5b6132d788828901612fa7565b9450945050604086013567ffffffffffffffff8111156132f657600080fd5b61330288828901612fa7565b92509250509295509295909350565b6000806040838503121561332457600080fd5b600061333285828601612eca565b925050602061334385828601613051565b9150509250929050565b60008060006060848603121561336257600080fd5b600061337086828701612eca565b935050602061338186828701613051565b925050604084013567ffffffffffffffff81111561339e57600080fd5b6133aa86828701612f3e565b9150509250925092565b6000602082840312156133c657600080fd5b60006133d484828501612edf565b91505092915050565b6000602082840312156133ef57600080fd5b60006133fd84828501612f92565b91505092915050565b6000806000806060858703121561341c57600080fd5b600061342a87828801612f92565b945050602085013567ffffffffffffffff81111561344757600080fd5b61345387828801612e80565b9350935050604061346687828801612e56565b91505092959194509250565b60006060828403121561348457600080fd5b600061349284828501612ff1565b91505092915050565b6134a4816147f5565b82525050565b6134b381614744565b82525050565b6134ca6134c582614744565b6148a3565b82525050565b6134d981614756565b82525050565b6134e881614762565b82525050565b6134ff6134fa82614762565b6148b5565b82525050565b6000613510826146c3565b61351a81856146d9565b935061352a818560208601614870565b613533816148db565b840191505092915050565b6000613549826146c3565b61355381856146ea565b9350613563818560208601614870565b80840191505092915050565b61357881614807565b82525050565b6135878161482b565b82525050565b600061359983856146f5565b93506135a6838584614861565b6135af836148db565b840190509392505050565b60006135c68385614706565b93506135d3838584614861565b82840190509392505050565b60006135ea826146ce565b6135f481856146f5565b9350613604818560208601614870565b61360d816148db565b840191505092915050565b6000613625601983614706565b91507f737570706f727473496e746572666163652862797465733429000000000000006000830152601982019050919050565b60006136656024836146f5565b91507f454e53436f6e74726f6c6c65723a20696e76616c6964206e6f6465207265736f60008301527f6c766572000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006136cb6021836146f5565b91507f454e53436f6e74726f6c6c65723a20696e76616c6964206e6f6465206f776e6560008301527f72000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006137316029836146f5565b91507f454e53436f6e74726f6c6c65723a20696e76616c696420677561726469616e2060008301527f7369676e617475726500000000000000000000000000000000000000000000006020830152604082019050919050565b60006137976022836146f5565b91507f454e53436f6e74726f6c6c65723a206c6162656c20616c72656164792074616b60008301527f656e0000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006137fd601c83614706565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b600061383d6020836146f5565b91507f477561726465643a2063616e6e6f74206164642030783020677561726469616e6000830152602082019050919050565b600061387d602f836146f5565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b60006138e3600d83614706565b91507f61646472286279746573333229000000000000000000000000000000000000006000830152600d82019050919050565b6000613923601b836146f5565b91507f454e53436f6e74726f6c6c65723a20696e76616c6964206e6f646500000000006000830152602082019050919050565b60006139636021836146f5565b91507f454e53436f6e74726f6c6c65723a206e6f646520646f65736e2774206578697360008301527f74000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006139c96022836146f5565b91507f47617465776179526563697069656e743a20696e76616c6964206d73672e646160008301527f74610000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613a2f601483614706565b91507f7465787428627974657333322c737472696e67290000000000000000000000006000830152601482019050919050565b6000613a6f600d83614706565b91507f6e616d65286279746573333229000000000000000000000000000000000000006000830152600d82019050919050565b6000613aaf602b836146f5565b91507f454e53436f6e74726f6c6c65723a2063616c6c6572206973206e6f742074686560008301527f206e6f6465206f776e65720000000000000000000000000000000000000000006020830152604082019050919050565b6000613b156026836146f5565b91507f477561726465643a2074782e6f726967696e206973206e6f742074686520677560008301527f61726469616e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613b7b6026836146f5565b91507f454e53436f6e74726f6c6c65723a2063616e6e6f74207365742030783020726560008301527f67697374727900000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613be16025836146f5565b91507f454e53436f6e74726f6c6c65723a206e6f646520616c7265616479207375626d60008301527f69747465640000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613c47600f83614706565b91507f7075626b657928627974657333322900000000000000000000000000000000006000830152600f82019050919050565b6000613c876022836146f5565b91507f454e53436f6e74726f6c6c65723a206e6f646520616c7265616479206578697360008301527f74730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613ced6023836146f5565b91507f454e53436f6e74726f6c6c65723a206e6f646520616c726561647920696e207360008301527f796e6300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613d53601f836146f5565b91507f477561726465643a20677561726469616e20646f65736e2774206578697374006000830152602082019050919050565b6000613d936025836146f5565b91507f454e53436f6e74726f6c6c65723a20696e76616c696420656e73206e6f64652060008301527f6f776e65720000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613df96020836146f5565b91507f477561726465643a20677561726469616e20616c7265616479206578697374736000830152602082019050919050565b6000613e39601b836146f5565b91507f477561726465643a2063616e6e6f742072656d6f76652073656c6600000000006000830152602082019050919050565b6000613e79601d836146f5565b91507f42797465734c69623a20696e76616c69642064617461206c656e6774680000006000830152602082019050919050565b6000613eb96037836146f5565b91507f454e5341627374726163745265736f6c7665723a20726576657274656420627960008301527f206f6e6c794e6f64654f776e6572206d6f6469666965720000000000000000006020830152604082019050919050565b6000613f1f601283614706565b91507f6164647228627974657333322c75696e742900000000000000000000000000006000830152601282019050919050565b6000613f5f6023836146f5565b91507f454e53436f6e74726f6c6c65723a20726567697374727920616c72656164792060008301527f73657400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b613fc1816147ca565b82525050565b613fd8613fd3826147ca565b6148d1565b82525050565b613fe7816147e8565b82525050565b6000613ff982866134b9565b60148201915061400982856134ee565b60208201915061401982846134ee565b602082019150819050949350505050565b600061403682856134ee565b60208201915061404682846134ee565b6020820191508190509392505050565b60006140638284866135ba565b91508190509392505050565b600061407a82613618565b9150819050919050565b600061408f826137f0565b915061409b82846134ee565b60208201915081905092915050565b60006140b5826138d6565b9150819050919050565b60006140ca82613a22565b9150819050919050565b60006140df82613a62565b9150819050919050565b60006140f482613c3a565b9150819050919050565b600061410982613f12565b9150819050919050565b600061411f8287613fc7565b60208201915061412f82866134b9565b60148201915061413f82856134ee565b60208201915061414f828461353e565b915081905095945050505050565b600060208201905061417260008301846134aa565b92915050565b600060208201905061418d600083018461349b565b92915050565b60006040820190506141a8600083018561349b565b6141b560208301846134aa565b9392505050565b60006020820190506141d160008301846134d0565b92915050565b60006020820190506141ec60008301846134df565b92915050565b600060408201905061420760008301856134df565b61421460208301846134aa565b9392505050565b600060408201905061423060008301856134df565b61423d60208301846134df565b9392505050565b600060a08201905061425960008301886134df565b61426660208301876134df565b61427360408301866134aa565b61428060608301856134aa565b61428d608083018461357e565b9695505050505050565b60006080820190506142ac60008301876134df565b6142b96020830186613fde565b6142c660408301856134df565b6142d360608301846134df565b95945050505050565b600060208201905081810360008301526142f68184613505565b905092915050565b6000602082019050614313600083018461356f565b92915050565b6000602082019050818103600083015261433481848661358d565b90509392505050565b6000602082019050818103600083015261435781846135df565b905092915050565b6000602082019050818103600083015261437881613658565b9050919050565b60006020820190508181036000830152614398816136be565b9050919050565b600060208201905081810360008301526143b881613724565b9050919050565b600060208201905081810360008301526143d88161378a565b9050919050565b600060208201905081810360008301526143f881613830565b9050919050565b6000602082019050818103600083015261441881613870565b9050919050565b6000602082019050818103600083015261443881613916565b9050919050565b6000602082019050818103600083015261445881613956565b9050919050565b60006020820190508181036000830152614478816139bc565b9050919050565b6000602082019050818103600083015261449881613aa2565b9050919050565b600060208201905081810360008301526144b881613b08565b9050919050565b600060208201905081810360008301526144d881613b6e565b9050919050565b600060208201905081810360008301526144f881613bd4565b9050919050565b6000602082019050818103600083015261451881613c7a565b9050919050565b6000602082019050818103600083015261453881613ce0565b9050919050565b6000602082019050818103600083015261455881613d46565b9050919050565b6000602082019050818103600083015261457881613d86565b9050919050565b6000602082019050818103600083015261459881613dec565b9050919050565b600060208201905081810360008301526145b881613e2c565b9050919050565b600060208201905081810360008301526145d881613e6c565b9050919050565b600060208201905081810360008301526145f881613eac565b9050919050565b6000602082019050818103600083015261461881613f52565b9050919050565b60006020820190506146346000830184613fb8565b92915050565b600060408201905061464f6000830185613fb8565b81810360208301526146618184613505565b90509392505050565b6000604051905081810181811067ffffffffffffffff8211171561468d57600080fd5b8060405250919050565b600067ffffffffffffffff8211156146ae57600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000808585111561472157600080fd5b8386111561472e57600080fd5b6001850283019150848603905094509492505050565b600061474f826147aa565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60006147a382614744565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b60006148008261483d565b9050919050565b600061481282614819565b9050919050565b6000614824826147aa565b9050919050565b6000614836826147d4565b9050919050565b60006148488261484f565b9050919050565b600061485a826147aa565b9050919050565b82818337600083830152505050565b60005b8381101561488e578082015181840152602081019050614873565b8381111561489d576000848401525b50505050565b60006148ae826148bf565b9050919050565b6000819050919050565b60006148ca826148ec565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b61490281614744565b811461490d57600080fd5b50565b61491981614762565b811461492457600080fd5b50565b6149308161476c565b811461493b57600080fd5b50565b61494781614798565b811461495257600080fd5b50565b61495e816147ca565b811461496957600080fd5b5056fea164736f6c634300060c000a", + "bytecode": "0x60806040523480156200001157600080fd5b506200002e67e6ad6dd6ee73072860c01b6200017e60201b60201c565b6200004a67bcc9be562f8a4b0a60c01b6200018160201b60201c565b6200006667579ae7209daca85260c01b6200018160201b60201c565b32600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000c3676b19898ae2f7725060c01b6200018460201b60201c565b620000df677c2d0c907f0deddc60c01b6200018460201b60201c565b620000fb67f0d1a438b0305bb160c01b6200018460201b60201c565b6000620001196737bb5abaf3e7d9d360c01b6200018460201b60201c565b46905062000138676f86a9c0c67bb39a60c01b6200018460201b60201c565b80600281905550506200015c674f33f857671bcade60c01b6200018760201b60201c565b62000178671b8a8de85538aaee60c01b6200018a60201b60201c565b6200018d565b50565b50565b50565b50565b50565b6172ce806200019d6000396000f3fe608060405234801561001057600080fd5b506004361061038e5760003560e01c80638b95dd71116101de578063bdbafb451161010f578063dc5b68a6116100ad578063ee5fac3c1161007c578063ee5fac3c14610ba0578063f0af072114610bd0578063f1cb7e0614610bec578063f446529f14610c1c5761038e565b8063dc5b68a614610b1c578063dce3f9a414610b38578063e89f764b14610b54578063ebaa653314610b845761038e565b8063c8cc2aee116100e9578063c8cc2aee14610a84578063d0f710d614610aa0578063d5fa2b0014610ad0578063d84fa10c14610aec5761038e565b8063bdbafb4514610a07578063c454330514610a23578063c869023314610a535761038e565b8063a6f8c64a1161017c578063b94f144811610156578063b94f14481461096f578063bccb31c61461099f578063bcd48364146109bb578063bd1313ce146109d75761038e565b8063a6f8c64a14610907578063a91ee0dc14610923578063ae1a7ece1461093f5761038e565b80639adf1043116101b85780639adf10431461085b5780639f106f7e1461088b578063a3561e69146108bb578063a526d83b146108eb5761038e565b80638b95dd71146107f1578063969faf5b1461080d5780639a8a05921461083d5761038e565b80633b3b57de116102c3578063691f3431116102615780637737221311610230578063773722131461077f5780637b1039991461079b5780637d0e0e7e146107b95780638034cda0146107d55761038e565b8063691f3431146106d3578063692b0ad9146107035780636df0cf421461073357806371404156146107635761038e565b80635016492e1161029d5780635016492e1461062757806355800f871461065757806359d1d43c1461067357806361f6df1e146106a35761038e565b80633b3b57de146105bf5780633e260b13146105ef57806346386f731461060b5761038e565b80631b3cd1421161033057806329cd62ea1161030a57806329cd62ea1461052557806329fbd957146105415780632c4bbae614610571578063392e53cd146105a15761038e565b80631b3cd142146104bd578063279a5039146104ed57806329ae6a7e146105095761038e565b80630c68ba211161036c5780630c68ba21146104235780630feb61e61461045357806310f13a8c14610483578063116191b61461049f5761038e565b806301ffc9a71461039357806306554924146103c35780630c67003a146103f3575b600080fd5b6103ad60048036038101906103a89190615c9d565b610c4c565b6040516103ba9190616ace565b60405180910390f35b6103dd60048036038101906103d89190615cc6565b61102a565b6040516103ea9190616ace565b60405180910390f35b61040d60048036038101906104089190615cc6565b611035565b60405161041a9190616ace565b60405180910390f35b61043d6004803603810190610438919061594f565b61103c565b60405161044a9190616ace565b60405180910390f35b61046d60048036038101906104689190615cc6565b6110cd565b60405161047a9190616ace565b60405180910390f35b61049d60048036038101906104989190615b71565b6110d8565b005b6104a76112ac565b6040516104b49190616a6f565b60405180910390f35b6104d760048036038101906104d291906159a1565b6112d2565b6040516104e49190616a6f565b60405180910390f35b61050760048036038101906105029190615cc6565b611305565b005b610523600480360381019061051e91906159a1565b611308565b005b61053f600480360381019061053a9190615a06565b61166d565b005b61055b60048036038101906105569190615cc6565b611825565b6040516105689190616ace565b60405180910390f35b61058b60048036038101906105869190615cc6565b611830565b6040516105989190616ace565b60405180910390f35b6105a9611837565b6040516105b69190616ace565b60405180910390f35b6105d960048036038101906105d491906159a1565b6118cc565b6040516105e69190616a6f565b60405180910390f35b61060960048036038101906106049190615cc6565b61191a565b005b61062560048036038101906106209190615a55565b61191d565b005b610641600480360381019061063c9190615cc6565b611e0b565b60405161064e9190616ace565b60405180910390f35b610671600480360381019061066c91906159a1565b611e16565b005b61068d60048036038101906106889190615b19565b61222b565b60405161069a9190616c4f565b60405180910390f35b6106bd60048036038101906106b89190615cc6565b61233c565b6040516106ca9190616ace565b60405180910390f35b6106ed60048036038101906106e891906159a1565b612347565b6040516106fa9190616c4f565b60405180910390f35b61071d60048036038101906107189190615cc6565b612438565b60405161072a9190616ace565b60405180910390f35b61074d60048036038101906107489190615d84565b61243f565b60405161075a9190616ae9565b60405180910390f35b61077d6004803603810190610778919061594f565b61249b565b005b61079960048036038101906107949190615b19565b612843565b005b6107a36129df565b6040516107b09190616c10565b60405180910390f35b6107d360048036038101906107ce91906159a1565b612a05565b005b6107ef60048036038101906107ea9190615cc6565b612e38565b005b61080b60048036038101906108069190615c36565b612e3b565b005b61082760048036038101906108229190615cc6565b612f71565b6040516108349190616ace565b60405180910390f35b610845612f78565b6040516108529190616f31565b60405180910390f35b61087560048036038101906108709190615cc6565b612f7e565b6040516108829190616ace565b60405180910390f35b6108a560048036038101906108a09190615cc6565b612f89565b6040516108b29190616ace565b60405180910390f35b6108d560048036038101906108d09190615cc6565b612f94565b6040516108e29190616ace565b60405180910390f35b6109056004803603810190610900919061594f565b612f9b565b005b610921600480360381019061091c9190615cc6565b61310e565b005b61093d60048036038101906109389190615cef565b613111565b005b61095960048036038101906109549190615cc6565b6134ca565b6040516109669190616ace565b60405180910390f35b61098960048036038101906109849190615cc6565b6134d5565b6040516109969190616ace565b60405180910390f35b6109b960048036038101906109b49190615cc6565b6134dc565b005b6109d560048036038101906109d09190615cc6565b6134df565b005b6109f160048036038101906109ec9190615cc6565b6134e2565b6040516109fe9190616ace565b60405180910390f35b610a216004803603810190610a1c9190615cc6565b6134e9565b005b610a3d6004803603810190610a389190615cc6565b6134ec565b604051610a4a9190616ace565b60405180910390f35b610a6d6004803603810190610a6891906159a1565b6134f7565b604051610a7b929190616b2d565b60405180910390f35b610a9e6004803603810190610a9991906159a1565b61356d565b005b610aba6004803603810190610ab59190615ac1565b613a21565b604051610ac79190616ace565b60405180910390f35b610aea6004803603810190610ae591906159ca565b613ab6565b005b610b066004803603810190610b019190615cc6565b613bea565b604051610b139190616ace565b60405180910390f35b610b366004803603810190610b319190615d18565b613bf1565b005b610b526004803603810190610b4d9190615cc6565b613fa8565b005b610b6e6004803603810190610b699190615cc6565b613fab565b604051610b7b9190616ace565b60405180910390f35b610b9e6004803603810190610b999190615cc6565b613fb2565b005b610bba6004803603810190610bb59190615cc6565b613fb5565b604051610bc79190616ace565b60405180910390f35b610bea6004803603810190610be59190615cc6565b613fbc565b005b610c066004803603810190610c019190615bfa565b613fbf565b604051610c139190616bee565b60405180910390f35b610c366004803603810190610c319190615cc6565b6140c2565b604051610c439190616ace565b60405180910390f35b6000610c62673e53c3a719fdfb6160c01b6134e9565b610c766729ef8ce42af619b060c01b6134e9565b610c8a672ce96fd6ab276e0c60c01b6134e9565b604051602001610c9990616981565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148015610d0b5750610d0a670fbe9824db25179a60c01b611e0b565b5b80610daf5750604051602001610d20906169bc565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148015610d925750610d916727b7c81d07ae1edf60c01b611e0b565b5b8015610dae5750610dad674c643504008914e460c01b611e0b565b5b5b80610e535750604051602001610dc490616a10565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148015610e365750610e3567cd525a4cca4f34a860c01b611e0b565b5b8015610e525750610e516788cd2a17224750ec60c01b611e0b565b5b5b80610ef75750604051602001610e68906169e6565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148015610eda5750610ed9672a0e61e84c067a0a60c01b611e0b565b5b8015610ef65750610ef567502d2e13e9277dcb60c01b611e0b565b5b5b80610f9b5750604051602001610f0c906169fb565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148015610f7e5750610f7d678a100a7067c528eb60c01b611e0b565b5b8015610f9a5750610f996711799455275f223260c01b611e0b565b5b5b806110235750604051602001610fb0906169d1565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614801561102257506110216784e3fa8f14ba5fc860c01b611e0b565b5b5b9050919050565b600060019050919050565b6000919050565b6000611052677ab52c65f999e01f60c01b6134dc565b6110666710268b7b424a1bd560c01b6134dc565b61107a6713a157f311059a7b60c01b6134dc565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600060019050919050565b6110ec67d251b3372a0cf47960c01b611305565b8461110167a8597772f581907360c01b613fb2565b611115676495766894d148d260c01b613fb2565b61112967c1da93cd693904fb60c01b613fb2565b61113d6711ce0725ac60101860c01b613fb2565b611146816140cd565b611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c90616ef1565b60405180910390fd5b611199678748427beee9a41560c01b613fb2565b6111ad679dcf59ae2b3dc50860c01b613fb2565b6111c167591792e78ec2f65760c01b611305565b6111d5676669726c18307e5e60c01b611305565b6111e967cae1031985aa218360c01b611305565b828260076000898152602001908152602001600020878760405161120e929190616968565b9081526020016040518091039020919061122992919061560d565b5061123e674e2633545fafa32260c01b611305565b611252675f78468e1dde38a460c01b611305565b8484604051611262929190616968565b6040518091039020867fd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550878760405161129c929190616c2b565b60405180910390a3505050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60096020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b50565b61131c6732f0fd9a837cb8ae60c01b6134e9565b61133067ccef01e2549de0f160c01b6134e9565b61134467351df6a73de5ed1f60c01b6134e9565b600061134e6141f2565b905061136467bc87442f68ba4e8560c01b6134e9565b61137867c1f6c1e5fb99a06a60c01b6134e9565b61138c67a01e251f792e923e60c01b6134e9565b3073ffffffffffffffffffffffffffffffffffffffff166113ac8361423f565b73ffffffffffffffffffffffffffffffffffffffff1614611402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f990616d51565b60405180910390fd5b61141667d97611c48588e50960c01b6134e9565b61142a67915426252a0e5af260c01b6134e9565b61143e673d4f611e5bcfec5160c01b6134e9565b61145267f5c32e9e304a40ae60c01b6134e9565b8073ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ea90616c91565b60405180910390fd5b6115076757ad1b22f297e47460c01b6134e9565b61151b672518daaccd90e99d60c01b6134e9565b61152f67531efb0041a679c960c01b6134e9565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c383836040518363ffffffff1660e01b815260040161158c929190616b04565b600060405180830381600087803b1580156115a657600080fd5b505af11580156115ba573d6000803e3d6000fd5b505050506115d267c7d84d1a497d278660c01b6134e9565b6009600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905561161c67b9e9f636ac14f30e60c01b6134e9565b61163067e55674422ce28fc360c01b6134e9565b7f7803a16d95f9ca635bdec561006625e7444d8a9f8463866643cc03af011779d38282604051611661929190616b04565b60405180910390a15050565b61168167d17efb0a7eb6908260c01b61310e565b8261169667a8597772f581907360c01b613fb2565b6116aa676495766894d148d260c01b613fb2565b6116be67c1da93cd693904fb60c01b613fb2565b6116d26711ce0725ac60101860c01b613fb2565b6116db816140cd565b61171a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171190616ef1565b60405180910390fd5b61172e678748427beee9a41560c01b613fb2565b611742679dcf59ae2b3dc50860c01b613fb2565b61175667a7c8d4d16e37e64360c01b61310e565b61176a67ce8cc1dc0cdb407760c01b61310e565b61177e673b6fb4a892f52fdf60c01b61310e565b6040518060400160405280848152602001838152506006600086815260200190815260200160002060008201518160000155602082015181600101559050506117d1675050d3db7836b7b260c01b61310e565b6117e5676e14e4e56feb20eb60c01b61310e565b837f1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e468484604051611817929190616b2d565b60405180910390a250505050565b600060019050919050565b6000919050565b600061184d67e29fe2f351ca6b2760c01b61191a565b611861676f5dd3f08b97747760c01b61191a565b611875673a9488d62818322a60c01b61191a565b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b60006118e267ce175155cdbb82b660c01b612e38565b6118f6672829765e0e2bb8b060c01b612e38565b61190a67280086a7db8bdd0960c01b612e38565b6119138261423f565b9050919050565b50565b61193167093e06bd5823435060c01b6134e9565b61194567ac96d16a1d124a8660c01b6134e9565b61195967ee327b96f00b172e60c01b6134e9565b60006119636141f2565b905061197967fffac7b649ab959b60c01b6134e9565b61198d67eff3af429a5d4acd60c01b6134e9565b600061199a82878761441a565b90506119b067877a107de4122c7d60c01b6134e9565b6119c4675d96a43b57a9a14860c01b6134e9565b6119d8673f35c7250fc5b44960c01b6134e9565b611a268185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506144ae565b611a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5c90616cb1565b60405180910390fd5b611a796707e366c09dc556ed60c01b6134e9565b611a8d672c7c0dd19e915ba360c01b6134e9565b611aa167097639b96bc3b80560c01b6134e9565b60008686604051602001611ab692919061693c565b604051602081830303815290604052805190602001209050611ae267e68beb862797da6e60c01b6134e9565b611af66762cc10045f9825dd60c01b6134e9565b611b0a673c62ebcce573c75a60c01b6134e9565b3073ffffffffffffffffffffffffffffffffffffffff16611b2a8861423f565b73ffffffffffffffffffffffffffffffffffffffff1614611b80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7790616d31565b60405180910390fd5b611b9467c9f661627c57c42660c01b6134e9565b611ba867a92e5d7d936d303a60c01b6134e9565b611bbc678b3a41262117961660c01b6134e9565b611bd067d4d77c202d37459960c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff16611bf18261423f565b73ffffffffffffffffffffffffffffffffffffffff1614611c47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3e90616cd1565b60405180910390fd5b611c5b67a644ab7ed021918160c01b6134e9565b611c6f67761eab3b7dda68e260c01b6134e9565b611c8367613cb4e0dcf9073b60c01b6134e9565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635ef2c7f08888303060006040518663ffffffff1660e01b8152600401611ce7959493929190616b56565b600060405180830381600087803b158015611d0157600080fd5b505af1158015611d15573d6000803e3d6000fd5b50505050611d2d673c97c7996ed3291460c01b6134e9565b611d4167f8052d109a403d0860c01b6134e9565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c382856040518363ffffffff1660e01b8152600401611d9e929190616b04565b600060405180830381600087803b158015611db857600080fd5b505af1158015611dcc573d6000803e3d6000fd5b50505050611de4674abdf691c39e28d560c01b6134e9565b611df867db1b5686f2b1df1b60c01b6134e9565b611e028184614580565b50505050505050565b600060019050919050565b611e2a67c29482f3a6cc814760c01b6134e9565b611e3e675d9375568b5cf37b60c01b6134e9565b611e5267a821cd4d6396a0c560c01b6134e9565b6000611e5c6141f2565b9050611e7267f8b13edbd3cdd6c260c01b6134e9565b611e8667868fc72177e2cce160c01b6134e9565b611e9a67e0f9a111b7f58f1960c01b6134e9565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b8152600401611ef59190616ae9565b60206040518083038186803b158015611f0d57600080fd5b505afa158015611f21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f459190615978565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611fb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa990616d91565b60405180910390fd5b611fc667cfafcda721fa636760c01b6134e9565b611fda678e79226abb7ea95360c01b6134e9565b611fee67cd1ff6293a0a21cb60c01b6134e9565b61200267ca6580fbb3878c5f60c01b6134e9565b3073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf846040518263ffffffff1660e01b81526004016120749190616ae9565b60206040518083038186803b15801561208c57600080fd5b505afa1580156120a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c49190615978565b73ffffffffffffffffffffffffffffffffffffffff161461211a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211190616c71565b60405180910390fd5b61212e6734e7c2c06a6b212f60c01b6134e9565b61214267221dc6d28b6f7a1e60c01b6134e9565b61215667259c70f8bcd41c9a60c01b6134e9565b61216a671e3be474d4bc2b4560c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff1661218b8361423f565b73ffffffffffffffffffffffffffffffffffffffff16146121e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d890616e31565b60405180910390fd5b6121f567dfba363a4295a6bd60c01b6134e9565b61220967bc4c15ea2525331560c01b6134e9565b61221d67995ab68b5de2543a60c01b6134e9565b6122278282614580565b5050565b60606122416716908bcdbcdc0a9660c01b611305565b61225567378d2762af388c0860c01b611305565b61226967df2e701c4f77554d60c01b611305565b60076000858152602001908152602001600020838360405161228c929190616968565b90815260200160405180910390208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561232e5780601f106123035761010080835404028352916020019161232e565b820191906000526020600020905b81548152906001019060200180831161231157829003601f168201915b505050505090509392505050565b600060019050919050565b606061235d67dec5b1215c24904760c01b613fa8565b612371673f4531654d1602d960c01b613fa8565b612385675968079db6a751b060c01b613fa8565b600560008381526020019081526020016000208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561242c5780601f106124015761010080835404028352916020019161242c565b820191906000526020600020905b81548152906001019060200180831161240f57829003601f168201915b50505050509050919050565b6000919050565b60006124556755e36f2e6b1bed6860c01b6134e9565b6124696711ac5bde527c76fe60c01b6134e9565b61247d67f064a7883b8823c560c01b6134e9565b61249482600001518360200151846040015161441a565b9050919050565b6124af6747dd6d4e27a092d260c01b6134dc565b6124c367e0600b94c13d066760c01b6134dc565b6124d76755e8cedcdd449e2360c01b6134dc565b6124eb67ab821ba7fedab67160c01b6134dc565b6124ff67c540fbd78e0e2a4960c01b6134dc565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661258a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258190616db1565b60405180910390fd5b61259e67d014260b312542b460c01b6134dc565b6125b2674e25985d1c99d1f260c01b6134dc565b6125c667736984febec5fd2560c01b6134dc565b6125da67cbb923c66996310360c01b6134dc565b6125ee672c114aff1103564b60c01b6134dc565b61260267a76a63e34be2bddb60c01b6134dc565b61261667a220bc889ca09d2360c01b6134dc565b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161415612685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267c90616eb1565b60405180910390fd5b612699679467d7af09c5944d60c01b6134dc565b6126ad67c28a58b1b15ad6de60c01b6134dc565b6126c167c70b0fecc7c6d3b160c01b6134dc565b6126d567e7892f9392d41a6760c01b6134dc565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612760576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275790616e51565b60405180910390fd5b612774675a0de441d13969aa60c01b6134dc565b612788674e473b0a29064fba60c01b6134dc565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506127f367e398e5606400274660c01b6134dc565b6128076738c3bd156a3471c260c01b6134dc565b7fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b3282604051612838929190616aa5565b60405180910390a150565b61285767e126def3e2fdfc1060c01b613fa8565b8261286c67a8597772f581907360c01b613fb2565b612880676495766894d148d260c01b613fb2565b61289467c1da93cd693904fb60c01b613fb2565b6128a86711ce0725ac60101860c01b613fb2565b6128b1816140cd565b6128f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128e790616ef1565b60405180910390fd5b612904678748427beee9a41560c01b613fb2565b612918679dcf59ae2b3dc50860c01b613fb2565b61292c6707fd1d9d1376442f60c01b613fa8565b61294067090977de14e2519760c01b613fa8565b612954670985f502ef56100560c01b613fa8565b828260056000878152602001908152602001600020919061297692919061560d565b5061298b67572689195bfb8dcf60c01b613fa8565b61299f67839de8924a7c57b360c01b613fa8565b837fb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f784846040516129d1929190616c2b565b60405180910390a250505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612a196798f4fe795a6144c460c01b6134e9565b612a2d67d73fa07884c6296b60c01b6134e9565b612a41674f89b1faa0f36f2660c01b6134e9565b6000612a4b6141f2565b9050612a6167a74a41ef91908ce860c01b6134e9565b612a7567f04afda219e7f8bb60c01b6134e9565b612a8967069ded0da7c75ab960c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff16612aaa8361423f565b73ffffffffffffffffffffffffffffffffffffffff1614612b00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612af790616e11565b60405180910390fd5b612b14678cddb4766da2e34660c01b6134e9565b612b2766ab3ed8e3481c0560c01b6134e9565b612b3b671fd098baa193ac3c60c01b6134e9565b612b4f67e0887e53d44f403760c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612bf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612be890616df1565b60405180910390fd5b612c0567a498ec26f596d6e960c01b6134e9565b612c1967b74e03b9068920b660c01b6134e9565b612c2d674e7ad34c6e53bae860c01b6134e9565b612c416726e677701509fa3760c01b6134e9565b8073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b8152600401612cb39190616ae9565b60206040518083038186803b158015612ccb57600080fd5b505afa158015612cdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d039190615978565b73ffffffffffffffffffffffffffffffffffffffff1614612d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d5090616e71565b60405180910390fd5b612d6d670cd0d667e6f0800360c01b6134e9565b612d8167747454a7a4898a8560c01b6134e9565b806009600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612de767ffca0d5222865e7260c01b6134e9565b612dfb670cf13c115d48bc9c60c01b6134e9565b7fc1e082a8c26f27c26e1bf5d0ce7ddd579ec7f6d7eb3ea90d8abd6c40991bae368282604051612e2c929190616b04565b60405180910390a15050565b50565b612e4f6799155cd2a5dde28560c01b612e38565b82612e6467a8597772f581907360c01b613fb2565b612e78676495766894d148d260c01b613fb2565b612e8c67c1da93cd693904fb60c01b613fb2565b612ea06711ce0725ac60101860c01b613fb2565b612ea9816140cd565b612ee8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612edf90616ef1565b60405180910390fd5b612efc678748427beee9a41560c01b613fb2565b612f10679dcf59ae2b3dc50860c01b613fb2565b612f2467d9477995493ad23960c01b612e38565b612f3867e8ec793f550502aa60c01b612e38565b612f4c67c88eacd4d405cebc60c01b612e38565b612f6067722858e9ba70a57360c01b612e38565b612f6b8484846145d4565b50505050565b6000919050565b60025481565b600060019050919050565b600060019050919050565b6000919050565b612faf67c17b66a0b198af7b60c01b6134dc565b612fc367e0600b94c13d066760c01b6134dc565b612fd76755e8cedcdd449e2360c01b6134dc565b612feb67ab821ba7fedab67160c01b6134dc565b612fff67c540fbd78e0e2a4960c01b6134dc565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661308a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161308190616db1565b60405180910390fd5b61309e67d014260b312542b460c01b6134dc565b6130b2674e25985d1c99d1f260c01b6134dc565b6130c667dfa24a8cc198350160c01b6134dc565b6130da67f9907d82cd18ee0760c01b6134dc565b6130ee67dd37ee49f553c5a760c01b6134dc565b613102679ad66b1d98f77fdf60c01b6134dc565b61310b81614763565b50565b50565b61312567e9f2c05c29e364a960c01b6134e9565b61313967e0600b94c13d066760c01b6134dc565b61314d6755e8cedcdd449e2360c01b6134dc565b61316167ab821ba7fedab67160c01b6134dc565b61317567c540fbd78e0e2a4960c01b6134dc565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16613200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131f790616db1565b60405180910390fd5b61321467d014260b312542b460c01b6134dc565b613228674e25985d1c99d1f260c01b6134dc565b61323c6756ec4c07451bebd760c01b6134e9565b613250676284b5cfe2b6cd9560c01b6134e9565b613264672f569dba424ddeac60c01b6134e9565b61327867991f4dca615481e060c01b6134e9565b61328c67a8a9436bb01cf21360c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156132fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132f390616dd1565b60405180910390fd5b61331067fa83ede13aeade4260c01b6134e9565b613324677145711e91344b0660c01b6134e9565b6133386754da73a6d641b97160c01b6134e9565b61334c67b54a3e091d86239060c01b6134e9565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156133dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133d490616f11565b60405180910390fd5b6133f167b214cbbf2513d88f60c01b6134e9565b61340567b606e73450fa4d8160c01b6134e9565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061345a675b8af6325434e8ba60c01b6134e9565b61346e671ae4b0a4bfec621960c01b6134e9565b7fdb0239c63d4033dcdd21bd44f8dd479a03efbae12f6bbe27c0a5f923d26514cc600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516134bf9190616a6f565b60405180910390a150565b600060019050919050565b6000919050565b50565b50565b6000919050565b50565b600060019050919050565b60008061350e67bf2c21e9346c79bf60c01b61310e565b61352267146b5820274012ac60c01b61310e565b61353667efc1b53237a9532760c01b61310e565b6006600084815260200190815260200160002060000154600660008581526020019081526020016000206001015491509150915091565b61358167195123199189556b60c01b6134e9565b6135956748eec34c0b163c1f60c01b6134e9565b6135a96780a6efacb3203cb060c01b6134e9565b60006135b36141f2565b90506135c9674cab9d3c2b64c15260c01b6134e9565b6135dd67ed6db694efc55e3a60c01b6134e9565b6135f167f6f02d4161c0aadf60c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff166136128361423f565b73ffffffffffffffffffffffffffffffffffffffff1614613668576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161365f90616e11565b60405180910390fd5b61367c67cdc40258d995303c60c01b6134e9565b61369067cdfb0ccffffa7e3060c01b6134e9565b6136a467a3fe81400e3e4c6960c01b6134e9565b6136b8677636a8ffbb7e2ec360c01b6134e9565b8073ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613759576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161375090616c91565b60405180910390fd5b61376d67aaa8c5f31bb5252a60c01b6134e9565b6137816763bad9422c7bd62660c01b6134e9565b6137956794c1054105a61a1360c01b6134e9565b6137a9672d15573d3f9ab91f60c01b6134e9565b3073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b815260040161381b9190616ae9565b60206040518083038186803b15801561383357600080fd5b505afa158015613847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061386b9190615978565b73ffffffffffffffffffffffffffffffffffffffff16146138c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138b890616e71565b60405180910390fd5b6138d5677d36fcfc58269f6960c01b6134e9565b6138e96736fe4e6461a6c8d360c01b6134e9565b6138fd67d2462ae891a22c3560c01b6134e9565b6139078230614580565b61391b6790691e74906f852d60c01b6134e9565b61392f6734990696d2cbbe5060c01b6134e9565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a83306040518363ffffffff1660e01b815260040161398c929190616b04565b600060405180830381600087803b1580156139a657600080fd5b505af11580156139ba573d6000803e3d6000fd5b505050506139d2672ab0eeb28861f73460c01b6134e9565b6139e667c0197a444973256760c01b6134e9565b7fcefbe9dbadcf675eef14e23810996ff38541fc26b4dd77cd6724b0eedc96f20082604051613a159190616ae9565b60405180910390a15050565b6000613a37670fa739e07c029f9060c01b6134dc565b613a4b67406100042e7653bd60c01b6134dc565b613a5f6784104632bda8198f60c01b6134dc565b613aad8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506144ae565b90509392505050565b613aca67b8dc6c7f6208982060c01b612e38565b81613adf67a8597772f581907360c01b613fb2565b613af3676495766894d148d260c01b613fb2565b613b0767c1da93cd693904fb60c01b613fb2565b613b1b6711ce0725ac60101860c01b613fb2565b613b24816140cd565b613b63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b5a90616ef1565b60405180910390fd5b613b77678748427beee9a41560c01b613fb2565b613b8b679dcf59ae2b3dc50860c01b613fb2565b613b9f677396c22b6058759b60c01b612e38565b613bb36766fb11489ea79d3760c01b612e38565b613bc7677545b5f28a61157360c01b612e38565b613bdb67e41b892a5d0b811960c01b612e38565b613be58383614580565b505050565b6000919050565b613c0567c9f8523af82bab8360c01b6134e9565b613c1967d2ba19feb39e0b7f60c01b61191a565b613c2d670c5ad53cdb9edd1560c01b61191a565b613c4167b6b588d2ebb9ae6960c01b61191a565b613c5567c4ec9a90a885875260c01b61191a565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614613ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613cdc90616d11565b60405180910390fd5b613cf967c3785ba1534db95460c01b61191a565b613d0d67e4202927591248ef60c01b61191a565b6000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613d6367531cfa2817fbdc8660c01b61191a565b613d776740d6cffa7ab2c26960c01b6134e9565b613d8b6756183fd103117d9e60c01b6134e9565b613d9f674602df75ac80bac360c01b6134e9565b613db36729a6ec9f49a02d1160c01b6134e9565b613dc767aceff1c6eeb9c91360c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415613e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e2e90616dd1565b60405180910390fd5b613e4b6703e069af565866e360c01b6134e9565b613e5f6787b237de5a3c419060c01b6134e9565b83600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613eb467de2fcb48e932264460c01b6134e9565b613ec8679dd0cca15f369a6c60c01b6134e9565b613f12838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050506149e2565b613f266776e2956e5d5a32ca60c01b6134e9565b613f3a67e43784b3932c727e60c01b6134e9565b613f4381614b3e565b613f576701520f419008b58e60c01b61191a565b613f6b6775364c04848b013b60c01b61191a565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051613f9a9190616a8a565b60405180910390a150505050565b50565b6000919050565b50565b6000919050565b50565b6060613fd567e2f9f38fff2fc32060c01b612e38565b613fe96785aead68c541c11460c01b612e38565b613ffd67e58df30d06a8f2d060c01b612e38565b6004600084815260200190815260200160002060008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156140b55780601f1061408a576101008083540402835291602001916140b5565b820191906000526020600020905b81548152906001019060200180831161409857829003601f168201915b5050505050905092915050565b600060019050919050565b60006140e367655be2e876f304b760c01b6134e9565b6140f76784463205d9b9b5d160c01b6134e9565b61410b67b724a588b1b1d71060c01b6134e9565b6141136141f2565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b81526004016141849190616ae9565b60206040518083038186803b15801561419c57600080fd5b505afa1580156141b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141d49190615978565b73ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000614208677ac614d5268cc8ac60c01b613fbc565b61421c670a6b7ac33c94c4ed60c01b613fbc565b61423067e7ef433820a2765360c01b613fbc565b61423a6028614baa565b905090565b6000614255677a700e570bc2a2fc60c01b612e38565b61426967d0ba17887186b37e60c01b612e38565b61427d6780906c28707d15c960c01b612e38565b60006142936797ef8d9ff31bef5660c01b612e38565b6142a767f7584d6fe1f20edf60c01b612e38565b6060600460008581526020019081526020016000206000603c81526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156143625780601f1061433757610100808354040283529160200191614362565b820191906000526020600020905b81548152906001019060200180831161434557829003601f168201915b5050505050905061437d676d87361a9762eaaa60c01b612e38565b6143916735eb1fc4be22236c60c01b612e38565b6000815111156143d3576143af67948289de987958d460c01b612e38565b6143c36714e213e2588060b960c01b612e38565b6143cc81614d40565b91506143e8565b6143e7678f764f9dd1c1ed8260c01b612e38565b5b6143fc678b711ea8478c55b460c01b612e38565b61441067a95eb015360bec7e60c01b612e38565b8192505050919050565b600061443067d23d299e453cbef960c01b6134e9565b61444467cf4ec574175a17ec60c01b6134e9565b61445867c6352e1e889e3f5560c01b6134e9565b6144a57f621363c539a3aa1024c8837ca1dc095db03b7f9512b3a95ecb429aae7fd953ed858585604051602001614491939291906168ff565b604051602081830303815290604052614e31565b90509392505050565b60006144c467fbe9af14abc78ca860c01b6134dc565b6144d867bd3616cf00f8ad2b60c01b6134dc565b6144ec670aad941719c9b69b60c01b6134dc565b60006145018385614eae90919063ffffffff16565b90506145176706f556c4601e7cd060c01b6134dc565b61452b67344e7bee2db8345860c01b6134dc565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b6145946738d211ffdd9c049860c01b612e38565b6145a867acea32d3c1dcb5ef60c01b612e38565b6145bc67a1ca8e8ea3f1792660c01b612e38565b6145d082603c6145cb846151b6565b6145d4565b5050565b6145e86710b60a5dae454a6f60c01b612e38565b6145fc6777ebe5b96203aa5660c01b612e38565b614610672e75dee0965b85d960c01b612e38565b827f65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af7528383604051614642929190616f4c565b60405180910390a261465e670ac1489a0da775d560c01b612e38565b614672671d550d092ffb544360c01b612e38565b603c8214156146fc5761468f678deefdd0c0c4f8b360c01b612e38565b6146a367aa5003b8afb30f0460c01b612e38565b6146b76717b5dcac59fd3d2960c01b612e38565b827f52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd26146e283614d40565b6040516146ef9190616a8a565b60405180910390a2614711565b61471067ef5c168066bd63e360c01b612e38565b5b61472567597aaab56f7ddde360c01b612e38565b80600460008581526020019081526020016000206000848152602001908152602001600020908051906020019061475d92919061568d565b50505050565b6147776703611a9e4063d8ea60c01b6134dc565b61478b67ee1baacaa033494260c01b6134dc565b61479f6751e5840de998a97760c01b6134dc565b6147b3676f82de74e2e2e03560c01b6134dc565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415614823576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161481a90616cf1565b60405180910390fd5b6148376717cb80dba7a8a0ea60c01b6134dc565b61484b67e2f8fabe2a63d8b660c01b6134dc565b61485f677550a657f22d30dc60c01b6134dc565b614873673c81d7073dbe6f3060c01b6134dc565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156148ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016148f690616e91565b60405180910390fd5b61491367bc5a1f0994a7f54e60c01b6134dc565b614927679a7f014629c7374960c01b6134dc565b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061499267d71c83e9f3188e9d60c01b6134dc565b6149a667e4bfbd26cb5c77e660c01b6134dc565b7fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a32826040516149d7929190616aa5565b60405180910390a150565b6149f667f4de5e8e73d6ad8760c01b6134dc565b614a0a67db1ce0981035d84760c01b6134dc565b614a1e67e97a0a25809a3f0960c01b6134dc565b600081511415614a7257614a3c67de11b839232da49160c01b6134dc565b614a5067b59bd2ea0c1c89a260c01b6134dc565b614a6467652fe2786000e62060c01b6134dc565b614a6d32614763565b614b3b565b614a8667ad5f6f13dddc2ad960c01b6134dc565b614a9a672af46088979bcb2160c01b6134dc565b614aae6796cb81cf0bf6606d60c01b6134dc565b600081519050614ac8672f4c11881b8dca8c60c01b6134dc565b614adc67cec4e8db5057edad60c01b6134dc565b60005b81811015614b3857614afb671a5cc94c8b734dd960c01b6134dc565b614b0f67e437d14e98e20b2f60c01b6134dc565b614b2b838281518110614b1e57fe5b6020026020010151614763565b8080600101915050614adf565b50505b50565b614b52670beab42e12728d3b60c01b613fbc565b614b66675ecbac840a5512ec60c01b613fbc565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000614bc06787c8246a4b35d1f160c01b613fbc565b614bd467976a1e8d41064d2460c01b613fbc565b614be8671867d8bf077bb31160c01b613fbc565b6000614bfe67bdfeda5454a1273960c01b613fbc565b614c12677709e048711a13c960c01b613fbc565b614c1a615296565b15614ce357614c3367d3c6f6b0bcac9b6e60c01b613fbc565b614c47673b2573735f5d680260c01b613fbc565b614c5b675089eb0622c78a2260c01b613fbc565b6000836000369050039050614c7a674bc94a8e9a6ee57960c01b613fbc565b614cdb60003683906014850192614c9393929190617023565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615461565b915050614d0f565b614cf7677e45e81af2ec2edc60c01b613fbc565b614d0b67391e31dbfdfb407e60c01b613fbc565b3390505b614d2367c4042e2c7c2c999760c01b613fbc565b614d3767fc44c5cccf2cd16760c01b613fbc565b80915050919050565b6000614d5667db251656546edddc60c01b612e38565b614d6a67d4996cc6ed6650af60c01b612e38565b614d7e6713f77ccc0675e66660c01b612e38565b6000614d9467697468552eb1b46c60c01b612e38565b614da86746658c34a7b92ce060c01b612e38565b614dbc6726663fb4243c1d5360c01b612e38565b6014835114614dca57600080fd5b614dde67e7e35d0843eb212860c01b612e38565b614df267f87ddfdf9c4de47d60c01b612e38565b600c6101000a6020840151049050614e1467c3203e7177d7044160c01b612e38565b614e2867517dcdf0eb50c8a560c01b612e38565b80915050919050565b6000614e476771b334e2e3162d2e60c01b6134df565b614e5b6729046581cf97a49460c01b6134df565b614e6f674f9e67c6b1f334b360c01b6134df565b614ea6600254308585604051602001614e8b9493929190616a25565b60405160208183030381529060405280519060200120615590565b905092915050565b6000614ec4670d75db982ec4597160c01b6155fc565b614ed86725c2c60ab754182560c01b6155fc565b614eec673eb64a254569ed0660c01b6155fc565b6000614f0267fb2a2286066e15e460c01b6155fc565b614f1667a440db11ec9e986d60c01b6155fc565b60418351141561516f57614f346704a5aada48e2763260c01b6155fc565b614f48674b98cf1796e5c26660c01b6155fc565b614f5c67d2dfec7b159385fc60c01b6155fc565b6000614f726772c2a840621b4aa760c01b6155fc565b614f8667bfd411e6ba4d07c460c01b6155fc565b6000614f9c67145d23f82764ba9960c01b6155fc565b614fb067acdff958a9c6c5dd60c01b6155fc565b6000614fc6673b79e3a80932a6a160c01b6155fc565b6020860151925060408601519150606086015160001a9050614ff2679b0cdee01a57ea2f60c01b6155fc565b615006675dbf88583373227960c01b6155fc565b601b8160ff16101561504557615026670dc9a1836eb51c3260c01b6155fc565b61503a677097d8456a6c3e1560c01b6155fc565b601b8101905061505a565b6150596708b39c61216869e760c01b6155fc565b5b61506e672ea4d6db7d2138c560c01b6155fc565b615082679ad3f461195a5eee60c01b6155fc565b601b8160ff161480156150a557506150a467a24e972b59dc7d0560c01b6155ff565b5b806150cf5750601c8160ff161480156150ce57506150cd67934bee4849491d9560c01b6155ff565b5b5b15615152576150e8676d6a491fc6e072fa60c01b6155fc565b6150fc67aecd1690d1de9f1c60c01b6155fc565b6001878285856040516000815260200160405260405161511f9493929190616ba9565b6020604051602081039080840390855afa158015615141573d6000803e3d6000fd5b505050602060405103519350615167565b61516667513fbc3b3a0ad1c060c01b6155fc565b5b505050615184565b6151836723d6d78de386c96660c01b6155fc565b5b6151986707d0c4f11e72cfc960c01b6155fc565b6151ac67b9689b22f403636c60c01b6155fc565b8091505092915050565b60606151cc6772351ea3c5d1b9f360c01b612e38565b6151e067f02df6c3bcbceef060c01b612e38565b6151f467ea816d23ec4287f760c01b612e38565b6060601467ffffffffffffffff8111801561520e57600080fd5b506040519080825280601f01601f1916602001820160405280156152415781602001600182028036833780820191505090505b5090506152586762376b73bacb383560c01b612e38565b600c6101000a8302602082015261527967b828916d5b99c26e60c01b612e38565b61528d67f4e2d092fa493cdd60c01b612e38565b80915050919050565b60006152ac6714ec9ba31585b6f760c01b613fbc565b6152c06764d00f8ee4cbc0f460c01b613fbc565b6152d46728aef4b71ffef7e260c01b613fbc565b60006152ea677b6cf6392b8d09d960c01b613fbc565b6152fe67da655f124163f4bc60c01b613fbc565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561541d57615368678c4556fd14dc507160c01b613fbc565b61537c674811af4455ee520960c01b613fbc565b61539067ae36e4b52033411860c01b613fbc565b6153a467ffe63a27679b309260c01b613fbc565b602c600036905010156153ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016153e390616d71565b60405180910390fd5b61540067d1762b0b1ca636f360c01b613fbc565b6154146769c465f7e405b9f660c01b613fbc565b60019050615432565b6154316710f40798097af22060c01b613fbc565b5b615446671855328cbdf7411660c01b613fbc565b61545a670e4f1457e534f9ac60c01b613fbc565b8091505090565b6000615477670df8d76b8cabf76a60c01b61560a565b61548b67e180fcce9e2bf4c560c01b61560a565b61549f670dcb70abe8e8bb0b60c01b61560a565b60006154b567c9f13cc22eb780e060c01b61560a565b6154c967c60f8d891ff21de960c01b61560a565b6154dd6782bb9e679e55c73460c01b61560a565b6014835114615521576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161551890616ed1565b60405180910390fd5b615535679ea304b1b6348ade60c01b61560a565b61554967a0049b4768bf518260c01b61560a565b6c010000000000000000000000006020840151049050615573671f4dc55703cfba1860c01b61560a565b61558767afb63a07e82275e260c01b61560a565b80915050919050565b60006155a667f3d1beb9fba5b7be60c01b6155fc565b6155ba676cd81a1865d6353260c01b6155fc565b6155ce676810828c21da671e60c01b6155fc565b816040516020016155df9190616996565b604051602081830303815290604052805190602001209050919050565b50565b600060019050919050565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061564e57803560ff191683800117855561567c565b8280016001018555821561567c579182015b8281111561567b578235825591602001919060010190615660565b5b509050615689919061570d565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106156ce57805160ff19168380011785556156fc565b828001600101855582156156fc579182015b828111156156fb5782518255916020019190600101906156e0565b5b509050615709919061570d565b5090565b5b8082111561572657600081600090555060010161570e565b5090565b60008135905061573981617237565b92915050565b60008151905061574e81617237565b92915050565b60008083601f84011261576657600080fd5b8235905067ffffffffffffffff81111561577f57600080fd5b60208301915083602082028301111561579757600080fd5b9250929050565b6000813590506157ad8161724e565b92915050565b6000813590506157c281617265565b92915050565b6000813590506157d78161727c565b92915050565b60008083601f8401126157ef57600080fd5b8235905067ffffffffffffffff81111561580857600080fd5b60208301915083600182028301111561582057600080fd5b9250929050565b600082601f83011261583857600080fd5b813561584b61584682616fa9565b616f7c565b9150808252602083016020830185838301111561586757600080fd5b61587283828461719f565b50505092915050565b60008135905061588a81617293565b92915050565b60008083601f8401126158a257600080fd5b8235905067ffffffffffffffff8111156158bb57600080fd5b6020830191508360018202830111156158d357600080fd5b9250929050565b6000606082840312156158ec57600080fd5b6158f66060616f7c565b905060006159068482850161572a565b600083015250602061591a8482850161579e565b602083015250604061592e8482850161579e565b60408301525092915050565b600081359050615949816172aa565b92915050565b60006020828403121561596157600080fd5b600061596f8482850161572a565b91505092915050565b60006020828403121561598a57600080fd5b60006159988482850161573f565b91505092915050565b6000602082840312156159b357600080fd5b60006159c18482850161579e565b91505092915050565b600080604083850312156159dd57600080fd5b60006159eb8582860161579e565b92505060206159fc8582860161572a565b9150509250929050565b600080600060608486031215615a1b57600080fd5b6000615a298682870161579e565b9350506020615a3a8682870161579e565b9250506040615a4b8682870161579e565b9150509250925092565b60008060008060608587031215615a6b57600080fd5b6000615a798782880161579e565b9450506020615a8a8782880161579e565b935050604085013567ffffffffffffffff811115615aa757600080fd5b615ab3878288016157dd565b925092505092959194509250565b600080600060408486031215615ad657600080fd5b6000615ae48682870161579e565b935050602084013567ffffffffffffffff811115615b0157600080fd5b615b0d868287016157dd565b92509250509250925092565b600080600060408486031215615b2e57600080fd5b6000615b3c8682870161579e565b935050602084013567ffffffffffffffff811115615b5957600080fd5b615b6586828701615890565b92509250509250925092565b600080600080600060608688031215615b8957600080fd5b6000615b978882890161579e565b955050602086013567ffffffffffffffff811115615bb457600080fd5b615bc088828901615890565b9450945050604086013567ffffffffffffffff811115615bdf57600080fd5b615beb88828901615890565b92509250509295509295909350565b60008060408385031215615c0d57600080fd5b6000615c1b8582860161579e565b9250506020615c2c8582860161593a565b9150509250929050565b600080600060608486031215615c4b57600080fd5b6000615c598682870161579e565b9350506020615c6a8682870161593a565b925050604084013567ffffffffffffffff811115615c8757600080fd5b615c9386828701615827565b9150509250925092565b600060208284031215615caf57600080fd5b6000615cbd848285016157b3565b91505092915050565b600060208284031215615cd857600080fd5b6000615ce6848285016157c8565b91505092915050565b600060208284031215615d0157600080fd5b6000615d0f8482850161587b565b91505092915050565b60008060008060608587031215615d2e57600080fd5b6000615d3c8782880161587b565b945050602085013567ffffffffffffffff811115615d5957600080fd5b615d6587828801615754565b93509350506040615d788782880161572a565b91505092959194509250565b600060608284031215615d9657600080fd5b6000615da4848285016158da565b91505092915050565b615db681617133565b82525050565b615dc581617056565b82525050565b615ddc615dd782617056565b6171e1565b82525050565b615deb81617068565b82525050565b615dfa81617074565b82525050565b615e11615e0c82617074565b6171f3565b82525050565b6000615e2282616fd5565b615e2c8185616feb565b9350615e3c8185602086016171ae565b615e4581617219565b840191505092915050565b6000615e5b82616fd5565b615e658185616ffc565b9350615e758185602086016171ae565b80840191505092915050565b615e8a81617145565b82525050565b615e9981617169565b82525050565b6000615eab8385617007565b9350615eb883858461719f565b615ec183617219565b840190509392505050565b6000615ed88385617018565b9350615ee583858461719f565b82840190509392505050565b6000615efc82616fe0565b615f068185617007565b9350615f168185602086016171ae565b615f1f81617219565b840191505092915050565b6000615f37601983617018565b91507f737570706f727473496e746572666163652862797465733429000000000000006000830152601982019050919050565b6000615f77602483617007565b91507f454e53436f6e74726f6c6c65723a20696e76616c6964206e6f6465207265736f60008301527f6c766572000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000615fdd602183617007565b91507f454e53436f6e74726f6c6c65723a20696e76616c6964206e6f6465206f776e6560008301527f72000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000616043602983617007565b91507f454e53436f6e74726f6c6c65723a20696e76616c696420677561726469616e2060008301527f7369676e617475726500000000000000000000000000000000000000000000006020830152604082019050919050565b60006160a9602283617007565b91507f454e53436f6e74726f6c6c65723a206c6162656c20616c72656164792074616b60008301527f656e0000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061610f601c83617018565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b600061614f602083617007565b91507f477561726465643a2063616e6e6f74206164642030783020677561726469616e6000830152602082019050919050565b600061618f602f83617007565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b60006161f5600d83617018565b91507f61646472286279746573333229000000000000000000000000000000000000006000830152600d82019050919050565b6000616235601b83617007565b91507f454e53436f6e74726f6c6c65723a20696e76616c6964206e6f646500000000006000830152602082019050919050565b6000616275602183617007565b91507f454e53436f6e74726f6c6c65723a206e6f646520646f65736e2774206578697360008301527f74000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006162db602283617007565b91507f47617465776179526563697069656e743a20696e76616c6964206d73672e646160008301527f74610000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000616341601483617018565b91507f7465787428627974657333322c737472696e67290000000000000000000000006000830152601482019050919050565b6000616381600d83617018565b91507f6e616d65286279746573333229000000000000000000000000000000000000006000830152600d82019050919050565b60006163c1602b83617007565b91507f454e53436f6e74726f6c6c65723a2063616c6c6572206973206e6f742074686560008301527f206e6f6465206f776e65720000000000000000000000000000000000000000006020830152604082019050919050565b6000616427602683617007565b91507f477561726465643a2074782e6f726967696e206973206e6f742074686520677560008301527f61726469616e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061648d602683617007565b91507f454e53436f6e74726f6c6c65723a2063616e6e6f74207365742030783020726560008301527f67697374727900000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006164f3602583617007565b91507f454e53436f6e74726f6c6c65723a206e6f646520616c7265616479207375626d60008301527f69747465640000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000616559600f83617018565b91507f7075626b657928627974657333322900000000000000000000000000000000006000830152600f82019050919050565b6000616599602283617007565b91507f454e53436f6e74726f6c6c65723a206e6f646520616c7265616479206578697360008301527f74730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006165ff602383617007565b91507f454e53436f6e74726f6c6c65723a206e6f646520616c726561647920696e207360008301527f796e6300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000616665601f83617007565b91507f477561726465643a20677561726469616e20646f65736e2774206578697374006000830152602082019050919050565b60006166a5602583617007565b91507f454e53436f6e74726f6c6c65723a20696e76616c696420656e73206e6f64652060008301527f6f776e65720000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061670b602083617007565b91507f477561726465643a20677561726469616e20616c7265616479206578697374736000830152602082019050919050565b600061674b601b83617007565b91507f477561726465643a2063616e6e6f742072656d6f76652073656c6600000000006000830152602082019050919050565b600061678b601d83617007565b91507f42797465734c69623a20696e76616c69642064617461206c656e6774680000006000830152602082019050919050565b60006167cb603783617007565b91507f454e5341627374726163745265736f6c7665723a20726576657274656420627960008301527f206f6e6c794e6f64654f776e6572206d6f6469666965720000000000000000006020830152604082019050919050565b6000616831601283617018565b91507f6164647228627974657333322c75696e742900000000000000000000000000006000830152601282019050919050565b6000616871602383617007565b91507f454e53436f6e74726f6c6c65723a20726567697374727920616c72656164792060008301527f73657400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6168d381617108565b82525050565b6168ea6168e582617108565b61720f565b82525050565b6168f981617126565b82525050565b600061690b8286615dcb565b60148201915061691b8285615e00565b60208201915061692b8284615e00565b602082019150819050949350505050565b60006169488285615e00565b6020820191506169588284615e00565b6020820191508190509392505050565b6000616975828486615ecc565b91508190509392505050565b600061698c82615f2a565b9150819050919050565b60006169a182616102565b91506169ad8284615e00565b60208201915081905092915050565b60006169c7826161e8565b9150819050919050565b60006169dc82616334565b9150819050919050565b60006169f182616374565b9150819050919050565b6000616a068261654c565b9150819050919050565b6000616a1b82616824565b9150819050919050565b6000616a3182876168d9565b602082019150616a418286615dcb565b601482019150616a518285615e00565b602082019150616a618284615e50565b915081905095945050505050565b6000602082019050616a846000830184615dbc565b92915050565b6000602082019050616a9f6000830184615dad565b92915050565b6000604082019050616aba6000830185615dad565b616ac76020830184615dbc565b9392505050565b6000602082019050616ae36000830184615de2565b92915050565b6000602082019050616afe6000830184615df1565b92915050565b6000604082019050616b196000830185615df1565b616b266020830184615dbc565b9392505050565b6000604082019050616b426000830185615df1565b616b4f6020830184615df1565b9392505050565b600060a082019050616b6b6000830188615df1565b616b786020830187615df1565b616b856040830186615dbc565b616b926060830185615dbc565b616b9f6080830184615e90565b9695505050505050565b6000608082019050616bbe6000830187615df1565b616bcb60208301866168f0565b616bd86040830185615df1565b616be56060830184615df1565b95945050505050565b60006020820190508181036000830152616c088184615e17565b905092915050565b6000602082019050616c256000830184615e81565b92915050565b60006020820190508181036000830152616c46818486615e9f565b90509392505050565b60006020820190508181036000830152616c698184615ef1565b905092915050565b60006020820190508181036000830152616c8a81615f6a565b9050919050565b60006020820190508181036000830152616caa81615fd0565b9050919050565b60006020820190508181036000830152616cca81616036565b9050919050565b60006020820190508181036000830152616cea8161609c565b9050919050565b60006020820190508181036000830152616d0a81616142565b9050919050565b60006020820190508181036000830152616d2a81616182565b9050919050565b60006020820190508181036000830152616d4a81616228565b9050919050565b60006020820190508181036000830152616d6a81616268565b9050919050565b60006020820190508181036000830152616d8a816162ce565b9050919050565b60006020820190508181036000830152616daa816163b4565b9050919050565b60006020820190508181036000830152616dca8161641a565b9050919050565b60006020820190508181036000830152616dea81616480565b9050919050565b60006020820190508181036000830152616e0a816164e6565b9050919050565b60006020820190508181036000830152616e2a8161658c565b9050919050565b60006020820190508181036000830152616e4a816165f2565b9050919050565b60006020820190508181036000830152616e6a81616658565b9050919050565b60006020820190508181036000830152616e8a81616698565b9050919050565b60006020820190508181036000830152616eaa816166fe565b9050919050565b60006020820190508181036000830152616eca8161673e565b9050919050565b60006020820190508181036000830152616eea8161677e565b9050919050565b60006020820190508181036000830152616f0a816167be565b9050919050565b60006020820190508181036000830152616f2a81616864565b9050919050565b6000602082019050616f4660008301846168ca565b92915050565b6000604082019050616f6160008301856168ca565b8181036020830152616f738184615e17565b90509392505050565b6000604051905081810181811067ffffffffffffffff82111715616f9f57600080fd5b8060405250919050565b600067ffffffffffffffff821115616fc057600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000808585111561703357600080fd5b8386111561704057600080fd5b6001850283019150848603905094509492505050565b6000617061826170e8565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b60006170e182617056565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b600061713e8261717b565b9050919050565b600061715082617157565b9050919050565b6000617162826170e8565b9050919050565b600061717482617112565b9050919050565b60006171868261718d565b9050919050565b6000617198826170e8565b9050919050565b82818337600083830152505050565b60005b838110156171cc5780820151818401526020810190506171b1565b838111156171db576000848401525b50505050565b60006171ec826171fd565b9050919050565b6000819050919050565b60006172088261722a565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b61724081617056565b811461724b57600080fd5b50565b61725781617074565b811461726257600080fd5b50565b61726e8161707e565b811461727957600080fd5b50565b617285816170aa565b811461729057600080fd5b50565b61729c816170d6565b81146172a757600080fd5b50565b6172b381617108565b81146172be57600080fd5b5056fea164736f6c634300060c000a", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061038e5760003560e01c80638b95dd71116101de578063bdbafb451161010f578063dc5b68a6116100ad578063ee5fac3c1161007c578063ee5fac3c14610ba0578063f0af072114610bd0578063f1cb7e0614610bec578063f446529f14610c1c5761038e565b8063dc5b68a614610b1c578063dce3f9a414610b38578063e89f764b14610b54578063ebaa653314610b845761038e565b8063c8cc2aee116100e9578063c8cc2aee14610a84578063d0f710d614610aa0578063d5fa2b0014610ad0578063d84fa10c14610aec5761038e565b8063bdbafb4514610a07578063c454330514610a23578063c869023314610a535761038e565b8063a6f8c64a1161017c578063b94f144811610156578063b94f14481461096f578063bccb31c61461099f578063bcd48364146109bb578063bd1313ce146109d75761038e565b8063a6f8c64a14610907578063a91ee0dc14610923578063ae1a7ece1461093f5761038e565b80639adf1043116101b85780639adf10431461085b5780639f106f7e1461088b578063a3561e69146108bb578063a526d83b146108eb5761038e565b80638b95dd71146107f1578063969faf5b1461080d5780639a8a05921461083d5761038e565b80633b3b57de116102c3578063691f3431116102615780637737221311610230578063773722131461077f5780637b1039991461079b5780637d0e0e7e146107b95780638034cda0146107d55761038e565b8063691f3431146106d3578063692b0ad9146107035780636df0cf421461073357806371404156146107635761038e565b80635016492e1161029d5780635016492e1461062757806355800f871461065757806359d1d43c1461067357806361f6df1e146106a35761038e565b80633b3b57de146105bf5780633e260b13146105ef57806346386f731461060b5761038e565b80631b3cd1421161033057806329cd62ea1161030a57806329cd62ea1461052557806329fbd957146105415780632c4bbae614610571578063392e53cd146105a15761038e565b80631b3cd142146104bd578063279a5039146104ed57806329ae6a7e146105095761038e565b80630c68ba211161036c5780630c68ba21146104235780630feb61e61461045357806310f13a8c14610483578063116191b61461049f5761038e565b806301ffc9a71461039357806306554924146103c35780630c67003a146103f3575b600080fd5b6103ad60048036038101906103a89190615c9d565b610c4c565b6040516103ba9190616ace565b60405180910390f35b6103dd60048036038101906103d89190615cc6565b61102a565b6040516103ea9190616ace565b60405180910390f35b61040d60048036038101906104089190615cc6565b611035565b60405161041a9190616ace565b60405180910390f35b61043d6004803603810190610438919061594f565b61103c565b60405161044a9190616ace565b60405180910390f35b61046d60048036038101906104689190615cc6565b6110cd565b60405161047a9190616ace565b60405180910390f35b61049d60048036038101906104989190615b71565b6110d8565b005b6104a76112ac565b6040516104b49190616a6f565b60405180910390f35b6104d760048036038101906104d291906159a1565b6112d2565b6040516104e49190616a6f565b60405180910390f35b61050760048036038101906105029190615cc6565b611305565b005b610523600480360381019061051e91906159a1565b611308565b005b61053f600480360381019061053a9190615a06565b61166d565b005b61055b60048036038101906105569190615cc6565b611825565b6040516105689190616ace565b60405180910390f35b61058b60048036038101906105869190615cc6565b611830565b6040516105989190616ace565b60405180910390f35b6105a9611837565b6040516105b69190616ace565b60405180910390f35b6105d960048036038101906105d491906159a1565b6118cc565b6040516105e69190616a6f565b60405180910390f35b61060960048036038101906106049190615cc6565b61191a565b005b61062560048036038101906106209190615a55565b61191d565b005b610641600480360381019061063c9190615cc6565b611e0b565b60405161064e9190616ace565b60405180910390f35b610671600480360381019061066c91906159a1565b611e16565b005b61068d60048036038101906106889190615b19565b61222b565b60405161069a9190616c4f565b60405180910390f35b6106bd60048036038101906106b89190615cc6565b61233c565b6040516106ca9190616ace565b60405180910390f35b6106ed60048036038101906106e891906159a1565b612347565b6040516106fa9190616c4f565b60405180910390f35b61071d60048036038101906107189190615cc6565b612438565b60405161072a9190616ace565b60405180910390f35b61074d60048036038101906107489190615d84565b61243f565b60405161075a9190616ae9565b60405180910390f35b61077d6004803603810190610778919061594f565b61249b565b005b61079960048036038101906107949190615b19565b612843565b005b6107a36129df565b6040516107b09190616c10565b60405180910390f35b6107d360048036038101906107ce91906159a1565b612a05565b005b6107ef60048036038101906107ea9190615cc6565b612e38565b005b61080b60048036038101906108069190615c36565b612e3b565b005b61082760048036038101906108229190615cc6565b612f71565b6040516108349190616ace565b60405180910390f35b610845612f78565b6040516108529190616f31565b60405180910390f35b61087560048036038101906108709190615cc6565b612f7e565b6040516108829190616ace565b60405180910390f35b6108a560048036038101906108a09190615cc6565b612f89565b6040516108b29190616ace565b60405180910390f35b6108d560048036038101906108d09190615cc6565b612f94565b6040516108e29190616ace565b60405180910390f35b6109056004803603810190610900919061594f565b612f9b565b005b610921600480360381019061091c9190615cc6565b61310e565b005b61093d60048036038101906109389190615cef565b613111565b005b61095960048036038101906109549190615cc6565b6134ca565b6040516109669190616ace565b60405180910390f35b61098960048036038101906109849190615cc6565b6134d5565b6040516109969190616ace565b60405180910390f35b6109b960048036038101906109b49190615cc6565b6134dc565b005b6109d560048036038101906109d09190615cc6565b6134df565b005b6109f160048036038101906109ec9190615cc6565b6134e2565b6040516109fe9190616ace565b60405180910390f35b610a216004803603810190610a1c9190615cc6565b6134e9565b005b610a3d6004803603810190610a389190615cc6565b6134ec565b604051610a4a9190616ace565b60405180910390f35b610a6d6004803603810190610a6891906159a1565b6134f7565b604051610a7b929190616b2d565b60405180910390f35b610a9e6004803603810190610a9991906159a1565b61356d565b005b610aba6004803603810190610ab59190615ac1565b613a21565b604051610ac79190616ace565b60405180910390f35b610aea6004803603810190610ae591906159ca565b613ab6565b005b610b066004803603810190610b019190615cc6565b613bea565b604051610b139190616ace565b60405180910390f35b610b366004803603810190610b319190615d18565b613bf1565b005b610b526004803603810190610b4d9190615cc6565b613fa8565b005b610b6e6004803603810190610b699190615cc6565b613fab565b604051610b7b9190616ace565b60405180910390f35b610b9e6004803603810190610b999190615cc6565b613fb2565b005b610bba6004803603810190610bb59190615cc6565b613fb5565b604051610bc79190616ace565b60405180910390f35b610bea6004803603810190610be59190615cc6565b613fbc565b005b610c066004803603810190610c019190615bfa565b613fbf565b604051610c139190616bee565b60405180910390f35b610c366004803603810190610c319190615cc6565b6140c2565b604051610c439190616ace565b60405180910390f35b6000610c62673e53c3a719fdfb6160c01b6134e9565b610c766729ef8ce42af619b060c01b6134e9565b610c8a672ce96fd6ab276e0c60c01b6134e9565b604051602001610c9990616981565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148015610d0b5750610d0a670fbe9824db25179a60c01b611e0b565b5b80610daf5750604051602001610d20906169bc565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148015610d925750610d916727b7c81d07ae1edf60c01b611e0b565b5b8015610dae5750610dad674c643504008914e460c01b611e0b565b5b5b80610e535750604051602001610dc490616a10565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148015610e365750610e3567cd525a4cca4f34a860c01b611e0b565b5b8015610e525750610e516788cd2a17224750ec60c01b611e0b565b5b5b80610ef75750604051602001610e68906169e6565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148015610eda5750610ed9672a0e61e84c067a0a60c01b611e0b565b5b8015610ef65750610ef567502d2e13e9277dcb60c01b611e0b565b5b5b80610f9b5750604051602001610f0c906169fb565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148015610f7e5750610f7d678a100a7067c528eb60c01b611e0b565b5b8015610f9a5750610f996711799455275f223260c01b611e0b565b5b5b806110235750604051602001610fb0906169d1565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614801561102257506110216784e3fa8f14ba5fc860c01b611e0b565b5b5b9050919050565b600060019050919050565b6000919050565b6000611052677ab52c65f999e01f60c01b6134dc565b6110666710268b7b424a1bd560c01b6134dc565b61107a6713a157f311059a7b60c01b6134dc565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600060019050919050565b6110ec67d251b3372a0cf47960c01b611305565b8461110167a8597772f581907360c01b613fb2565b611115676495766894d148d260c01b613fb2565b61112967c1da93cd693904fb60c01b613fb2565b61113d6711ce0725ac60101860c01b613fb2565b611146816140cd565b611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c90616ef1565b60405180910390fd5b611199678748427beee9a41560c01b613fb2565b6111ad679dcf59ae2b3dc50860c01b613fb2565b6111c167591792e78ec2f65760c01b611305565b6111d5676669726c18307e5e60c01b611305565b6111e967cae1031985aa218360c01b611305565b828260076000898152602001908152602001600020878760405161120e929190616968565b9081526020016040518091039020919061122992919061560d565b5061123e674e2633545fafa32260c01b611305565b611252675f78468e1dde38a460c01b611305565b8484604051611262929190616968565b6040518091039020867fd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550878760405161129c929190616c2b565b60405180910390a3505050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60096020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b50565b61131c6732f0fd9a837cb8ae60c01b6134e9565b61133067ccef01e2549de0f160c01b6134e9565b61134467351df6a73de5ed1f60c01b6134e9565b600061134e6141f2565b905061136467bc87442f68ba4e8560c01b6134e9565b61137867c1f6c1e5fb99a06a60c01b6134e9565b61138c67a01e251f792e923e60c01b6134e9565b3073ffffffffffffffffffffffffffffffffffffffff166113ac8361423f565b73ffffffffffffffffffffffffffffffffffffffff1614611402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f990616d51565b60405180910390fd5b61141667d97611c48588e50960c01b6134e9565b61142a67915426252a0e5af260c01b6134e9565b61143e673d4f611e5bcfec5160c01b6134e9565b61145267f5c32e9e304a40ae60c01b6134e9565b8073ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ea90616c91565b60405180910390fd5b6115076757ad1b22f297e47460c01b6134e9565b61151b672518daaccd90e99d60c01b6134e9565b61152f67531efb0041a679c960c01b6134e9565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c383836040518363ffffffff1660e01b815260040161158c929190616b04565b600060405180830381600087803b1580156115a657600080fd5b505af11580156115ba573d6000803e3d6000fd5b505050506115d267c7d84d1a497d278660c01b6134e9565b6009600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905561161c67b9e9f636ac14f30e60c01b6134e9565b61163067e55674422ce28fc360c01b6134e9565b7f7803a16d95f9ca635bdec561006625e7444d8a9f8463866643cc03af011779d38282604051611661929190616b04565b60405180910390a15050565b61168167d17efb0a7eb6908260c01b61310e565b8261169667a8597772f581907360c01b613fb2565b6116aa676495766894d148d260c01b613fb2565b6116be67c1da93cd693904fb60c01b613fb2565b6116d26711ce0725ac60101860c01b613fb2565b6116db816140cd565b61171a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171190616ef1565b60405180910390fd5b61172e678748427beee9a41560c01b613fb2565b611742679dcf59ae2b3dc50860c01b613fb2565b61175667a7c8d4d16e37e64360c01b61310e565b61176a67ce8cc1dc0cdb407760c01b61310e565b61177e673b6fb4a892f52fdf60c01b61310e565b6040518060400160405280848152602001838152506006600086815260200190815260200160002060008201518160000155602082015181600101559050506117d1675050d3db7836b7b260c01b61310e565b6117e5676e14e4e56feb20eb60c01b61310e565b837f1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e468484604051611817929190616b2d565b60405180910390a250505050565b600060019050919050565b6000919050565b600061184d67e29fe2f351ca6b2760c01b61191a565b611861676f5dd3f08b97747760c01b61191a565b611875673a9488d62818322a60c01b61191a565b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b60006118e267ce175155cdbb82b660c01b612e38565b6118f6672829765e0e2bb8b060c01b612e38565b61190a67280086a7db8bdd0960c01b612e38565b6119138261423f565b9050919050565b50565b61193167093e06bd5823435060c01b6134e9565b61194567ac96d16a1d124a8660c01b6134e9565b61195967ee327b96f00b172e60c01b6134e9565b60006119636141f2565b905061197967fffac7b649ab959b60c01b6134e9565b61198d67eff3af429a5d4acd60c01b6134e9565b600061199a82878761441a565b90506119b067877a107de4122c7d60c01b6134e9565b6119c4675d96a43b57a9a14860c01b6134e9565b6119d8673f35c7250fc5b44960c01b6134e9565b611a268185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506144ae565b611a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5c90616cb1565b60405180910390fd5b611a796707e366c09dc556ed60c01b6134e9565b611a8d672c7c0dd19e915ba360c01b6134e9565b611aa167097639b96bc3b80560c01b6134e9565b60008686604051602001611ab692919061693c565b604051602081830303815290604052805190602001209050611ae267e68beb862797da6e60c01b6134e9565b611af66762cc10045f9825dd60c01b6134e9565b611b0a673c62ebcce573c75a60c01b6134e9565b3073ffffffffffffffffffffffffffffffffffffffff16611b2a8861423f565b73ffffffffffffffffffffffffffffffffffffffff1614611b80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7790616d31565b60405180910390fd5b611b9467c9f661627c57c42660c01b6134e9565b611ba867a92e5d7d936d303a60c01b6134e9565b611bbc678b3a41262117961660c01b6134e9565b611bd067d4d77c202d37459960c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff16611bf18261423f565b73ffffffffffffffffffffffffffffffffffffffff1614611c47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3e90616cd1565b60405180910390fd5b611c5b67a644ab7ed021918160c01b6134e9565b611c6f67761eab3b7dda68e260c01b6134e9565b611c8367613cb4e0dcf9073b60c01b6134e9565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635ef2c7f08888303060006040518663ffffffff1660e01b8152600401611ce7959493929190616b56565b600060405180830381600087803b158015611d0157600080fd5b505af1158015611d15573d6000803e3d6000fd5b50505050611d2d673c97c7996ed3291460c01b6134e9565b611d4167f8052d109a403d0860c01b6134e9565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c382856040518363ffffffff1660e01b8152600401611d9e929190616b04565b600060405180830381600087803b158015611db857600080fd5b505af1158015611dcc573d6000803e3d6000fd5b50505050611de4674abdf691c39e28d560c01b6134e9565b611df867db1b5686f2b1df1b60c01b6134e9565b611e028184614580565b50505050505050565b600060019050919050565b611e2a67c29482f3a6cc814760c01b6134e9565b611e3e675d9375568b5cf37b60c01b6134e9565b611e5267a821cd4d6396a0c560c01b6134e9565b6000611e5c6141f2565b9050611e7267f8b13edbd3cdd6c260c01b6134e9565b611e8667868fc72177e2cce160c01b6134e9565b611e9a67e0f9a111b7f58f1960c01b6134e9565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b8152600401611ef59190616ae9565b60206040518083038186803b158015611f0d57600080fd5b505afa158015611f21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f459190615978565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611fb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa990616d91565b60405180910390fd5b611fc667cfafcda721fa636760c01b6134e9565b611fda678e79226abb7ea95360c01b6134e9565b611fee67cd1ff6293a0a21cb60c01b6134e9565b61200267ca6580fbb3878c5f60c01b6134e9565b3073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf846040518263ffffffff1660e01b81526004016120749190616ae9565b60206040518083038186803b15801561208c57600080fd5b505afa1580156120a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c49190615978565b73ffffffffffffffffffffffffffffffffffffffff161461211a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211190616c71565b60405180910390fd5b61212e6734e7c2c06a6b212f60c01b6134e9565b61214267221dc6d28b6f7a1e60c01b6134e9565b61215667259c70f8bcd41c9a60c01b6134e9565b61216a671e3be474d4bc2b4560c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff1661218b8361423f565b73ffffffffffffffffffffffffffffffffffffffff16146121e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d890616e31565b60405180910390fd5b6121f567dfba363a4295a6bd60c01b6134e9565b61220967bc4c15ea2525331560c01b6134e9565b61221d67995ab68b5de2543a60c01b6134e9565b6122278282614580565b5050565b60606122416716908bcdbcdc0a9660c01b611305565b61225567378d2762af388c0860c01b611305565b61226967df2e701c4f77554d60c01b611305565b60076000858152602001908152602001600020838360405161228c929190616968565b90815260200160405180910390208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561232e5780601f106123035761010080835404028352916020019161232e565b820191906000526020600020905b81548152906001019060200180831161231157829003601f168201915b505050505090509392505050565b600060019050919050565b606061235d67dec5b1215c24904760c01b613fa8565b612371673f4531654d1602d960c01b613fa8565b612385675968079db6a751b060c01b613fa8565b600560008381526020019081526020016000208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561242c5780601f106124015761010080835404028352916020019161242c565b820191906000526020600020905b81548152906001019060200180831161240f57829003601f168201915b50505050509050919050565b6000919050565b60006124556755e36f2e6b1bed6860c01b6134e9565b6124696711ac5bde527c76fe60c01b6134e9565b61247d67f064a7883b8823c560c01b6134e9565b61249482600001518360200151846040015161441a565b9050919050565b6124af6747dd6d4e27a092d260c01b6134dc565b6124c367e0600b94c13d066760c01b6134dc565b6124d76755e8cedcdd449e2360c01b6134dc565b6124eb67ab821ba7fedab67160c01b6134dc565b6124ff67c540fbd78e0e2a4960c01b6134dc565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661258a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258190616db1565b60405180910390fd5b61259e67d014260b312542b460c01b6134dc565b6125b2674e25985d1c99d1f260c01b6134dc565b6125c667736984febec5fd2560c01b6134dc565b6125da67cbb923c66996310360c01b6134dc565b6125ee672c114aff1103564b60c01b6134dc565b61260267a76a63e34be2bddb60c01b6134dc565b61261667a220bc889ca09d2360c01b6134dc565b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161415612685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267c90616eb1565b60405180910390fd5b612699679467d7af09c5944d60c01b6134dc565b6126ad67c28a58b1b15ad6de60c01b6134dc565b6126c167c70b0fecc7c6d3b160c01b6134dc565b6126d567e7892f9392d41a6760c01b6134dc565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612760576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275790616e51565b60405180910390fd5b612774675a0de441d13969aa60c01b6134dc565b612788674e473b0a29064fba60c01b6134dc565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506127f367e398e5606400274660c01b6134dc565b6128076738c3bd156a3471c260c01b6134dc565b7fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b3282604051612838929190616aa5565b60405180910390a150565b61285767e126def3e2fdfc1060c01b613fa8565b8261286c67a8597772f581907360c01b613fb2565b612880676495766894d148d260c01b613fb2565b61289467c1da93cd693904fb60c01b613fb2565b6128a86711ce0725ac60101860c01b613fb2565b6128b1816140cd565b6128f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128e790616ef1565b60405180910390fd5b612904678748427beee9a41560c01b613fb2565b612918679dcf59ae2b3dc50860c01b613fb2565b61292c6707fd1d9d1376442f60c01b613fa8565b61294067090977de14e2519760c01b613fa8565b612954670985f502ef56100560c01b613fa8565b828260056000878152602001908152602001600020919061297692919061560d565b5061298b67572689195bfb8dcf60c01b613fa8565b61299f67839de8924a7c57b360c01b613fa8565b837fb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f784846040516129d1929190616c2b565b60405180910390a250505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612a196798f4fe795a6144c460c01b6134e9565b612a2d67d73fa07884c6296b60c01b6134e9565b612a41674f89b1faa0f36f2660c01b6134e9565b6000612a4b6141f2565b9050612a6167a74a41ef91908ce860c01b6134e9565b612a7567f04afda219e7f8bb60c01b6134e9565b612a8967069ded0da7c75ab960c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff16612aaa8361423f565b73ffffffffffffffffffffffffffffffffffffffff1614612b00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612af790616e11565b60405180910390fd5b612b14678cddb4766da2e34660c01b6134e9565b612b2766ab3ed8e3481c0560c01b6134e9565b612b3b671fd098baa193ac3c60c01b6134e9565b612b4f67e0887e53d44f403760c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612bf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612be890616df1565b60405180910390fd5b612c0567a498ec26f596d6e960c01b6134e9565b612c1967b74e03b9068920b660c01b6134e9565b612c2d674e7ad34c6e53bae860c01b6134e9565b612c416726e677701509fa3760c01b6134e9565b8073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b8152600401612cb39190616ae9565b60206040518083038186803b158015612ccb57600080fd5b505afa158015612cdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d039190615978565b73ffffffffffffffffffffffffffffffffffffffff1614612d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d5090616e71565b60405180910390fd5b612d6d670cd0d667e6f0800360c01b6134e9565b612d8167747454a7a4898a8560c01b6134e9565b806009600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612de767ffca0d5222865e7260c01b6134e9565b612dfb670cf13c115d48bc9c60c01b6134e9565b7fc1e082a8c26f27c26e1bf5d0ce7ddd579ec7f6d7eb3ea90d8abd6c40991bae368282604051612e2c929190616b04565b60405180910390a15050565b50565b612e4f6799155cd2a5dde28560c01b612e38565b82612e6467a8597772f581907360c01b613fb2565b612e78676495766894d148d260c01b613fb2565b612e8c67c1da93cd693904fb60c01b613fb2565b612ea06711ce0725ac60101860c01b613fb2565b612ea9816140cd565b612ee8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612edf90616ef1565b60405180910390fd5b612efc678748427beee9a41560c01b613fb2565b612f10679dcf59ae2b3dc50860c01b613fb2565b612f2467d9477995493ad23960c01b612e38565b612f3867e8ec793f550502aa60c01b612e38565b612f4c67c88eacd4d405cebc60c01b612e38565b612f6067722858e9ba70a57360c01b612e38565b612f6b8484846145d4565b50505050565b6000919050565b60025481565b600060019050919050565b600060019050919050565b6000919050565b612faf67c17b66a0b198af7b60c01b6134dc565b612fc367e0600b94c13d066760c01b6134dc565b612fd76755e8cedcdd449e2360c01b6134dc565b612feb67ab821ba7fedab67160c01b6134dc565b612fff67c540fbd78e0e2a4960c01b6134dc565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661308a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161308190616db1565b60405180910390fd5b61309e67d014260b312542b460c01b6134dc565b6130b2674e25985d1c99d1f260c01b6134dc565b6130c667dfa24a8cc198350160c01b6134dc565b6130da67f9907d82cd18ee0760c01b6134dc565b6130ee67dd37ee49f553c5a760c01b6134dc565b613102679ad66b1d98f77fdf60c01b6134dc565b61310b81614763565b50565b50565b61312567e9f2c05c29e364a960c01b6134e9565b61313967e0600b94c13d066760c01b6134dc565b61314d6755e8cedcdd449e2360c01b6134dc565b61316167ab821ba7fedab67160c01b6134dc565b61317567c540fbd78e0e2a4960c01b6134dc565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16613200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131f790616db1565b60405180910390fd5b61321467d014260b312542b460c01b6134dc565b613228674e25985d1c99d1f260c01b6134dc565b61323c6756ec4c07451bebd760c01b6134e9565b613250676284b5cfe2b6cd9560c01b6134e9565b613264672f569dba424ddeac60c01b6134e9565b61327867991f4dca615481e060c01b6134e9565b61328c67a8a9436bb01cf21360c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156132fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132f390616dd1565b60405180910390fd5b61331067fa83ede13aeade4260c01b6134e9565b613324677145711e91344b0660c01b6134e9565b6133386754da73a6d641b97160c01b6134e9565b61334c67b54a3e091d86239060c01b6134e9565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156133dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133d490616f11565b60405180910390fd5b6133f167b214cbbf2513d88f60c01b6134e9565b61340567b606e73450fa4d8160c01b6134e9565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061345a675b8af6325434e8ba60c01b6134e9565b61346e671ae4b0a4bfec621960c01b6134e9565b7fdb0239c63d4033dcdd21bd44f8dd479a03efbae12f6bbe27c0a5f923d26514cc600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516134bf9190616a6f565b60405180910390a150565b600060019050919050565b6000919050565b50565b50565b6000919050565b50565b600060019050919050565b60008061350e67bf2c21e9346c79bf60c01b61310e565b61352267146b5820274012ac60c01b61310e565b61353667efc1b53237a9532760c01b61310e565b6006600084815260200190815260200160002060000154600660008581526020019081526020016000206001015491509150915091565b61358167195123199189556b60c01b6134e9565b6135956748eec34c0b163c1f60c01b6134e9565b6135a96780a6efacb3203cb060c01b6134e9565b60006135b36141f2565b90506135c9674cab9d3c2b64c15260c01b6134e9565b6135dd67ed6db694efc55e3a60c01b6134e9565b6135f167f6f02d4161c0aadf60c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff166136128361423f565b73ffffffffffffffffffffffffffffffffffffffff1614613668576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161365f90616e11565b60405180910390fd5b61367c67cdc40258d995303c60c01b6134e9565b61369067cdfb0ccffffa7e3060c01b6134e9565b6136a467a3fe81400e3e4c6960c01b6134e9565b6136b8677636a8ffbb7e2ec360c01b6134e9565b8073ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613759576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161375090616c91565b60405180910390fd5b61376d67aaa8c5f31bb5252a60c01b6134e9565b6137816763bad9422c7bd62660c01b6134e9565b6137956794c1054105a61a1360c01b6134e9565b6137a9672d15573d3f9ab91f60c01b6134e9565b3073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b815260040161381b9190616ae9565b60206040518083038186803b15801561383357600080fd5b505afa158015613847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061386b9190615978565b73ffffffffffffffffffffffffffffffffffffffff16146138c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138b890616e71565b60405180910390fd5b6138d5677d36fcfc58269f6960c01b6134e9565b6138e96736fe4e6461a6c8d360c01b6134e9565b6138fd67d2462ae891a22c3560c01b6134e9565b6139078230614580565b61391b6790691e74906f852d60c01b6134e9565b61392f6734990696d2cbbe5060c01b6134e9565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a83306040518363ffffffff1660e01b815260040161398c929190616b04565b600060405180830381600087803b1580156139a657600080fd5b505af11580156139ba573d6000803e3d6000fd5b505050506139d2672ab0eeb28861f73460c01b6134e9565b6139e667c0197a444973256760c01b6134e9565b7fcefbe9dbadcf675eef14e23810996ff38541fc26b4dd77cd6724b0eedc96f20082604051613a159190616ae9565b60405180910390a15050565b6000613a37670fa739e07c029f9060c01b6134dc565b613a4b67406100042e7653bd60c01b6134dc565b613a5f6784104632bda8198f60c01b6134dc565b613aad8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506144ae565b90509392505050565b613aca67b8dc6c7f6208982060c01b612e38565b81613adf67a8597772f581907360c01b613fb2565b613af3676495766894d148d260c01b613fb2565b613b0767c1da93cd693904fb60c01b613fb2565b613b1b6711ce0725ac60101860c01b613fb2565b613b24816140cd565b613b63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b5a90616ef1565b60405180910390fd5b613b77678748427beee9a41560c01b613fb2565b613b8b679dcf59ae2b3dc50860c01b613fb2565b613b9f677396c22b6058759b60c01b612e38565b613bb36766fb11489ea79d3760c01b612e38565b613bc7677545b5f28a61157360c01b612e38565b613bdb67e41b892a5d0b811960c01b612e38565b613be58383614580565b505050565b6000919050565b613c0567c9f8523af82bab8360c01b6134e9565b613c1967d2ba19feb39e0b7f60c01b61191a565b613c2d670c5ad53cdb9edd1560c01b61191a565b613c4167b6b588d2ebb9ae6960c01b61191a565b613c5567c4ec9a90a885875260c01b61191a565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614613ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613cdc90616d11565b60405180910390fd5b613cf967c3785ba1534db95460c01b61191a565b613d0d67e4202927591248ef60c01b61191a565b6000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613d6367531cfa2817fbdc8660c01b61191a565b613d776740d6cffa7ab2c26960c01b6134e9565b613d8b6756183fd103117d9e60c01b6134e9565b613d9f674602df75ac80bac360c01b6134e9565b613db36729a6ec9f49a02d1160c01b6134e9565b613dc767aceff1c6eeb9c91360c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415613e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e2e90616dd1565b60405180910390fd5b613e4b6703e069af565866e360c01b6134e9565b613e5f6787b237de5a3c419060c01b6134e9565b83600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613eb467de2fcb48e932264460c01b6134e9565b613ec8679dd0cca15f369a6c60c01b6134e9565b613f12838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050506149e2565b613f266776e2956e5d5a32ca60c01b6134e9565b613f3a67e43784b3932c727e60c01b6134e9565b613f4381614b3e565b613f576701520f419008b58e60c01b61191a565b613f6b6775364c04848b013b60c01b61191a565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051613f9a9190616a8a565b60405180910390a150505050565b50565b6000919050565b50565b6000919050565b50565b6060613fd567e2f9f38fff2fc32060c01b612e38565b613fe96785aead68c541c11460c01b612e38565b613ffd67e58df30d06a8f2d060c01b612e38565b6004600084815260200190815260200160002060008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156140b55780601f1061408a576101008083540402835291602001916140b5565b820191906000526020600020905b81548152906001019060200180831161409857829003601f168201915b5050505050905092915050565b600060019050919050565b60006140e367655be2e876f304b760c01b6134e9565b6140f76784463205d9b9b5d160c01b6134e9565b61410b67b724a588b1b1d71060c01b6134e9565b6141136141f2565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b81526004016141849190616ae9565b60206040518083038186803b15801561419c57600080fd5b505afa1580156141b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141d49190615978565b73ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000614208677ac614d5268cc8ac60c01b613fbc565b61421c670a6b7ac33c94c4ed60c01b613fbc565b61423067e7ef433820a2765360c01b613fbc565b61423a6028614baa565b905090565b6000614255677a700e570bc2a2fc60c01b612e38565b61426967d0ba17887186b37e60c01b612e38565b61427d6780906c28707d15c960c01b612e38565b60006142936797ef8d9ff31bef5660c01b612e38565b6142a767f7584d6fe1f20edf60c01b612e38565b6060600460008581526020019081526020016000206000603c81526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156143625780601f1061433757610100808354040283529160200191614362565b820191906000526020600020905b81548152906001019060200180831161434557829003601f168201915b5050505050905061437d676d87361a9762eaaa60c01b612e38565b6143916735eb1fc4be22236c60c01b612e38565b6000815111156143d3576143af67948289de987958d460c01b612e38565b6143c36714e213e2588060b960c01b612e38565b6143cc81614d40565b91506143e8565b6143e7678f764f9dd1c1ed8260c01b612e38565b5b6143fc678b711ea8478c55b460c01b612e38565b61441067a95eb015360bec7e60c01b612e38565b8192505050919050565b600061443067d23d299e453cbef960c01b6134e9565b61444467cf4ec574175a17ec60c01b6134e9565b61445867c6352e1e889e3f5560c01b6134e9565b6144a57f621363c539a3aa1024c8837ca1dc095db03b7f9512b3a95ecb429aae7fd953ed858585604051602001614491939291906168ff565b604051602081830303815290604052614e31565b90509392505050565b60006144c467fbe9af14abc78ca860c01b6134dc565b6144d867bd3616cf00f8ad2b60c01b6134dc565b6144ec670aad941719c9b69b60c01b6134dc565b60006145018385614eae90919063ffffffff16565b90506145176706f556c4601e7cd060c01b6134dc565b61452b67344e7bee2db8345860c01b6134dc565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b6145946738d211ffdd9c049860c01b612e38565b6145a867acea32d3c1dcb5ef60c01b612e38565b6145bc67a1ca8e8ea3f1792660c01b612e38565b6145d082603c6145cb846151b6565b6145d4565b5050565b6145e86710b60a5dae454a6f60c01b612e38565b6145fc6777ebe5b96203aa5660c01b612e38565b614610672e75dee0965b85d960c01b612e38565b827f65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af7528383604051614642929190616f4c565b60405180910390a261465e670ac1489a0da775d560c01b612e38565b614672671d550d092ffb544360c01b612e38565b603c8214156146fc5761468f678deefdd0c0c4f8b360c01b612e38565b6146a367aa5003b8afb30f0460c01b612e38565b6146b76717b5dcac59fd3d2960c01b612e38565b827f52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd26146e283614d40565b6040516146ef9190616a8a565b60405180910390a2614711565b61471067ef5c168066bd63e360c01b612e38565b5b61472567597aaab56f7ddde360c01b612e38565b80600460008581526020019081526020016000206000848152602001908152602001600020908051906020019061475d92919061568d565b50505050565b6147776703611a9e4063d8ea60c01b6134dc565b61478b67ee1baacaa033494260c01b6134dc565b61479f6751e5840de998a97760c01b6134dc565b6147b3676f82de74e2e2e03560c01b6134dc565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415614823576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161481a90616cf1565b60405180910390fd5b6148376717cb80dba7a8a0ea60c01b6134dc565b61484b67e2f8fabe2a63d8b660c01b6134dc565b61485f677550a657f22d30dc60c01b6134dc565b614873673c81d7073dbe6f3060c01b6134dc565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156148ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016148f690616e91565b60405180910390fd5b61491367bc5a1f0994a7f54e60c01b6134dc565b614927679a7f014629c7374960c01b6134dc565b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061499267d71c83e9f3188e9d60c01b6134dc565b6149a667e4bfbd26cb5c77e660c01b6134dc565b7fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a32826040516149d7929190616aa5565b60405180910390a150565b6149f667f4de5e8e73d6ad8760c01b6134dc565b614a0a67db1ce0981035d84760c01b6134dc565b614a1e67e97a0a25809a3f0960c01b6134dc565b600081511415614a7257614a3c67de11b839232da49160c01b6134dc565b614a5067b59bd2ea0c1c89a260c01b6134dc565b614a6467652fe2786000e62060c01b6134dc565b614a6d32614763565b614b3b565b614a8667ad5f6f13dddc2ad960c01b6134dc565b614a9a672af46088979bcb2160c01b6134dc565b614aae6796cb81cf0bf6606d60c01b6134dc565b600081519050614ac8672f4c11881b8dca8c60c01b6134dc565b614adc67cec4e8db5057edad60c01b6134dc565b60005b81811015614b3857614afb671a5cc94c8b734dd960c01b6134dc565b614b0f67e437d14e98e20b2f60c01b6134dc565b614b2b838281518110614b1e57fe5b6020026020010151614763565b8080600101915050614adf565b50505b50565b614b52670beab42e12728d3b60c01b613fbc565b614b66675ecbac840a5512ec60c01b613fbc565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000614bc06787c8246a4b35d1f160c01b613fbc565b614bd467976a1e8d41064d2460c01b613fbc565b614be8671867d8bf077bb31160c01b613fbc565b6000614bfe67bdfeda5454a1273960c01b613fbc565b614c12677709e048711a13c960c01b613fbc565b614c1a615296565b15614ce357614c3367d3c6f6b0bcac9b6e60c01b613fbc565b614c47673b2573735f5d680260c01b613fbc565b614c5b675089eb0622c78a2260c01b613fbc565b6000836000369050039050614c7a674bc94a8e9a6ee57960c01b613fbc565b614cdb60003683906014850192614c9393929190617023565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615461565b915050614d0f565b614cf7677e45e81af2ec2edc60c01b613fbc565b614d0b67391e31dbfdfb407e60c01b613fbc565b3390505b614d2367c4042e2c7c2c999760c01b613fbc565b614d3767fc44c5cccf2cd16760c01b613fbc565b80915050919050565b6000614d5667db251656546edddc60c01b612e38565b614d6a67d4996cc6ed6650af60c01b612e38565b614d7e6713f77ccc0675e66660c01b612e38565b6000614d9467697468552eb1b46c60c01b612e38565b614da86746658c34a7b92ce060c01b612e38565b614dbc6726663fb4243c1d5360c01b612e38565b6014835114614dca57600080fd5b614dde67e7e35d0843eb212860c01b612e38565b614df267f87ddfdf9c4de47d60c01b612e38565b600c6101000a6020840151049050614e1467c3203e7177d7044160c01b612e38565b614e2867517dcdf0eb50c8a560c01b612e38565b80915050919050565b6000614e476771b334e2e3162d2e60c01b6134df565b614e5b6729046581cf97a49460c01b6134df565b614e6f674f9e67c6b1f334b360c01b6134df565b614ea6600254308585604051602001614e8b9493929190616a25565b60405160208183030381529060405280519060200120615590565b905092915050565b6000614ec4670d75db982ec4597160c01b6155fc565b614ed86725c2c60ab754182560c01b6155fc565b614eec673eb64a254569ed0660c01b6155fc565b6000614f0267fb2a2286066e15e460c01b6155fc565b614f1667a440db11ec9e986d60c01b6155fc565b60418351141561516f57614f346704a5aada48e2763260c01b6155fc565b614f48674b98cf1796e5c26660c01b6155fc565b614f5c67d2dfec7b159385fc60c01b6155fc565b6000614f726772c2a840621b4aa760c01b6155fc565b614f8667bfd411e6ba4d07c460c01b6155fc565b6000614f9c67145d23f82764ba9960c01b6155fc565b614fb067acdff958a9c6c5dd60c01b6155fc565b6000614fc6673b79e3a80932a6a160c01b6155fc565b6020860151925060408601519150606086015160001a9050614ff2679b0cdee01a57ea2f60c01b6155fc565b615006675dbf88583373227960c01b6155fc565b601b8160ff16101561504557615026670dc9a1836eb51c3260c01b6155fc565b61503a677097d8456a6c3e1560c01b6155fc565b601b8101905061505a565b6150596708b39c61216869e760c01b6155fc565b5b61506e672ea4d6db7d2138c560c01b6155fc565b615082679ad3f461195a5eee60c01b6155fc565b601b8160ff161480156150a557506150a467a24e972b59dc7d0560c01b6155ff565b5b806150cf5750601c8160ff161480156150ce57506150cd67934bee4849491d9560c01b6155ff565b5b5b15615152576150e8676d6a491fc6e072fa60c01b6155fc565b6150fc67aecd1690d1de9f1c60c01b6155fc565b6001878285856040516000815260200160405260405161511f9493929190616ba9565b6020604051602081039080840390855afa158015615141573d6000803e3d6000fd5b505050602060405103519350615167565b61516667513fbc3b3a0ad1c060c01b6155fc565b5b505050615184565b6151836723d6d78de386c96660c01b6155fc565b5b6151986707d0c4f11e72cfc960c01b6155fc565b6151ac67b9689b22f403636c60c01b6155fc565b8091505092915050565b60606151cc6772351ea3c5d1b9f360c01b612e38565b6151e067f02df6c3bcbceef060c01b612e38565b6151f467ea816d23ec4287f760c01b612e38565b6060601467ffffffffffffffff8111801561520e57600080fd5b506040519080825280601f01601f1916602001820160405280156152415781602001600182028036833780820191505090505b5090506152586762376b73bacb383560c01b612e38565b600c6101000a8302602082015261527967b828916d5b99c26e60c01b612e38565b61528d67f4e2d092fa493cdd60c01b612e38565b80915050919050565b60006152ac6714ec9ba31585b6f760c01b613fbc565b6152c06764d00f8ee4cbc0f460c01b613fbc565b6152d46728aef4b71ffef7e260c01b613fbc565b60006152ea677b6cf6392b8d09d960c01b613fbc565b6152fe67da655f124163f4bc60c01b613fbc565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561541d57615368678c4556fd14dc507160c01b613fbc565b61537c674811af4455ee520960c01b613fbc565b61539067ae36e4b52033411860c01b613fbc565b6153a467ffe63a27679b309260c01b613fbc565b602c600036905010156153ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016153e390616d71565b60405180910390fd5b61540067d1762b0b1ca636f360c01b613fbc565b6154146769c465f7e405b9f660c01b613fbc565b60019050615432565b6154316710f40798097af22060c01b613fbc565b5b615446671855328cbdf7411660c01b613fbc565b61545a670e4f1457e534f9ac60c01b613fbc565b8091505090565b6000615477670df8d76b8cabf76a60c01b61560a565b61548b67e180fcce9e2bf4c560c01b61560a565b61549f670dcb70abe8e8bb0b60c01b61560a565b60006154b567c9f13cc22eb780e060c01b61560a565b6154c967c60f8d891ff21de960c01b61560a565b6154dd6782bb9e679e55c73460c01b61560a565b6014835114615521576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161551890616ed1565b60405180910390fd5b615535679ea304b1b6348ade60c01b61560a565b61554967a0049b4768bf518260c01b61560a565b6c010000000000000000000000006020840151049050615573671f4dc55703cfba1860c01b61560a565b61558767afb63a07e82275e260c01b61560a565b80915050919050565b60006155a667f3d1beb9fba5b7be60c01b6155fc565b6155ba676cd81a1865d6353260c01b6155fc565b6155ce676810828c21da671e60c01b6155fc565b816040516020016155df9190616996565b604051602081830303815290604052805190602001209050919050565b50565b600060019050919050565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061564e57803560ff191683800117855561567c565b8280016001018555821561567c579182015b8281111561567b578235825591602001919060010190615660565b5b509050615689919061570d565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106156ce57805160ff19168380011785556156fc565b828001600101855582156156fc579182015b828111156156fb5782518255916020019190600101906156e0565b5b509050615709919061570d565b5090565b5b8082111561572657600081600090555060010161570e565b5090565b60008135905061573981617237565b92915050565b60008151905061574e81617237565b92915050565b60008083601f84011261576657600080fd5b8235905067ffffffffffffffff81111561577f57600080fd5b60208301915083602082028301111561579757600080fd5b9250929050565b6000813590506157ad8161724e565b92915050565b6000813590506157c281617265565b92915050565b6000813590506157d78161727c565b92915050565b60008083601f8401126157ef57600080fd5b8235905067ffffffffffffffff81111561580857600080fd5b60208301915083600182028301111561582057600080fd5b9250929050565b600082601f83011261583857600080fd5b813561584b61584682616fa9565b616f7c565b9150808252602083016020830185838301111561586757600080fd5b61587283828461719f565b50505092915050565b60008135905061588a81617293565b92915050565b60008083601f8401126158a257600080fd5b8235905067ffffffffffffffff8111156158bb57600080fd5b6020830191508360018202830111156158d357600080fd5b9250929050565b6000606082840312156158ec57600080fd5b6158f66060616f7c565b905060006159068482850161572a565b600083015250602061591a8482850161579e565b602083015250604061592e8482850161579e565b60408301525092915050565b600081359050615949816172aa565b92915050565b60006020828403121561596157600080fd5b600061596f8482850161572a565b91505092915050565b60006020828403121561598a57600080fd5b60006159988482850161573f565b91505092915050565b6000602082840312156159b357600080fd5b60006159c18482850161579e565b91505092915050565b600080604083850312156159dd57600080fd5b60006159eb8582860161579e565b92505060206159fc8582860161572a565b9150509250929050565b600080600060608486031215615a1b57600080fd5b6000615a298682870161579e565b9350506020615a3a8682870161579e565b9250506040615a4b8682870161579e565b9150509250925092565b60008060008060608587031215615a6b57600080fd5b6000615a798782880161579e565b9450506020615a8a8782880161579e565b935050604085013567ffffffffffffffff811115615aa757600080fd5b615ab3878288016157dd565b925092505092959194509250565b600080600060408486031215615ad657600080fd5b6000615ae48682870161579e565b935050602084013567ffffffffffffffff811115615b0157600080fd5b615b0d868287016157dd565b92509250509250925092565b600080600060408486031215615b2e57600080fd5b6000615b3c8682870161579e565b935050602084013567ffffffffffffffff811115615b5957600080fd5b615b6586828701615890565b92509250509250925092565b600080600080600060608688031215615b8957600080fd5b6000615b978882890161579e565b955050602086013567ffffffffffffffff811115615bb457600080fd5b615bc088828901615890565b9450945050604086013567ffffffffffffffff811115615bdf57600080fd5b615beb88828901615890565b92509250509295509295909350565b60008060408385031215615c0d57600080fd5b6000615c1b8582860161579e565b9250506020615c2c8582860161593a565b9150509250929050565b600080600060608486031215615c4b57600080fd5b6000615c598682870161579e565b9350506020615c6a8682870161593a565b925050604084013567ffffffffffffffff811115615c8757600080fd5b615c9386828701615827565b9150509250925092565b600060208284031215615caf57600080fd5b6000615cbd848285016157b3565b91505092915050565b600060208284031215615cd857600080fd5b6000615ce6848285016157c8565b91505092915050565b600060208284031215615d0157600080fd5b6000615d0f8482850161587b565b91505092915050565b60008060008060608587031215615d2e57600080fd5b6000615d3c8782880161587b565b945050602085013567ffffffffffffffff811115615d5957600080fd5b615d6587828801615754565b93509350506040615d788782880161572a565b91505092959194509250565b600060608284031215615d9657600080fd5b6000615da4848285016158da565b91505092915050565b615db681617133565b82525050565b615dc581617056565b82525050565b615ddc615dd782617056565b6171e1565b82525050565b615deb81617068565b82525050565b615dfa81617074565b82525050565b615e11615e0c82617074565b6171f3565b82525050565b6000615e2282616fd5565b615e2c8185616feb565b9350615e3c8185602086016171ae565b615e4581617219565b840191505092915050565b6000615e5b82616fd5565b615e658185616ffc565b9350615e758185602086016171ae565b80840191505092915050565b615e8a81617145565b82525050565b615e9981617169565b82525050565b6000615eab8385617007565b9350615eb883858461719f565b615ec183617219565b840190509392505050565b6000615ed88385617018565b9350615ee583858461719f565b82840190509392505050565b6000615efc82616fe0565b615f068185617007565b9350615f168185602086016171ae565b615f1f81617219565b840191505092915050565b6000615f37601983617018565b91507f737570706f727473496e746572666163652862797465733429000000000000006000830152601982019050919050565b6000615f77602483617007565b91507f454e53436f6e74726f6c6c65723a20696e76616c6964206e6f6465207265736f60008301527f6c766572000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000615fdd602183617007565b91507f454e53436f6e74726f6c6c65723a20696e76616c6964206e6f6465206f776e6560008301527f72000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000616043602983617007565b91507f454e53436f6e74726f6c6c65723a20696e76616c696420677561726469616e2060008301527f7369676e617475726500000000000000000000000000000000000000000000006020830152604082019050919050565b60006160a9602283617007565b91507f454e53436f6e74726f6c6c65723a206c6162656c20616c72656164792074616b60008301527f656e0000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061610f601c83617018565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b600061614f602083617007565b91507f477561726465643a2063616e6e6f74206164642030783020677561726469616e6000830152602082019050919050565b600061618f602f83617007565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b60006161f5600d83617018565b91507f61646472286279746573333229000000000000000000000000000000000000006000830152600d82019050919050565b6000616235601b83617007565b91507f454e53436f6e74726f6c6c65723a20696e76616c6964206e6f646500000000006000830152602082019050919050565b6000616275602183617007565b91507f454e53436f6e74726f6c6c65723a206e6f646520646f65736e2774206578697360008301527f74000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006162db602283617007565b91507f47617465776179526563697069656e743a20696e76616c6964206d73672e646160008301527f74610000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000616341601483617018565b91507f7465787428627974657333322c737472696e67290000000000000000000000006000830152601482019050919050565b6000616381600d83617018565b91507f6e616d65286279746573333229000000000000000000000000000000000000006000830152600d82019050919050565b60006163c1602b83617007565b91507f454e53436f6e74726f6c6c65723a2063616c6c6572206973206e6f742074686560008301527f206e6f6465206f776e65720000000000000000000000000000000000000000006020830152604082019050919050565b6000616427602683617007565b91507f477561726465643a2074782e6f726967696e206973206e6f742074686520677560008301527f61726469616e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061648d602683617007565b91507f454e53436f6e74726f6c6c65723a2063616e6e6f74207365742030783020726560008301527f67697374727900000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006164f3602583617007565b91507f454e53436f6e74726f6c6c65723a206e6f646520616c7265616479207375626d60008301527f69747465640000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000616559600f83617018565b91507f7075626b657928627974657333322900000000000000000000000000000000006000830152600f82019050919050565b6000616599602283617007565b91507f454e53436f6e74726f6c6c65723a206e6f646520616c7265616479206578697360008301527f74730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006165ff602383617007565b91507f454e53436f6e74726f6c6c65723a206e6f646520616c726561647920696e207360008301527f796e6300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000616665601f83617007565b91507f477561726465643a20677561726469616e20646f65736e2774206578697374006000830152602082019050919050565b60006166a5602583617007565b91507f454e53436f6e74726f6c6c65723a20696e76616c696420656e73206e6f64652060008301527f6f776e65720000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061670b602083617007565b91507f477561726465643a20677561726469616e20616c7265616479206578697374736000830152602082019050919050565b600061674b601b83617007565b91507f477561726465643a2063616e6e6f742072656d6f76652073656c6600000000006000830152602082019050919050565b600061678b601d83617007565b91507f42797465734c69623a20696e76616c69642064617461206c656e6774680000006000830152602082019050919050565b60006167cb603783617007565b91507f454e5341627374726163745265736f6c7665723a20726576657274656420627960008301527f206f6e6c794e6f64654f776e6572206d6f6469666965720000000000000000006020830152604082019050919050565b6000616831601283617018565b91507f6164647228627974657333322c75696e742900000000000000000000000000006000830152601282019050919050565b6000616871602383617007565b91507f454e53436f6e74726f6c6c65723a20726567697374727920616c72656164792060008301527f73657400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6168d381617108565b82525050565b6168ea6168e582617108565b61720f565b82525050565b6168f981617126565b82525050565b600061690b8286615dcb565b60148201915061691b8285615e00565b60208201915061692b8284615e00565b602082019150819050949350505050565b60006169488285615e00565b6020820191506169588284615e00565b6020820191508190509392505050565b6000616975828486615ecc565b91508190509392505050565b600061698c82615f2a565b9150819050919050565b60006169a182616102565b91506169ad8284615e00565b60208201915081905092915050565b60006169c7826161e8565b9150819050919050565b60006169dc82616334565b9150819050919050565b60006169f182616374565b9150819050919050565b6000616a068261654c565b9150819050919050565b6000616a1b82616824565b9150819050919050565b6000616a3182876168d9565b602082019150616a418286615dcb565b601482019150616a518285615e00565b602082019150616a618284615e50565b915081905095945050505050565b6000602082019050616a846000830184615dbc565b92915050565b6000602082019050616a9f6000830184615dad565b92915050565b6000604082019050616aba6000830185615dad565b616ac76020830184615dbc565b9392505050565b6000602082019050616ae36000830184615de2565b92915050565b6000602082019050616afe6000830184615df1565b92915050565b6000604082019050616b196000830185615df1565b616b266020830184615dbc565b9392505050565b6000604082019050616b426000830185615df1565b616b4f6020830184615df1565b9392505050565b600060a082019050616b6b6000830188615df1565b616b786020830187615df1565b616b856040830186615dbc565b616b926060830185615dbc565b616b9f6080830184615e90565b9695505050505050565b6000608082019050616bbe6000830187615df1565b616bcb60208301866168f0565b616bd86040830185615df1565b616be56060830184615df1565b95945050505050565b60006020820190508181036000830152616c088184615e17565b905092915050565b6000602082019050616c256000830184615e81565b92915050565b60006020820190508181036000830152616c46818486615e9f565b90509392505050565b60006020820190508181036000830152616c698184615ef1565b905092915050565b60006020820190508181036000830152616c8a81615f6a565b9050919050565b60006020820190508181036000830152616caa81615fd0565b9050919050565b60006020820190508181036000830152616cca81616036565b9050919050565b60006020820190508181036000830152616cea8161609c565b9050919050565b60006020820190508181036000830152616d0a81616142565b9050919050565b60006020820190508181036000830152616d2a81616182565b9050919050565b60006020820190508181036000830152616d4a81616228565b9050919050565b60006020820190508181036000830152616d6a81616268565b9050919050565b60006020820190508181036000830152616d8a816162ce565b9050919050565b60006020820190508181036000830152616daa816163b4565b9050919050565b60006020820190508181036000830152616dca8161641a565b9050919050565b60006020820190508181036000830152616dea81616480565b9050919050565b60006020820190508181036000830152616e0a816164e6565b9050919050565b60006020820190508181036000830152616e2a8161658c565b9050919050565b60006020820190508181036000830152616e4a816165f2565b9050919050565b60006020820190508181036000830152616e6a81616658565b9050919050565b60006020820190508181036000830152616e8a81616698565b9050919050565b60006020820190508181036000830152616eaa816166fe565b9050919050565b60006020820190508181036000830152616eca8161673e565b9050919050565b60006020820190508181036000830152616eea8161677e565b9050919050565b60006020820190508181036000830152616f0a816167be565b9050919050565b60006020820190508181036000830152616f2a81616864565b9050919050565b6000602082019050616f4660008301846168ca565b92915050565b6000604082019050616f6160008301856168ca565b8181036020830152616f738184615e17565b90509392505050565b6000604051905081810181811067ffffffffffffffff82111715616f9f57600080fd5b8060405250919050565b600067ffffffffffffffff821115616fc057600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000808585111561703357600080fd5b8386111561704057600080fd5b6001850283019150848603905094509492505050565b6000617061826170e8565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b60006170e182617056565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b600061713e8261717b565b9050919050565b600061715082617157565b9050919050565b6000617162826170e8565b9050919050565b600061717482617112565b9050919050565b60006171868261718d565b9050919050565b6000617198826170e8565b9050919050565b82818337600083830152505050565b60005b838110156171cc5780820151818401526020810190506171b1565b838111156171db576000848401525b50505050565b60006171ec826171fd565b9050919050565b6000819050919050565b60006172088261722a565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b61724081617056565b811461724b57600080fd5b50565b61725781617074565b811461726257600080fd5b50565b61726e8161707e565b811461727957600080fd5b50565b617285816170aa565b811461729057600080fd5b50565b61729c816170d6565b81146172a757600080fd5b50565b6172b381617108565b81146172be57600080fd5b5056fea164736f6c634300060c000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/ENSHelper.json b/artifacts/ENSHelper.json index bf5dc38d..8166e5b7 100644 --- a/artifacts/ENSHelper.json +++ b/artifacts/ENSHelper.json @@ -21,6 +21,108 @@ "name": "Initialized", "type": "event" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_098c0657", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__5c42e10b", + "type": "bytes8" + } + ], + "name": "c_5c42e10b", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_false098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__5c42e10b", + "type": "bytes8" + } + ], + "name": "c_false5c42e10b", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_true098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__5c42e10b", + "type": "bytes8" + } + ], + "name": "c_true5c42e10b", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { @@ -99,8 +201,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e74806100606000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806338bc01b51461005c578063392e53cd1461008c5780637b103999146100aa578063c4d66de8146100c8578063dc6008e2146100e4575b600080fd5b610076600480360381019061007191906108a6565b610114565b6040516100839190610b55565b60405180910390f35b6100946101ec565b6040516100a19190610b99565b60405180910390f35b6100b2610242565b6040516100bf9190610bcf565b60405180910390f35b6100e260048036038101906100dd91906108e7565b610268565b005b6100fe60048036038101906100f991906108a6565b6103b2565b60405161010b9190610b77565b60405180910390f35b606060008251905060608167ffffffffffffffff8111801561013557600080fd5b506040519080825280602002602001820160405280156101645781602001602082028036833780820191505090505b50905060005b828110156101e15761018e85828151811061018157fe5b6020026020010151610460565b82828151811061019a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050808060010191505061016a565b508092505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146102f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ed90610bea565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e6326040516103a79190610b3a565b60405180910390a150565b606060008251905060608167ffffffffffffffff811180156103d357600080fd5b5060405190808252806020026020018201604052801561040757816020015b60608152602001906001900390816103f25790505b50905060005b828110156104555761043185828151811061042457fe5b60200260200101516105e1565b82828151811061043d57fe5b6020026020010181905250808060010191505061040d565b508092505050919050565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf856040518263ffffffff1660e01b81526004016104c09190610bb4565b60206040518083038186803b1580156104d857600080fd5b505afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610510919061087d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146105d7578073ffffffffffffffffffffffffffffffffffffffff16633b3b57de856040518263ffffffff1660e01b815260040161057f9190610bb4565b60206040518083038186803b15801561059757600080fd5b505afa9250505080156105c857506040513d601f19601f820116820180604052508101906105c5919061087d565b60015b6105d1576105d6565b809250505b5b8192505050919050565b6060806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf856040518263ffffffff1660e01b81526004016106419190610bb4565b60206040518083038186803b15801561065957600080fd5b505afa15801561066d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610691919061087d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461075d578073ffffffffffffffffffffffffffffffffffffffff1663691f3431856040518263ffffffff1660e01b81526004016107009190610bb4565b60006040518083038186803b15801561071857600080fd5b505afa92505050801561074e57506040513d6000823e3d601f19601f8201168201806040525081019061074b9190610910565b60015b6107575761075c565b809250505b5b8192505050919050565b60008151905061077681610e22565b92915050565b600082601f83011261078d57600080fd5b81356107a061079b82610c37565b610c0a565b915081818352602084019350602081019050838560208402820111156107c557600080fd5b60005b838110156107f557816107db88826107ff565b8452602084019350602083019250506001810190506107c8565b5050505092915050565b60008135905061080e81610e39565b92915050565b60008135905061082381610e50565b92915050565b600082601f83011261083a57600080fd5b815161084d61084882610c5f565b610c0a565b9150808252602083016020830185838301111561086957600080fd5b610874838284610dde565b50505092915050565b60006020828403121561088f57600080fd5b600061089d84828501610767565b91505092915050565b6000602082840312156108b857600080fd5b600082013567ffffffffffffffff8111156108d257600080fd5b6108de8482850161077c565b91505092915050565b6000602082840312156108f957600080fd5b600061090784828501610814565b91505092915050565b60006020828403121561092257600080fd5b600082015167ffffffffffffffff81111561093c57600080fd5b61094884828501610829565b91505092915050565b600061095d838361098c565b60208301905092915050565b60006109758383610a9b565b905092915050565b61098681610d84565b82525050565b61099581610d2a565b82525050565b60006109a682610cab565b6109b08185610ce6565b93506109bb83610c8b565b8060005b838110156109ec5781516109d38882610951565b97506109de83610ccc565b9250506001810190506109bf565b5085935050505092915050565b6000610a0482610cb6565b610a0e8185610cf7565b935083602082028501610a2085610c9b565b8060005b85811015610a5c5784840389528151610a3d8582610969565b9450610a4883610cd9565b925060208a01995050600181019050610a24565b50829750879550505050505092915050565b610a7781610d3c565b82525050565b610a8681610d48565b82525050565b610a9581610d96565b82525050565b6000610aa682610cc1565b610ab08185610d08565b9350610ac0818560208601610dde565b610ac981610e11565b840191505092915050565b6000610ae1602f83610d19565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b6000602082019050610b4f600083018461097d565b92915050565b60006020820190508181036000830152610b6f818461099b565b905092915050565b60006020820190508181036000830152610b9181846109f9565b905092915050565b6000602082019050610bae6000830184610a6e565b92915050565b6000602082019050610bc96000830184610a7d565b92915050565b6000602082019050610be46000830184610a8c565b92915050565b60006020820190508181036000830152610c0381610ad4565b9050919050565b6000604051905081810181811067ffffffffffffffff82111715610c2d57600080fd5b8060405250919050565b600067ffffffffffffffff821115610c4e57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff821115610c7657600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610d3582610d64565b9050919050565b60008115159050919050565b6000819050919050565b6000610d5d82610d2a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d8f82610dba565b9050919050565b6000610da182610da8565b9050919050565b6000610db382610d64565b9050919050565b6000610dc582610dcc565b9050919050565b6000610dd782610d64565b9050919050565b60005b83811015610dfc578082015181840152602081019050610de1565b83811115610e0b576000848401525b50505050565b6000601f19601f8301169050919050565b610e2b81610d2a565b8114610e3657600080fd5b50565b610e4281610d48565b8114610e4d57600080fd5b50565b610e5981610d52565b8114610e6457600080fd5b5056fea164736f6c634300060c000a", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806338bc01b51461005c578063392e53cd1461008c5780637b103999146100aa578063c4d66de8146100c8578063dc6008e2146100e4575b600080fd5b610076600480360381019061007191906108a6565b610114565b6040516100839190610b55565b60405180910390f35b6100946101ec565b6040516100a19190610b99565b60405180910390f35b6100b2610242565b6040516100bf9190610bcf565b60405180910390f35b6100e260048036038101906100dd91906108e7565b610268565b005b6100fe60048036038101906100f991906108a6565b6103b2565b60405161010b9190610b77565b60405180910390f35b606060008251905060608167ffffffffffffffff8111801561013557600080fd5b506040519080825280602002602001820160405280156101645781602001602082028036833780820191505090505b50905060005b828110156101e15761018e85828151811061018157fe5b6020026020010151610460565b82828151811061019a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050808060010191505061016a565b508092505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146102f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ed90610bea565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e6326040516103a79190610b3a565b60405180910390a150565b606060008251905060608167ffffffffffffffff811180156103d357600080fd5b5060405190808252806020026020018201604052801561040757816020015b60608152602001906001900390816103f25790505b50905060005b828110156104555761043185828151811061042457fe5b60200260200101516105e1565b82828151811061043d57fe5b6020026020010181905250808060010191505061040d565b508092505050919050565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf856040518263ffffffff1660e01b81526004016104c09190610bb4565b60206040518083038186803b1580156104d857600080fd5b505afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610510919061087d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146105d7578073ffffffffffffffffffffffffffffffffffffffff16633b3b57de856040518263ffffffff1660e01b815260040161057f9190610bb4565b60206040518083038186803b15801561059757600080fd5b505afa9250505080156105c857506040513d601f19601f820116820180604052508101906105c5919061087d565b60015b6105d1576105d6565b809250505b5b8192505050919050565b6060806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf856040518263ffffffff1660e01b81526004016106419190610bb4565b60206040518083038186803b15801561065957600080fd5b505afa15801561066d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610691919061087d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461075d578073ffffffffffffffffffffffffffffffffffffffff1663691f3431856040518263ffffffff1660e01b81526004016107009190610bb4565b60006040518083038186803b15801561071857600080fd5b505afa92505050801561074e57506040513d6000823e3d601f19601f8201168201806040525081019061074b9190610910565b60015b6107575761075c565b809250505b5b8192505050919050565b60008151905061077681610e22565b92915050565b600082601f83011261078d57600080fd5b81356107a061079b82610c37565b610c0a565b915081818352602084019350602081019050838560208402820111156107c557600080fd5b60005b838110156107f557816107db88826107ff565b8452602084019350602083019250506001810190506107c8565b5050505092915050565b60008135905061080e81610e39565b92915050565b60008135905061082381610e50565b92915050565b600082601f83011261083a57600080fd5b815161084d61084882610c5f565b610c0a565b9150808252602083016020830185838301111561086957600080fd5b610874838284610dde565b50505092915050565b60006020828403121561088f57600080fd5b600061089d84828501610767565b91505092915050565b6000602082840312156108b857600080fd5b600082013567ffffffffffffffff8111156108d257600080fd5b6108de8482850161077c565b91505092915050565b6000602082840312156108f957600080fd5b600061090784828501610814565b91505092915050565b60006020828403121561092257600080fd5b600082015167ffffffffffffffff81111561093c57600080fd5b61094884828501610829565b91505092915050565b600061095d838361098c565b60208301905092915050565b60006109758383610a9b565b905092915050565b61098681610d84565b82525050565b61099581610d2a565b82525050565b60006109a682610cab565b6109b08185610ce6565b93506109bb83610c8b565b8060005b838110156109ec5781516109d38882610951565b97506109de83610ccc565b9250506001810190506109bf565b5085935050505092915050565b6000610a0482610cb6565b610a0e8185610cf7565b935083602082028501610a2085610c9b565b8060005b85811015610a5c5784840389528151610a3d8582610969565b9450610a4883610cd9565b925060208a01995050600181019050610a24565b50829750879550505050505092915050565b610a7781610d3c565b82525050565b610a8681610d48565b82525050565b610a9581610d96565b82525050565b6000610aa682610cc1565b610ab08185610d08565b9350610ac0818560208601610dde565b610ac981610e11565b840191505092915050565b6000610ae1602f83610d19565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b6000602082019050610b4f600083018461097d565b92915050565b60006020820190508181036000830152610b6f818461099b565b905092915050565b60006020820190508181036000830152610b9181846109f9565b905092915050565b6000602082019050610bae6000830184610a6e565b92915050565b6000602082019050610bc96000830184610a7d565b92915050565b6000602082019050610be46000830184610a8c565b92915050565b60006020820190508181036000830152610c0381610ad4565b9050919050565b6000604051905081810181811067ffffffffffffffff82111715610c2d57600080fd5b8060405250919050565b600067ffffffffffffffff821115610c4e57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff821115610c7657600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610d3582610d64565b9050919050565b60008115159050919050565b6000819050919050565b6000610d5d82610d2a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d8f82610dba565b9050919050565b6000610da182610da8565b9050919050565b6000610db382610d64565b9050919050565b6000610dc582610dcc565b9050919050565b6000610dd782610d64565b9050919050565b60005b83811015610dfc578082015181840152602081019050610de1565b83811115610e0b576000848401525b50505050565b6000601f19601f8301169050919050565b610e2b81610d2a565b8114610e3657600080fd5b50565b610e4281610d48565b8114610e4d57600080fd5b50565b610e5981610d52565b8114610e6457600080fd5b5056fea164736f6c634300060c000a", + "bytecode": "0x608060405234801561001057600080fd5b5061002b67bcc9be562f8a4b0a60c01b6100a460201b60201c565b61004567579ae7209daca85260c01b6100a460201b60201c565b326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061009f6788a5314e41b335a860c01b6100a760201b60201c565b6100aa565b50565b50565b611575806100b96000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80639b249bb6116100715780639b249bb614610152578063c454330514610182578063c4d66de8146101b2578063c6977ab5146101ce578063d84fa10c146101fe578063dc6008e21461022e576100a9565b806338bc01b5146100ae578063392e53cd146100de5780633e260b13146100fc57806373c00330146101185780637b10399914610134575b600080fd5b6100c860048036038101906100c39190610f3b565b61025e565b6040516100d59190611213565b60405180910390f35b6100e66103fe565b6040516100f39190611257565b60405180910390f35b61011660048036038101906101119190610f7c565b610491565b005b610132600480360381019061012d9190610f7c565b610494565b005b61013c610497565b604051610149919061128d565b60405180910390f35b61016c60048036038101906101679190610f7c565b6104bd565b6040516101799190611257565b60405180910390f35b61019c60048036038101906101979190610f7c565b6104c4565b6040516101a99190611257565b60405180910390f35b6101cc60048036038101906101c79190610fa5565b6104cf565b005b6101e860048036038101906101e39190610f7c565b61071d565b6040516101f59190611257565b60405180910390f35b61021860048036038101906102139190610f7c565b610728565b6040516102259190611257565b60405180910390f35b61024860048036038101906102439190610f3b565b61072f565b6040516102559190611235565b60405180910390f35b6060610274671262cfb69e40cc5b60c01b610494565b6102886798c01d2f7400c2ea60c01b610494565b61029c67ad9923707237991e60c01b610494565b6000825190506102b66789f55ae5d37def3e60c01b610494565b6102ca67ac677aeb4c017ff360c01b610494565b60608167ffffffffffffffff811180156102e357600080fd5b506040519080825280602002602001820160405280156103125781602001602082028036833780820191505090505b509050610329670ba5e1384af0913e60c01b610494565b61033d6714028a04d7886c0860c01b610494565b60005b828110156103cb5761035c6781d854b59fb81ec660c01b610494565b61037885828151811061036b57fe5b60200260200101516108a5565b82828151811061038457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050610340565b506103e0676499c15a3010af8860c01b610494565b6103f4673ce7fdbf6e3ceeff60c01b610494565b8092505050919050565b600061041467e29fe2f351ca6b2760c01b610491565b610428676f5dd3f08b97747760c01b610491565b61043c673a9488d62818322a60c01b610491565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000919050565b600060019050919050565b6104e3670b3f84efbe7b166460c01b610494565b6104f767d2ba19feb39e0b7f60c01b610491565b61050b670c5ad53cdb9edd1560c01b610491565b61051f67b6b588d2ebb9ae6960c01b610491565b61053367c4ec9a90a885875260c01b610491565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146105c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8906112a8565b60405180910390fd5b6105d567c3785ba1534db95460c01b610491565b6105e967e4202927591248ef60c01b610491565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061063e67531cfa2817fbdc8660c01b610491565b61065267a88fe5617780e90a60c01b610494565b61066667e820f68755b3cd5960c01b610494565b61067a674261d64cb5e3105760c01b610494565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506106cf6701520f419008b58e60c01b610491565b6106e36775364c04848b013b60c01b610491565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e63260405161071291906111f8565b60405180910390a150565b600060019050919050565b6000919050565b606061074567e80d71150b859b7260c01b610494565b61075967a983b910fbac0dde60c01b610494565b61076d67647fa2dd6620e96c60c01b610494565b600082519050610787673e1ca5096d39224d60c01b610494565b61079b67fc7faae55db6959760c01b610494565b60608167ffffffffffffffff811180156107b457600080fd5b506040519080825280602002602001820160405280156107e857816020015b60608152602001906001900390816107d35790505b5090506107ff67f69904c6431daa3260c01b610494565b61081367871b2ac11c1ac1e160c01b610494565b60005b8281101561087257610832679d6bbf61afcd60cd60c01b610494565b61084e85828151811061084157fe5b6020026020010151610b43565b82828151811061085a57fe5b60200260200101819052508080600101915050610816565b5061088767050076f9e6946aa460c01b610494565b61089b67881f2e841a33919160c01b610494565b8092505050919050565b60006108bb6767ba3fa8e255e42c60c01b610494565b6108cf67ded2d8e7ce5a2fd260c01b610494565b6108e367b7eec7d5b1f6d0ef60c01b610494565b60006108f9672f2b2f7babea174160c01b610494565b61090d67ddb621e05346684960c01b610494565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf856040518263ffffffff1660e01b815260040161096a9190611272565b60206040518083038186803b15801561098257600080fd5b505afa158015610996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ba9190610f12565b90506109d067f89bfd8ea1a9d84c60c01b610494565b6109e467dcfa76ac2a64a3d060c01b610494565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610afc57610a2b66c00643e0fe114260c01b610494565b610a3f676f657acc31999b6e60c01b610494565b610a53677e6620e4ec26afb860c01b610494565b8073ffffffffffffffffffffffffffffffffffffffff16633b3b57de856040518263ffffffff1660e01b8152600401610a8c9190611272565b60206040518083038186803b158015610aa457600080fd5b505afa925050508015610ad557506040513d601f19601f82011682018060405250810190610ad29190610f12565b60015b610ade57610af7565b610af2678d081549d3a105db60c01b610494565b809250505b610b11565b610b1067116afadf3c1fb43960c01b610494565b5b610b2567fd7a0c053af4eb8760c01b610494565b610b396730de74e4786aa2e460c01b610494565b8192505050919050565b6060610b59672ff51caeb36aa79560c01b610494565b610b6d678624272536b909b060c01b610494565b610b81675145d31ae44ae0e660c01b610494565b6060610b9767733b8d1519f8af7260c01b610494565b610bab670bec19ea53a9713360c01b610494565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf856040518263ffffffff1660e01b8152600401610c089190611272565b60206040518083038186803b158015610c2057600080fd5b505afa158015610c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c589190610f12565b9050610c6e675f3e55e290a1f2be60c01b610494565b610c8267a4236d1b625413fd60c01b610494565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610da057610cca6771cac04d0611340f60c01b610494565b610cde67bbd7a982fc04f8d860c01b610494565b610cf2671e4e6b27da2a22c560c01b610494565b8073ffffffffffffffffffffffffffffffffffffffff1663691f3431856040518263ffffffff1660e01b8152600401610d2b9190611272565b60006040518083038186803b158015610d4357600080fd5b505afa925050508015610d7957506040513d6000823e3d601f19601f82011682018060405250810190610d769190610fce565b60015b610d8257610d9b565b610d9667bcddd4c206b0dfb760c01b610494565b809250505b610db5565b610db46783411ebc5f7949ec60c01b610494565b5b610dc967f538509b78c1831860c01b610494565b610ddd677c2d448ed267709960c01b610494565b8192505050919050565b600081519050610df68161150c565b92915050565b600082601f830112610e0d57600080fd5b8135610e20610e1b826112f5565b6112c8565b91508181835260208401935060208101905083856020840282011115610e4557600080fd5b60005b83811015610e755781610e5b8882610e7f565b845260208401935060208301925050600181019050610e48565b5050505092915050565b600081359050610e8e81611523565b92915050565b600081359050610ea38161153a565b92915050565b600081359050610eb881611551565b92915050565b600082601f830112610ecf57600080fd5b8151610ee2610edd8261131d565b6112c8565b91508082526020830160208301858383011115610efe57600080fd5b610f098382846114c8565b50505092915050565b600060208284031215610f2457600080fd5b6000610f3284828501610de7565b91505092915050565b600060208284031215610f4d57600080fd5b600082013567ffffffffffffffff811115610f6757600080fd5b610f7384828501610dfc565b91505092915050565b600060208284031215610f8e57600080fd5b6000610f9c84828501610e94565b91505092915050565b600060208284031215610fb757600080fd5b6000610fc584828501610ea9565b91505092915050565b600060208284031215610fe057600080fd5b600082015167ffffffffffffffff811115610ffa57600080fd5b61100684828501610ebe565b91505092915050565b600061101b838361104a565b60208301905092915050565b60006110338383611159565b905092915050565b6110448161146e565b82525050565b611053816113e8565b82525050565b600061106482611369565b61106e81856113a4565b935061107983611349565b8060005b838110156110aa578151611091888261100f565b975061109c8361138a565b92505060018101905061107d565b5085935050505092915050565b60006110c282611374565b6110cc81856113b5565b9350836020820285016110de85611359565b8060005b8581101561111a57848403895281516110fb8582611027565b945061110683611397565b925060208a019950506001810190506110e2565b50829750879550505050505092915050565b611135816113fa565b82525050565b61114481611406565b82525050565b61115381611480565b82525050565b60006111648261137f565b61116e81856113c6565b935061117e8185602086016114c8565b611187816114fb565b840191505092915050565b600061119f602f836113d7565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b600060208201905061120d600083018461103b565b92915050565b6000602082019050818103600083015261122d8184611059565b905092915050565b6000602082019050818103600083015261124f81846110b7565b905092915050565b600060208201905061126c600083018461112c565b92915050565b6000602082019050611287600083018461113b565b92915050565b60006020820190506112a2600083018461114a565b92915050565b600060208201905081810360008301526112c181611192565b9050919050565b6000604051905081810181811067ffffffffffffffff821117156112eb57600080fd5b8060405250919050565b600067ffffffffffffffff82111561130c57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561133457600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006113f38261144e565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b6000611447826113e8565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611479826114a4565b9050919050565b600061148b82611492565b9050919050565b600061149d8261144e565b9050919050565b60006114af826114b6565b9050919050565b60006114c18261144e565b9050919050565b60005b838110156114e65780820151818401526020810190506114cb565b838111156114f5576000848401525b50505050565b6000601f19601f8301169050919050565b611515816113e8565b811461152057600080fd5b50565b61152c81611406565b811461153757600080fd5b50565b61154381611410565b811461154e57600080fd5b50565b61155a8161143c565b811461156557600080fd5b5056fea164736f6c634300060c000a", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80639b249bb6116100715780639b249bb614610152578063c454330514610182578063c4d66de8146101b2578063c6977ab5146101ce578063d84fa10c146101fe578063dc6008e21461022e576100a9565b806338bc01b5146100ae578063392e53cd146100de5780633e260b13146100fc57806373c00330146101185780637b10399914610134575b600080fd5b6100c860048036038101906100c39190610f3b565b61025e565b6040516100d59190611213565b60405180910390f35b6100e66103fe565b6040516100f39190611257565b60405180910390f35b61011660048036038101906101119190610f7c565b610491565b005b610132600480360381019061012d9190610f7c565b610494565b005b61013c610497565b604051610149919061128d565b60405180910390f35b61016c60048036038101906101679190610f7c565b6104bd565b6040516101799190611257565b60405180910390f35b61019c60048036038101906101979190610f7c565b6104c4565b6040516101a99190611257565b60405180910390f35b6101cc60048036038101906101c79190610fa5565b6104cf565b005b6101e860048036038101906101e39190610f7c565b61071d565b6040516101f59190611257565b60405180910390f35b61021860048036038101906102139190610f7c565b610728565b6040516102259190611257565b60405180910390f35b61024860048036038101906102439190610f3b565b61072f565b6040516102559190611235565b60405180910390f35b6060610274671262cfb69e40cc5b60c01b610494565b6102886798c01d2f7400c2ea60c01b610494565b61029c67ad9923707237991e60c01b610494565b6000825190506102b66789f55ae5d37def3e60c01b610494565b6102ca67ac677aeb4c017ff360c01b610494565b60608167ffffffffffffffff811180156102e357600080fd5b506040519080825280602002602001820160405280156103125781602001602082028036833780820191505090505b509050610329670ba5e1384af0913e60c01b610494565b61033d6714028a04d7886c0860c01b610494565b60005b828110156103cb5761035c6781d854b59fb81ec660c01b610494565b61037885828151811061036b57fe5b60200260200101516108a5565b82828151811061038457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050610340565b506103e0676499c15a3010af8860c01b610494565b6103f4673ce7fdbf6e3ceeff60c01b610494565b8092505050919050565b600061041467e29fe2f351ca6b2760c01b610491565b610428676f5dd3f08b97747760c01b610491565b61043c673a9488d62818322a60c01b610491565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000919050565b600060019050919050565b6104e3670b3f84efbe7b166460c01b610494565b6104f767d2ba19feb39e0b7f60c01b610491565b61050b670c5ad53cdb9edd1560c01b610491565b61051f67b6b588d2ebb9ae6960c01b610491565b61053367c4ec9a90a885875260c01b610491565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146105c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8906112a8565b60405180910390fd5b6105d567c3785ba1534db95460c01b610491565b6105e967e4202927591248ef60c01b610491565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061063e67531cfa2817fbdc8660c01b610491565b61065267a88fe5617780e90a60c01b610494565b61066667e820f68755b3cd5960c01b610494565b61067a674261d64cb5e3105760c01b610494565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506106cf6701520f419008b58e60c01b610491565b6106e36775364c04848b013b60c01b610491565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e63260405161071291906111f8565b60405180910390a150565b600060019050919050565b6000919050565b606061074567e80d71150b859b7260c01b610494565b61075967a983b910fbac0dde60c01b610494565b61076d67647fa2dd6620e96c60c01b610494565b600082519050610787673e1ca5096d39224d60c01b610494565b61079b67fc7faae55db6959760c01b610494565b60608167ffffffffffffffff811180156107b457600080fd5b506040519080825280602002602001820160405280156107e857816020015b60608152602001906001900390816107d35790505b5090506107ff67f69904c6431daa3260c01b610494565b61081367871b2ac11c1ac1e160c01b610494565b60005b8281101561087257610832679d6bbf61afcd60cd60c01b610494565b61084e85828151811061084157fe5b6020026020010151610b43565b82828151811061085a57fe5b60200260200101819052508080600101915050610816565b5061088767050076f9e6946aa460c01b610494565b61089b67881f2e841a33919160c01b610494565b8092505050919050565b60006108bb6767ba3fa8e255e42c60c01b610494565b6108cf67ded2d8e7ce5a2fd260c01b610494565b6108e367b7eec7d5b1f6d0ef60c01b610494565b60006108f9672f2b2f7babea174160c01b610494565b61090d67ddb621e05346684960c01b610494565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf856040518263ffffffff1660e01b815260040161096a9190611272565b60206040518083038186803b15801561098257600080fd5b505afa158015610996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ba9190610f12565b90506109d067f89bfd8ea1a9d84c60c01b610494565b6109e467dcfa76ac2a64a3d060c01b610494565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610afc57610a2b66c00643e0fe114260c01b610494565b610a3f676f657acc31999b6e60c01b610494565b610a53677e6620e4ec26afb860c01b610494565b8073ffffffffffffffffffffffffffffffffffffffff16633b3b57de856040518263ffffffff1660e01b8152600401610a8c9190611272565b60206040518083038186803b158015610aa457600080fd5b505afa925050508015610ad557506040513d601f19601f82011682018060405250810190610ad29190610f12565b60015b610ade57610af7565b610af2678d081549d3a105db60c01b610494565b809250505b610b11565b610b1067116afadf3c1fb43960c01b610494565b5b610b2567fd7a0c053af4eb8760c01b610494565b610b396730de74e4786aa2e460c01b610494565b8192505050919050565b6060610b59672ff51caeb36aa79560c01b610494565b610b6d678624272536b909b060c01b610494565b610b81675145d31ae44ae0e660c01b610494565b6060610b9767733b8d1519f8af7260c01b610494565b610bab670bec19ea53a9713360c01b610494565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf856040518263ffffffff1660e01b8152600401610c089190611272565b60206040518083038186803b158015610c2057600080fd5b505afa158015610c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c589190610f12565b9050610c6e675f3e55e290a1f2be60c01b610494565b610c8267a4236d1b625413fd60c01b610494565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610da057610cca6771cac04d0611340f60c01b610494565b610cde67bbd7a982fc04f8d860c01b610494565b610cf2671e4e6b27da2a22c560c01b610494565b8073ffffffffffffffffffffffffffffffffffffffff1663691f3431856040518263ffffffff1660e01b8152600401610d2b9190611272565b60006040518083038186803b158015610d4357600080fd5b505afa925050508015610d7957506040513d6000823e3d601f19601f82011682018060405250810190610d769190610fce565b60015b610d8257610d9b565b610d9667bcddd4c206b0dfb760c01b610494565b809250505b610db5565b610db46783411ebc5f7949ec60c01b610494565b5b610dc967f538509b78c1831860c01b610494565b610ddd677c2d448ed267709960c01b610494565b8192505050919050565b600081519050610df68161150c565b92915050565b600082601f830112610e0d57600080fd5b8135610e20610e1b826112f5565b6112c8565b91508181835260208401935060208101905083856020840282011115610e4557600080fd5b60005b83811015610e755781610e5b8882610e7f565b845260208401935060208301925050600181019050610e48565b5050505092915050565b600081359050610e8e81611523565b92915050565b600081359050610ea38161153a565b92915050565b600081359050610eb881611551565b92915050565b600082601f830112610ecf57600080fd5b8151610ee2610edd8261131d565b6112c8565b91508082526020830160208301858383011115610efe57600080fd5b610f098382846114c8565b50505092915050565b600060208284031215610f2457600080fd5b6000610f3284828501610de7565b91505092915050565b600060208284031215610f4d57600080fd5b600082013567ffffffffffffffff811115610f6757600080fd5b610f7384828501610dfc565b91505092915050565b600060208284031215610f8e57600080fd5b6000610f9c84828501610e94565b91505092915050565b600060208284031215610fb757600080fd5b6000610fc584828501610ea9565b91505092915050565b600060208284031215610fe057600080fd5b600082015167ffffffffffffffff811115610ffa57600080fd5b61100684828501610ebe565b91505092915050565b600061101b838361104a565b60208301905092915050565b60006110338383611159565b905092915050565b6110448161146e565b82525050565b611053816113e8565b82525050565b600061106482611369565b61106e81856113a4565b935061107983611349565b8060005b838110156110aa578151611091888261100f565b975061109c8361138a565b92505060018101905061107d565b5085935050505092915050565b60006110c282611374565b6110cc81856113b5565b9350836020820285016110de85611359565b8060005b8581101561111a57848403895281516110fb8582611027565b945061110683611397565b925060208a019950506001810190506110e2565b50829750879550505050505092915050565b611135816113fa565b82525050565b61114481611406565b82525050565b61115381611480565b82525050565b60006111648261137f565b61116e81856113c6565b935061117e8185602086016114c8565b611187816114fb565b840191505092915050565b600061119f602f836113d7565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b600060208201905061120d600083018461103b565b92915050565b6000602082019050818103600083015261122d8184611059565b905092915050565b6000602082019050818103600083015261124f81846110b7565b905092915050565b600060208201905061126c600083018461112c565b92915050565b6000602082019050611287600083018461113b565b92915050565b60006020820190506112a2600083018461114a565b92915050565b600060208201905081810360008301526112c181611192565b9050919050565b6000604051905081810181811067ffffffffffffffff821117156112eb57600080fd5b8060405250919050565b600067ffffffffffffffff82111561130c57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561133457600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006113f38261144e565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b6000611447826113e8565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611479826114a4565b9050919050565b600061148b82611492565b9050919050565b600061149d8261144e565b9050919050565b60006114af826114b6565b9050919050565b60006114c18261144e565b9050919050565b60005b838110156114e65780820151818401526020810190506114cb565b838111156114f5576000848401525b50505050565b6000601f19601f8301169050919050565b611515816113e8565b811461152057600080fd5b50565b61152c81611406565b811461153757600080fd5b50565b61154381611410565b811461154e57600080fd5b50565b61155a8161143c565b811461156557600080fd5b5056fea164736f6c634300060c000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/ENSNameResolver.json b/artifacts/ENSNameResolver.json index 88230325..c500d944 100644 --- a/artifacts/ENSNameResolver.json +++ b/artifacts/ENSNameResolver.json @@ -22,6 +22,108 @@ "name": "NameChanged", "type": "event" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__6f06df17", + "type": "bytes8" + } + ], + "name": "c_6f06df17", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f395fef5", + "type": "bytes8" + } + ], + "name": "c_f395fef5", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__6f06df17", + "type": "bytes8" + } + ], + "name": "c_false6f06df17", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f395fef5", + "type": "bytes8" + } + ], + "name": "c_falsef395fef5", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__6f06df17", + "type": "bytes8" + } + ], + "name": "c_true6f06df17", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f395fef5", + "type": "bytes8" + } + ], + "name": "c_truef395fef5", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { diff --git a/artifacts/ENSPubKeyResolver.json b/artifacts/ENSPubKeyResolver.json index f8abe723..23dc35db 100644 --- a/artifacts/ENSPubKeyResolver.json +++ b/artifacts/ENSPubKeyResolver.json @@ -28,6 +28,108 @@ "name": "PubkeyChanged", "type": "event" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__633abef9", + "type": "bytes8" + } + ], + "name": "c_633abef9", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f395fef5", + "type": "bytes8" + } + ], + "name": "c_f395fef5", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__633abef9", + "type": "bytes8" + } + ], + "name": "c_false633abef9", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f395fef5", + "type": "bytes8" + } + ], + "name": "c_falsef395fef5", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__633abef9", + "type": "bytes8" + } + ], + "name": "c_true633abef9", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f395fef5", + "type": "bytes8" + } + ], + "name": "c_truef395fef5", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { diff --git a/artifacts/ENSRegistry.json b/artifacts/ENSRegistry.json index 9802719d..8096bbfd 100644 --- a/artifacts/ENSRegistry.json +++ b/artifacts/ENSRegistry.json @@ -115,6 +115,57 @@ "name": "Transfer", "type": "event" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__d1f32b86", + "type": "bytes8" + } + ], + "name": "c_d1f32b86", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__d1f32b86", + "type": "bytes8" + } + ], + "name": "c_falsed1f32b86", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__d1f32b86", + "type": "bytes8" + } + ], + "name": "c_trued1f32b86", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { @@ -378,8 +429,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50326000808060001b815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611253806100776000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80635b0fc9c3116100715780635b0fc9c3146102b15780635ef2c7f0146102ff578063a22cb4651461038b578063cf408823146103db578063e985e9c51461045d578063f79fe538146104d7576100b4565b80630178b8bf146100b957806302571be31461011157806306ab59231461016957806314ab9038146101d557806316a25cbd146102175780631896f70a14610263575b600080fd5b6100e5600480360360208110156100cf57600080fd5b810190808035906020019092919050505061051b565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61013d6004803603602081101561012757600080fd5b810190808035906020019092919050505061055a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101bf6004803603606081101561017f57600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105dd565b6040518082815260200191505060405180910390f35b610215600480360360408110156101eb57600080fd5b8101908080359060200190929190803567ffffffffffffffff169060200190929190505050610812565b005b6102436004803603602081101561022d57600080fd5b81019080803590602001909291905050506109e6565b604051808267ffffffffffffffff16815260200191505060405180910390f35b6102af6004803603604081101561027957600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a19565b005b6102fd600480360360408110156102c757600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c11565b005b610389600480360360a081101561031557600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610e09565b005b6103d9600480360360408110156103a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610e2b565b005b61045b600480360360808110156103f157600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610f2a565b005b6104bf6004803603604081101561047357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f45565b60405180821515815260200191505060405180910390f35b610503600480360360208110156104ed57600080fd5b8101908080359060200190929190505050610fd9565b60405180821515815260200191505060405180910390f35b600080600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008060008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156105d35760009150506105d8565b809150505b919050565b600083600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614806106da5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61072f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061121b602c913960400191505060405180910390fd5b6000868660405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090508460008083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085877fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8287604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a38093505050509392505050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148061090d5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610962576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061121b602c913960400191505060405180910390fd5b8260008086815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550837f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6884604051808267ffffffffffffffff16815260200191505060405180910390a250505050565b600080600083815260200190815260200160002060010160149054906101000a900467ffffffffffffffff169050919050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610b145750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610b69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061121b602c913960400191505060405180910390fd5b8260008086815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550837f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a084604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250505050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610d0c5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610d61576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061121b602c913960400191505060405180910390fd5b8260008086815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550837fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d26684604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250505050565b6000610e168686866105dd565b9050610e23818484611047565b505050505050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b610f348484610c11565b610f3f848383611047565b50505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60008084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611152578160008085815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550827f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a083604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25b60008084815260200190815260200160002060010160149054906101000a900467ffffffffffffffff1667ffffffffffffffff168167ffffffffffffffff1614611215578060008085815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550827f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6882604051808267ffffffffffffffff16815260200191505060405180910390a25b50505056fe454e5352656769737472793a20726576657274656420627920617574686f7269736564206d6f646966696572a164736f6c634300060c000a", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80635b0fc9c3116100715780635b0fc9c3146102b15780635ef2c7f0146102ff578063a22cb4651461038b578063cf408823146103db578063e985e9c51461045d578063f79fe538146104d7576100b4565b80630178b8bf146100b957806302571be31461011157806306ab59231461016957806314ab9038146101d557806316a25cbd146102175780631896f70a14610263575b600080fd5b6100e5600480360360208110156100cf57600080fd5b810190808035906020019092919050505061051b565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61013d6004803603602081101561012757600080fd5b810190808035906020019092919050505061055a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101bf6004803603606081101561017f57600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105dd565b6040518082815260200191505060405180910390f35b610215600480360360408110156101eb57600080fd5b8101908080359060200190929190803567ffffffffffffffff169060200190929190505050610812565b005b6102436004803603602081101561022d57600080fd5b81019080803590602001909291905050506109e6565b604051808267ffffffffffffffff16815260200191505060405180910390f35b6102af6004803603604081101561027957600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a19565b005b6102fd600480360360408110156102c757600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c11565b005b610389600480360360a081101561031557600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610e09565b005b6103d9600480360360408110156103a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610e2b565b005b61045b600480360360808110156103f157600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610f2a565b005b6104bf6004803603604081101561047357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f45565b60405180821515815260200191505060405180910390f35b610503600480360360208110156104ed57600080fd5b8101908080359060200190929190505050610fd9565b60405180821515815260200191505060405180910390f35b600080600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008060008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156105d35760009150506105d8565b809150505b919050565b600083600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614806106da5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61072f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061121b602c913960400191505060405180910390fd5b6000868660405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090508460008083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085877fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8287604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a38093505050509392505050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148061090d5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610962576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061121b602c913960400191505060405180910390fd5b8260008086815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550837f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6884604051808267ffffffffffffffff16815260200191505060405180910390a250505050565b600080600083815260200190815260200160002060010160149054906101000a900467ffffffffffffffff169050919050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610b145750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610b69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061121b602c913960400191505060405180910390fd5b8260008086815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550837f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a084604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250505050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610d0c5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610d61576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061121b602c913960400191505060405180910390fd5b8260008086815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550837fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d26684604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250505050565b6000610e168686866105dd565b9050610e23818484611047565b505050505050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b610f348484610c11565b610f3f848383611047565b50505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60008084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611152578160008085815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550827f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a083604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25b60008084815260200190815260200160002060010160149054906101000a900467ffffffffffffffff1667ffffffffffffffff168167ffffffffffffffff1614611215578060008085815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550827f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6882604051808267ffffffffffffffff16815260200191505060405180910390a25b50505056fe454e5352656769737472793a20726576657274656420627920617574686f7269736564206d6f646966696572a164736f6c634300060c000a", + "bytecode": "0x608060405234801561001057600080fd5b5061002b6736c8e9480155531e60c01b6100a160201b60201c565b61004567cb111d834975039760c01b6100a160201b60201c565b326000808060001b815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506100a4565b50565b611d5c806100b36000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80635ef2c7f011610097578063bfc17ff611610066578063bfc17ff6146104c4578063cf40882314610523578063e985e9c5146105a5578063f79fe5381461061f576100f5565b80635ef2c7f01461034057806365c05305146103cc578063751f4fce1461042b578063a22cb46514610474576100f5565b806314ab9038116100d357806314ab90381461021657806316a25cbd146102585780631896f70a146102a45780635b0fc9c3146102f2576100f5565b80630178b8bf146100fa57806302571be31461015257806306ab5923146101aa575b600080fd5b6101266004803603602081101561011057600080fd5b8101908080359060200190929190505050610663565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61017e6004803603602081101561016857600080fd5b81019080803590602001909291905050506106de565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610200600480360360608110156101c057600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061083e565b6040518082815260200191505060405180910390f35b6102566004803603604081101561022c57600080fd5b8101908080359060200190929190803567ffffffffffffffff169060200190929190505050610c13565b005b6102846004803603602081101561026e57600080fd5b8101908080359060200190929190505050610f37565b604051808267ffffffffffffffff16815260200191505060405180910390f35b6102f0600480360360408110156102ba57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fa6565b005b61033e6004803603604081101561030857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ee565b005b6103ca600480360360a081101561035657600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050611636565b005b610413600480360360208110156103e257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506116bc565b60405180821515815260200191505060405180910390f35b6104726004803603602081101561044157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506116c3565b005b6104c26004803603604081101561048a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506116c6565b005b61050b600480360360208110156104da57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611815565b60405180821515815260200191505060405180910390f35b6105a36004803603608081101561053957600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050611820565b005b610607600480360360408110156105bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061189f565b60405180821515815260200191505060405180910390f35b61064b6004803603602081101561063557600080fd5b810190808035906020019092919050505061196f565b60405180821515815260200191505060405180910390f35b600061067967a91a92e3b1e6964d60c01b6116c3565b61068d67ad83c03b0635ce8660c01b6116c3565b6106a1675ffe20d6c29c0f2660c01b6116c3565b60008083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006106f4671dac06bc8af993dc60c01b6116c3565b6107086774259b69da08da8360c01b6116c3565b61071c67114165c8cbc5f0e260c01b6116c3565b600080600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061076a6733ed267e56eccf1960c01b6116c3565b61077e67060b2c72f9b534b260c01b6116c3565b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156107f8576107c667df48ee080439f57e60c01b6116c3565b6107da675e0c9b0341a2798960c01b6116c3565b6107ee6716d8c9e02790591c60c01b6116c3565b6000915050610839565b61080c67e6481328ab4613be60c01b6116c3565b61082067bfc9ecee990bd5e660c01b6116c3565b610834670e76d00bdcfa8b2660c01b6116c3565b809150505b919050565b60006108546746301080129d62c460c01b6116c3565b8361086967706fa904dea172c060c01b6116c3565b61087d67cf76ab10c9ddd21560c01b6116c3565b61089167522094c27440315e60c01b6116c3565b600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506108df67a02f5d77106563e460c01b6116c3565b6108f367f4dd7b3aca08833a60c01b6116c3565b610907675e2aab026345f06560c01b6116c3565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148015610952575061095167e31086c8d5ce86ea60c01b611815565b5b806109ff5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156109fe57506109fd6772b58f74a12a5c6760c01b611815565b5b5b610a54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611d24602c913960400191505060405180910390fd5b610a68677a10899b08faa7f360c01b6116c3565b610a7c67bb373fe3fa23200260c01b6116c3565b610a90671b0b4faa8d730f0d60c01b6116c3565b610aa4679dc2381e3d0bb5c060c01b6116c3565b610ab86794da2df0a83fbf0160c01b6116c3565b610acc673945bc0957f8e5e660c01b6116c3565b600086866040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050610b1367042906f404bfb65160c01b6116c3565b8460008083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b7b677df30e26fea4415b60c01b6116c3565b610b8f670f22a7c9dd95b7b760c01b6116c3565b85877fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8287604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a3610bf267ec9e85db7555aa4a60c01b6116c3565b610c0667364b665ccba087f160c01b6116c3565b8093505050509392505050565b610c27672b4d43abf09065c360c01b6116c3565b81610c3c67706fa904dea172c060c01b6116c3565b610c5067cf76ab10c9ddd21560c01b6116c3565b610c6467522094c27440315e60c01b6116c3565b600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610cb267a02f5d77106563e460c01b6116c3565b610cc667f4dd7b3aca08833a60c01b6116c3565b610cda675e2aab026345f06560c01b6116c3565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148015610d255750610d2467e31086c8d5ce86ea60c01b611815565b5b80610dd25750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015610dd15750610dd06772b58f74a12a5c6760c01b611815565b5b5b610e27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611d24602c913960400191505060405180910390fd5b610e3b677a10899b08faa7f360c01b6116c3565b610e4f67bb373fe3fa23200260c01b6116c3565b610e63673de8f8a23b6e5d7060c01b6116c3565b610e7767d86a23592c19405060c01b6116c3565b610e8b6795e8daa61d7de75d60c01b6116c3565b8260008086815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550610edb6774b5b8b9c3b8d5c460c01b6116c3565b610eef6763d54e793fbed22960c01b6116c3565b837f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6884604051808267ffffffffffffffff16815260200191505060405180910390a250505050565b6000610f4d674d7d38a73539dc5660c01b6116c3565b610f61675d3ffe7e1ff3b5d360c01b6116c3565b610f7567105d974893e03c6a60c01b6116c3565b60008083815260200190815260200160002060010160149054906101000a900467ffffffffffffffff169050919050565b610fba6723e07f132490a9d160c01b6116c3565b81610fcf67706fa904dea172c060c01b6116c3565b610fe367cf76ab10c9ddd21560c01b6116c3565b610ff767522094c27440315e60c01b6116c3565b600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061104567a02f5d77106563e460c01b6116c3565b61105967f4dd7b3aca08833a60c01b6116c3565b61106d675e2aab026345f06560c01b6116c3565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480156110b857506110b767e31086c8d5ce86ea60c01b611815565b5b806111655750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561116457506111636772b58f74a12a5c6760c01b611815565b5b5b6111ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611d24602c913960400191505060405180910390fd5b6111ce677a10899b08faa7f360c01b6116c3565b6111e267bb373fe3fa23200260c01b6116c3565b6111f6678d27949ed879301060c01b6116c3565b61120a67b0c05e18247a5a8060c01b6116c3565b61121e67022cb8e7fcf8e2c160c01b6116c3565b8260008086815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061128667d5df43ea9338375460c01b6116c3565b61129a678a8458b03787c9f760c01b6116c3565b837f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a084604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250505050565b611302677f782f3f1c22e8ef60c01b6116c3565b8161131767706fa904dea172c060c01b6116c3565b61132b67cf76ab10c9ddd21560c01b6116c3565b61133f67522094c27440315e60c01b6116c3565b600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061138d67a02f5d77106563e460c01b6116c3565b6113a167f4dd7b3aca08833a60c01b6116c3565b6113b5675e2aab026345f06560c01b6116c3565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614801561140057506113ff67e31086c8d5ce86ea60c01b611815565b5b806114ad5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156114ac57506114ab6772b58f74a12a5c6760c01b611815565b5b5b611502576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611d24602c913960400191505060405180910390fd5b611516677a10899b08faa7f360c01b6116c3565b61152a67bb373fe3fa23200260c01b6116c3565b61153e67b89dd9afaec2096a60c01b6116c3565b61155267bb19253879085b5f60c01b6116c3565b6115666749a0b037f6cc722f60c01b6116c3565b8260008086815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506115ce67faa3933c3e8346f460c01b6116c3565b6115e267847aca86b396fc0160c01b6116c3565b837fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d26684604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250505050565b61164a67f88f52150baac59560c01b6116c3565b61165e67b2a29dd08c9bb3c060c01b6116c3565b611672670e5fe7dc2fedb22c60c01b6116c3565b600061167f86868661083e565b905061169567fea2b112ffe9f66260c01b6116c3565b6116a967abd2fef41df14a0d60c01b6116c3565b6116b4818484611a1a565b505050505050565b6000919050565b50565b6116da67b17903bbeb444e4760c01b6116c3565b6116ee677f9022dab280f6c660c01b6116c3565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611796676456df39b9a8dcde60c01b6116c3565b6117aa67597f2972801c6c1860c01b6116c3565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b600060019050919050565b611834675cb74efcf7b4f94b60c01b6116c3565b611848678e988af9f8e57dfd60c01b6116c3565b61185c678a9f9ab2e51d3dfc60c01b6116c3565b61186684846112ee565b61187a67d690fb1171a8a39460c01b6116c3565b61188e6795e8b780995311da60c01b6116c3565b611899848383611a1a565b50505050565b60006118b5674c96849f2f11d16f60c01b6116c3565b6118c9675c85d148057adfc760c01b6116c3565b6118dd675463f54b290c378460c01b6116c3565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600061198567d2eb6228dc3434b860c01b6116c3565b61199967c8925a4659a55e2360c01b6116c3565b6119ad676c42fb1c0510629c60c01b6116c3565b600073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b611a2e675011b0a91f27726960c01b6116c3565b611a4267d7f40713044ecddf60c01b6116c3565b611a5667177444d8941447b360c01b6116c3565b60008084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611bb557611ad267720a9d94dd7b426860c01b6116c3565b611ae667eadc6e58b51eaf6c60c01b6116c3565b8160008085815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611b4e679433de5066f024ad60c01b6116c3565b611b6267026733b077e3f01160c01b6116c3565b827f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a083604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a2611bca565b611bc967b671c5abe4a8865160c01b6116c3565b5b611bde67b1449d9ae72db83c60c01b6116c3565b611bf267df7e552f1e3df70e60c01b6116c3565b60008084815260200190815260200160002060010160149054906101000a900467ffffffffffffffff1667ffffffffffffffff168167ffffffffffffffff1614611d0957611c4a67a0fc58a9d736e60360c01b6116c3565b611c5e67ecce33337b56dff760c01b6116c3565b8060008085815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550611cae67fb4c10d0982e412f60c01b6116c3565b611cc26739c620525670447060c01b6116c3565b827f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6882604051808267ffffffffffffffff16815260200191505060405180910390a2611d1e565b611d1d6759e493318464c1f160c01b6116c3565b5b50505056fe454e5352656769737472793a20726576657274656420627920617574686f7269736564206d6f646966696572a164736f6c634300060c000a", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80635ef2c7f011610097578063bfc17ff611610066578063bfc17ff6146104c4578063cf40882314610523578063e985e9c5146105a5578063f79fe5381461061f576100f5565b80635ef2c7f01461034057806365c05305146103cc578063751f4fce1461042b578063a22cb46514610474576100f5565b806314ab9038116100d357806314ab90381461021657806316a25cbd146102585780631896f70a146102a45780635b0fc9c3146102f2576100f5565b80630178b8bf146100fa57806302571be31461015257806306ab5923146101aa575b600080fd5b6101266004803603602081101561011057600080fd5b8101908080359060200190929190505050610663565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61017e6004803603602081101561016857600080fd5b81019080803590602001909291905050506106de565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610200600480360360608110156101c057600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061083e565b6040518082815260200191505060405180910390f35b6102566004803603604081101561022c57600080fd5b8101908080359060200190929190803567ffffffffffffffff169060200190929190505050610c13565b005b6102846004803603602081101561026e57600080fd5b8101908080359060200190929190505050610f37565b604051808267ffffffffffffffff16815260200191505060405180910390f35b6102f0600480360360408110156102ba57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fa6565b005b61033e6004803603604081101561030857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ee565b005b6103ca600480360360a081101561035657600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050611636565b005b610413600480360360208110156103e257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506116bc565b60405180821515815260200191505060405180910390f35b6104726004803603602081101561044157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506116c3565b005b6104c26004803603604081101561048a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506116c6565b005b61050b600480360360208110156104da57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611815565b60405180821515815260200191505060405180910390f35b6105a36004803603608081101561053957600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050611820565b005b610607600480360360408110156105bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061189f565b60405180821515815260200191505060405180910390f35b61064b6004803603602081101561063557600080fd5b810190808035906020019092919050505061196f565b60405180821515815260200191505060405180910390f35b600061067967a91a92e3b1e6964d60c01b6116c3565b61068d67ad83c03b0635ce8660c01b6116c3565b6106a1675ffe20d6c29c0f2660c01b6116c3565b60008083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006106f4671dac06bc8af993dc60c01b6116c3565b6107086774259b69da08da8360c01b6116c3565b61071c67114165c8cbc5f0e260c01b6116c3565b600080600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061076a6733ed267e56eccf1960c01b6116c3565b61077e67060b2c72f9b534b260c01b6116c3565b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156107f8576107c667df48ee080439f57e60c01b6116c3565b6107da675e0c9b0341a2798960c01b6116c3565b6107ee6716d8c9e02790591c60c01b6116c3565b6000915050610839565b61080c67e6481328ab4613be60c01b6116c3565b61082067bfc9ecee990bd5e660c01b6116c3565b610834670e76d00bdcfa8b2660c01b6116c3565b809150505b919050565b60006108546746301080129d62c460c01b6116c3565b8361086967706fa904dea172c060c01b6116c3565b61087d67cf76ab10c9ddd21560c01b6116c3565b61089167522094c27440315e60c01b6116c3565b600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506108df67a02f5d77106563e460c01b6116c3565b6108f367f4dd7b3aca08833a60c01b6116c3565b610907675e2aab026345f06560c01b6116c3565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148015610952575061095167e31086c8d5ce86ea60c01b611815565b5b806109ff5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156109fe57506109fd6772b58f74a12a5c6760c01b611815565b5b5b610a54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611d24602c913960400191505060405180910390fd5b610a68677a10899b08faa7f360c01b6116c3565b610a7c67bb373fe3fa23200260c01b6116c3565b610a90671b0b4faa8d730f0d60c01b6116c3565b610aa4679dc2381e3d0bb5c060c01b6116c3565b610ab86794da2df0a83fbf0160c01b6116c3565b610acc673945bc0957f8e5e660c01b6116c3565b600086866040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050610b1367042906f404bfb65160c01b6116c3565b8460008083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b7b677df30e26fea4415b60c01b6116c3565b610b8f670f22a7c9dd95b7b760c01b6116c3565b85877fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8287604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a3610bf267ec9e85db7555aa4a60c01b6116c3565b610c0667364b665ccba087f160c01b6116c3565b8093505050509392505050565b610c27672b4d43abf09065c360c01b6116c3565b81610c3c67706fa904dea172c060c01b6116c3565b610c5067cf76ab10c9ddd21560c01b6116c3565b610c6467522094c27440315e60c01b6116c3565b600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610cb267a02f5d77106563e460c01b6116c3565b610cc667f4dd7b3aca08833a60c01b6116c3565b610cda675e2aab026345f06560c01b6116c3565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148015610d255750610d2467e31086c8d5ce86ea60c01b611815565b5b80610dd25750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015610dd15750610dd06772b58f74a12a5c6760c01b611815565b5b5b610e27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611d24602c913960400191505060405180910390fd5b610e3b677a10899b08faa7f360c01b6116c3565b610e4f67bb373fe3fa23200260c01b6116c3565b610e63673de8f8a23b6e5d7060c01b6116c3565b610e7767d86a23592c19405060c01b6116c3565b610e8b6795e8daa61d7de75d60c01b6116c3565b8260008086815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550610edb6774b5b8b9c3b8d5c460c01b6116c3565b610eef6763d54e793fbed22960c01b6116c3565b837f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6884604051808267ffffffffffffffff16815260200191505060405180910390a250505050565b6000610f4d674d7d38a73539dc5660c01b6116c3565b610f61675d3ffe7e1ff3b5d360c01b6116c3565b610f7567105d974893e03c6a60c01b6116c3565b60008083815260200190815260200160002060010160149054906101000a900467ffffffffffffffff169050919050565b610fba6723e07f132490a9d160c01b6116c3565b81610fcf67706fa904dea172c060c01b6116c3565b610fe367cf76ab10c9ddd21560c01b6116c3565b610ff767522094c27440315e60c01b6116c3565b600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061104567a02f5d77106563e460c01b6116c3565b61105967f4dd7b3aca08833a60c01b6116c3565b61106d675e2aab026345f06560c01b6116c3565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480156110b857506110b767e31086c8d5ce86ea60c01b611815565b5b806111655750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561116457506111636772b58f74a12a5c6760c01b611815565b5b5b6111ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611d24602c913960400191505060405180910390fd5b6111ce677a10899b08faa7f360c01b6116c3565b6111e267bb373fe3fa23200260c01b6116c3565b6111f6678d27949ed879301060c01b6116c3565b61120a67b0c05e18247a5a8060c01b6116c3565b61121e67022cb8e7fcf8e2c160c01b6116c3565b8260008086815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061128667d5df43ea9338375460c01b6116c3565b61129a678a8458b03787c9f760c01b6116c3565b837f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a084604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250505050565b611302677f782f3f1c22e8ef60c01b6116c3565b8161131767706fa904dea172c060c01b6116c3565b61132b67cf76ab10c9ddd21560c01b6116c3565b61133f67522094c27440315e60c01b6116c3565b600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061138d67a02f5d77106563e460c01b6116c3565b6113a167f4dd7b3aca08833a60c01b6116c3565b6113b5675e2aab026345f06560c01b6116c3565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614801561140057506113ff67e31086c8d5ce86ea60c01b611815565b5b806114ad5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156114ac57506114ab6772b58f74a12a5c6760c01b611815565b5b5b611502576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611d24602c913960400191505060405180910390fd5b611516677a10899b08faa7f360c01b6116c3565b61152a67bb373fe3fa23200260c01b6116c3565b61153e67b89dd9afaec2096a60c01b6116c3565b61155267bb19253879085b5f60c01b6116c3565b6115666749a0b037f6cc722f60c01b6116c3565b8260008086815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506115ce67faa3933c3e8346f460c01b6116c3565b6115e267847aca86b396fc0160c01b6116c3565b837fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d26684604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250505050565b61164a67f88f52150baac59560c01b6116c3565b61165e67b2a29dd08c9bb3c060c01b6116c3565b611672670e5fe7dc2fedb22c60c01b6116c3565b600061167f86868661083e565b905061169567fea2b112ffe9f66260c01b6116c3565b6116a967abd2fef41df14a0d60c01b6116c3565b6116b4818484611a1a565b505050505050565b6000919050565b50565b6116da67b17903bbeb444e4760c01b6116c3565b6116ee677f9022dab280f6c660c01b6116c3565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611796676456df39b9a8dcde60c01b6116c3565b6117aa67597f2972801c6c1860c01b6116c3565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b600060019050919050565b611834675cb74efcf7b4f94b60c01b6116c3565b611848678e988af9f8e57dfd60c01b6116c3565b61185c678a9f9ab2e51d3dfc60c01b6116c3565b61186684846112ee565b61187a67d690fb1171a8a39460c01b6116c3565b61188e6795e8b780995311da60c01b6116c3565b611899848383611a1a565b50505050565b60006118b5674c96849f2f11d16f60c01b6116c3565b6118c9675c85d148057adfc760c01b6116c3565b6118dd675463f54b290c378460c01b6116c3565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600061198567d2eb6228dc3434b860c01b6116c3565b61199967c8925a4659a55e2360c01b6116c3565b6119ad676c42fb1c0510629c60c01b6116c3565b600073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b611a2e675011b0a91f27726960c01b6116c3565b611a4267d7f40713044ecddf60c01b6116c3565b611a5667177444d8941447b360c01b6116c3565b60008084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611bb557611ad267720a9d94dd7b426860c01b6116c3565b611ae667eadc6e58b51eaf6c60c01b6116c3565b8160008085815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611b4e679433de5066f024ad60c01b6116c3565b611b6267026733b077e3f01160c01b6116c3565b827f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a083604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a2611bca565b611bc967b671c5abe4a8865160c01b6116c3565b5b611bde67b1449d9ae72db83c60c01b6116c3565b611bf267df7e552f1e3df70e60c01b6116c3565b60008084815260200190815260200160002060010160149054906101000a900467ffffffffffffffff1667ffffffffffffffff168167ffffffffffffffff1614611d0957611c4a67a0fc58a9d736e60360c01b6116c3565b611c5e67ecce33337b56dff760c01b6116c3565b8060008085815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550611cae67fb4c10d0982e412f60c01b6116c3565b611cc26739c620525670447060c01b6116c3565b827f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6882604051808267ffffffffffffffff16815260200191505060405180910390a2611d1e565b611d1d6759e493318464c1f160c01b6116c3565b5b50505056fe454e5352656769737472793a20726576657274656420627920617574686f7269736564206d6f646966696572a164736f6c634300060c000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/ENSReverseRegistrar.json b/artifacts/ENSReverseRegistrar.json index efab17a9..24d18705 100644 --- a/artifacts/ENSReverseRegistrar.json +++ b/artifacts/ENSReverseRegistrar.json @@ -34,6 +34,108 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_098c0657", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__c9f97d2d", + "type": "bytes8" + } + ], + "name": "c_c9f97d2d", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_false098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__c9f97d2d", + "type": "bytes8" + } + ], + "name": "c_falsec9f97d2d", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_true098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__c9f97d2d", + "type": "bytes8" + } + ], + "name": "c_truec9f97d2d", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { @@ -173,8 +275,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610df8806100606000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063485cc95511610066578063485cc955146101bc5780637b103999146102205780637cf8a2eb14610254578063bffbe61c14610272578063c47f0027146102ca57610093565b806304f3bcec146100985780630f5a5466146100cc5780631e83409a14610144578063392e53cd1461019c575b600080fd5b6100a0610399565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61012e600480360360408110156100e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103bf565b6040518082815260200191505060405180910390f35b6101866004803603602081101561015a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103d3565b6040518082815260200191505060405180910390f35b6101a46103e7565b60405180821515815260200191505060405180910390f35b61021e600480360360408110156101d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061043d565b005b6102286105f5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61025c61061b565b6040518082815260200191505060405180910390f35b6102b46004803603602081101561028857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610642565b6040518082815260200191505060405180910390f35b610383600480360360208110156102e057600080fd5b81019080803590602001906401000000008111156102fd57600080fd5b82018360208201111561030f57600080fd5b8035906020019184600183028401116401000000008311171561033157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506106bb565b6040518082815260200191505060405180910390f35b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006103cb83836107ef565b905092915050565b60006103e08260006107ef565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146104e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180610dbd602f913960400191505060405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b81565b60007f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b6106878373ffffffffffffffffffffffffffffffffffffffff16610d4d565b6040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b6000806106ea30600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166107ef565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637737221382856040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610781578082015181840152602081019050610766565b50505050905090810190601f1680156107ae5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156107ce57600080fd5b505af11580156107e2573d6000803e3d6000fd5b5050505080915050919050565b6000806108113373ffffffffffffffffffffffffffffffffffffffff16610d4d565b905060007f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b8260405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d602081101561090857600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015610a315750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156109c657600080fd5b505afa1580156109da573d6000803e3d6000fd5b505050506040513d60208110156109f057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15610c13573073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b6757600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59237f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b85306040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015610b2757600080fd5b505af1158015610b3b573d6000803e3d6000fd5b505050506040513d6020811015610b5157600080fd5b8101908080519060200190929190505050503090505b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a83876040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015610bfa57600080fd5b505af1158015610c0e573d6000803e3d6000fd5b505050505b8573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610d4157600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59237f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b85896040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015610d0457600080fd5b505af1158015610d18573d6000803e3d6000fd5b505050506040513d6020811015610d2e57600080fd5b8101908080519060200190929190505050505b81935050505092915050565b6000807f303132333435363738396162636465660000000000000000000000000000000060285b6000811115610daa5760018103905081600f86161a815360108504945060018103905081600f86161a8153601085049450610d74565b5060286000209150508091505091905056fe496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a6572a164736f6c634300060c000a", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063485cc95511610066578063485cc955146101bc5780637b103999146102205780637cf8a2eb14610254578063bffbe61c14610272578063c47f0027146102ca57610093565b806304f3bcec146100985780630f5a5466146100cc5780631e83409a14610144578063392e53cd1461019c575b600080fd5b6100a0610399565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61012e600480360360408110156100e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103bf565b6040518082815260200191505060405180910390f35b6101866004803603602081101561015a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103d3565b6040518082815260200191505060405180910390f35b6101a46103e7565b60405180821515815260200191505060405180910390f35b61021e600480360360408110156101d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061043d565b005b6102286105f5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61025c61061b565b6040518082815260200191505060405180910390f35b6102b46004803603602081101561028857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610642565b6040518082815260200191505060405180910390f35b610383600480360360208110156102e057600080fd5b81019080803590602001906401000000008111156102fd57600080fd5b82018360208201111561030f57600080fd5b8035906020019184600183028401116401000000008311171561033157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506106bb565b6040518082815260200191505060405180910390f35b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006103cb83836107ef565b905092915050565b60006103e08260006107ef565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146104e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180610dbd602f913960400191505060405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b81565b60007f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b6106878373ffffffffffffffffffffffffffffffffffffffff16610d4d565b6040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b6000806106ea30600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166107ef565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637737221382856040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610781578082015181840152602081019050610766565b50505050905090810190601f1680156107ae5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156107ce57600080fd5b505af11580156107e2573d6000803e3d6000fd5b5050505080915050919050565b6000806108113373ffffffffffffffffffffffffffffffffffffffff16610d4d565b905060007f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b8260405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d602081101561090857600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015610a315750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156109c657600080fd5b505afa1580156109da573d6000803e3d6000fd5b505050506040513d60208110156109f057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15610c13573073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b6757600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59237f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b85306040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015610b2757600080fd5b505af1158015610b3b573d6000803e3d6000fd5b505050506040513d6020811015610b5157600080fd5b8101908080519060200190929190505050503090505b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a83876040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015610bfa57600080fd5b505af1158015610c0e573d6000803e3d6000fd5b505050505b8573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610d4157600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59237f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b85896040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015610d0457600080fd5b505af1158015610d18573d6000803e3d6000fd5b505050506040513d6020811015610d2e57600080fd5b8101908080519060200190929190505050505b81935050505092915050565b6000807f303132333435363738396162636465660000000000000000000000000000000060285b6000811115610daa5760018103905081600f86161a815360108504945060018103905081600f86161a8153601085049450610d74565b5060286000209150508091505091905056fe496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a6572a164736f6c634300060c000a", + "bytecode": "0x608060405234801561001057600080fd5b5061002b67bcc9be562f8a4b0a60c01b6100a460201b60201c565b61004567579ae7209daca85260c01b6100a460201b60201c565b326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061009f67a399ebea09360d3560c01b6100a760201b60201c565b6100aa565b50565b50565b6115e3806100b96000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80634d29954811610097578063c454330511610066578063c45433051461041d578063c47f00271461047c578063c74348c01461054b578063d84fa10c146105aa576100f5565b80634d299548146103145780637b103999146103735780637cf8a2eb146103a7578063bffbe61c146103c5576100f5565b80631e83409a116100d35780631e83409a146101ef578063392e53cd146102475780633e260b1314610267578063485cc955146102b0576100f5565b806304f3bcec146100fa578063061e6a5a1461012e5780630f5a546614610177575b600080fd5b610102610609565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101756004803603602081101561014457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061062f565b005b6101d96004803603604081101561018d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610632565b6040518082815260200191505060405180910390f35b6102316004803603602081101561020557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610682565b6040518082815260200191505060405180910390f35b61024f6106d1565b60405180821515815260200191505060405180910390f35b6102ae6004803603602081101561027d57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610764565b005b610312600480360360408110156102c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610767565b005b61035b6004803603602081101561032a57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610a37565b60405180821515815260200191505060405180910390f35b61037b610a3e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103af610a64565b6040518082815260200191505060405180910390f35b610407600480360360208110156103db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a8b565b6040518082815260200191505060405180910390f35b6104646004803603602081101561043357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b40565b60405180821515815260200191505060405180910390f35b6105356004803603602081101561049257600080fd5b81019080803590602001906401000000008111156104af57600080fd5b8201836020820111156104c157600080fd5b803590602001918460018302840111640100000000831117156104e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610b4b565b6040518082815260200191505060405180910390f35b6105926004803603602081101561056157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610d0c565b60405180821515815260200191505060405180910390f35b6105f1600480360360208110156105c057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610d17565b60405180821515815260200191505060405180910390f35b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b50565b6000610648678d9a4ac5f4e4e48460c01b61062f565b61065c67d5715caf8f5a00af60c01b61062f565b610670678b87148bdb43cd2760c01b61062f565b61067a8383610d1e565b905092915050565b600061069867802b7699dc38571c60c01b61062f565b6106ab66af07c42e64946260c01b61062f565b6106bf67e2d84fe002c08a8960c01b61062f565b6106ca826000610d1e565b9050919050565b60006106e767e29fe2f351ca6b2760c01b610764565b6106fb676f5dd3f08b97747760c01b610764565b61070f673a9488d62818322a60c01b610764565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b61077b676e55433e10791d8960c01b61062f565b61078f67d2ba19feb39e0b7f60c01b610764565b6107a3670c5ad53cdb9edd1560c01b610764565b6107b767b6b588d2ebb9ae6960c01b610764565b6107cb67c4ec9a90a885875260c01b610764565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161461086f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806115a8602f913960400191505060405180910390fd5b61088367c3785ba1534db95460c01b610764565b61089767e4202927591248ef60c01b610764565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108ec67531cfa2817fbdc8660c01b610764565b61090067beff9d01c8e116a160c01b61062f565b610914678dad54bf39b6933060c01b61062f565b6109286782d24218338e77e360c01b61062f565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061097d673be3b5afe55773f460c01b61062f565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506109d26701520f419008b58e60c01b610764565b6109e66775364c04848b013b60c01b610764565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b6000919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b81565b6000610aa167d6bca8f1ea738a1f60c01b61062f565b610ab5670c71bc050b17c4c160c01b61062f565b610ac96785b58abe0136c50060c01b61062f565b7f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b610b0c8373ffffffffffffffffffffffffffffffffffffffff166114bc565b6040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b600060019050919050565b6000610b6167c6387bb33702f25760c01b61062f565b610b7567f52dc71539f8371f60c01b61062f565b610b896795e699f5c471f2c160c01b61062f565b6000610bb730600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d1e565b9050610bcd67a6bc90be77a4c25f60c01b61062f565b610be1671d56c946afa642cc60c01b61062f565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637737221382856040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610c76578082015181840152602081019050610c5b565b50505050905090810190601f168015610ca35780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015610cc357600080fd5b505af1158015610cd7573d6000803e3d6000fd5b50505050610cef673ea2fa6739acc47a60c01b61062f565b610d0367179612b7219546fa60c01b61062f565b80915050919050565b600060019050919050565b6000919050565b6000610d34678fba7687037ff0ab60c01b61062f565b610d4867326f99af0097bd8d60c01b61062f565b610d5c67f93a3c734b04a2b860c01b61062f565b6000610d7d3373ffffffffffffffffffffffffffffffffffffffff166114bc565b9050610d93675777d3f0b5168a0260c01b61062f565b610da7677169c6b776203e3260c01b61062f565b60007f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b826040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050610e11677372572d8a0bbee560c01b61062f565b610e2567670f6de6440f899e60c01b61062f565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610e9a57600080fd5b505afa158015610eae573d6000803e3d6000fd5b505050506040513d6020811015610ec457600080fd5b81019080805190602001909291905050509050610eeb67af10598235b6e68b60c01b61062f565b610eff67b6df3587186b09b660c01b61062f565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156110155750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610faa57600080fd5b505afa158015610fbe573d6000803e3d6000fd5b505050506040513d6020811015610fd457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156112c85761102e670a8b5142cbf3031c60c01b61062f565b611042673e693fc91f3b56ee60c01b61062f565b611056674284a8fe6ce6242060c01b61062f565b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146111db5761109d67f32eec28915eb55760c01b61062f565b6110b167215c62d59a05704560c01b61062f565b6110c5674b022e8bc635788c60c01b61062f565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59237f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b85306040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b15801561118357600080fd5b505af1158015611197573d6000803e3d6000fd5b505050506040513d60208110156111ad57600080fd5b8101908080519060200190929190505050506111d367330e13943653410e60c01b61062f565b3090506111f0565b6111ef6796e8a699f95f13e260c01b61062f565b5b61120467ee2823989b48738560c01b61062f565b611218679ebccdd2975f0bab60c01b61062f565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a83876040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156112ab57600080fd5b505af11580156112bf573d6000803e3d6000fd5b505050506112dd565b6112dc674921cfe0d7ebef4060c01b61062f565b5b6112f167720b3121f3f8e3ed60c01b61062f565b61130567adb69e3621680edb60c01b61062f565b8573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146114735761134c67f7b8e5484c481e9860c01b61062f565b61136067f0d42aabdb004ef760c01b61062f565b6113746706d054ec7ccf763c60c01b61062f565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59237f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b85896040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b15801561143257600080fd5b505af1158015611446573d6000803e3d6000fd5b505050506040513d602081101561145c57600080fd5b810190808051906020019092919050505050611488565b61148767b887de50faa5c22160c01b61062f565b5b61149c677fdd0f0a45805bcb60c01b61062f565b6114b067a7ee6975b58644a060c01b61062f565b81935050505092915050565b60006114d26749944f65c73f543d60c01b6115a4565b6114e6672e77f887ba8052d460c01b6115a4565b6114fa676cfd017771fa3bc760c01b6115a4565b6000611510679a313554b743bb2a60c01b6115a4565b7f303132333435363738396162636465660000000000000000000000000000000060285b600081111561156a5760018103905081600f86161a815360108504945060018103905081600f86161a8153601085049450611534565b50602860002091505061158767063a805e66eb937260c01b6115a4565b61159b67337071d34726b2ac60c01b6115a4565b80915050919050565b5056fe496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a6572a164736f6c634300060c000a", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80634d29954811610097578063c454330511610066578063c45433051461041d578063c47f00271461047c578063c74348c01461054b578063d84fa10c146105aa576100f5565b80634d299548146103145780637b103999146103735780637cf8a2eb146103a7578063bffbe61c146103c5576100f5565b80631e83409a116100d35780631e83409a146101ef578063392e53cd146102475780633e260b1314610267578063485cc955146102b0576100f5565b806304f3bcec146100fa578063061e6a5a1461012e5780630f5a546614610177575b600080fd5b610102610609565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101756004803603602081101561014457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061062f565b005b6101d96004803603604081101561018d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610632565b6040518082815260200191505060405180910390f35b6102316004803603602081101561020557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610682565b6040518082815260200191505060405180910390f35b61024f6106d1565b60405180821515815260200191505060405180910390f35b6102ae6004803603602081101561027d57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610764565b005b610312600480360360408110156102c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610767565b005b61035b6004803603602081101561032a57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610a37565b60405180821515815260200191505060405180910390f35b61037b610a3e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103af610a64565b6040518082815260200191505060405180910390f35b610407600480360360208110156103db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a8b565b6040518082815260200191505060405180910390f35b6104646004803603602081101561043357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b40565b60405180821515815260200191505060405180910390f35b6105356004803603602081101561049257600080fd5b81019080803590602001906401000000008111156104af57600080fd5b8201836020820111156104c157600080fd5b803590602001918460018302840111640100000000831117156104e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610b4b565b6040518082815260200191505060405180910390f35b6105926004803603602081101561056157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610d0c565b60405180821515815260200191505060405180910390f35b6105f1600480360360208110156105c057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610d17565b60405180821515815260200191505060405180910390f35b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b50565b6000610648678d9a4ac5f4e4e48460c01b61062f565b61065c67d5715caf8f5a00af60c01b61062f565b610670678b87148bdb43cd2760c01b61062f565b61067a8383610d1e565b905092915050565b600061069867802b7699dc38571c60c01b61062f565b6106ab66af07c42e64946260c01b61062f565b6106bf67e2d84fe002c08a8960c01b61062f565b6106ca826000610d1e565b9050919050565b60006106e767e29fe2f351ca6b2760c01b610764565b6106fb676f5dd3f08b97747760c01b610764565b61070f673a9488d62818322a60c01b610764565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b61077b676e55433e10791d8960c01b61062f565b61078f67d2ba19feb39e0b7f60c01b610764565b6107a3670c5ad53cdb9edd1560c01b610764565b6107b767b6b588d2ebb9ae6960c01b610764565b6107cb67c4ec9a90a885875260c01b610764565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161461086f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806115a8602f913960400191505060405180910390fd5b61088367c3785ba1534db95460c01b610764565b61089767e4202927591248ef60c01b610764565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108ec67531cfa2817fbdc8660c01b610764565b61090067beff9d01c8e116a160c01b61062f565b610914678dad54bf39b6933060c01b61062f565b6109286782d24218338e77e360c01b61062f565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061097d673be3b5afe55773f460c01b61062f565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506109d26701520f419008b58e60c01b610764565b6109e66775364c04848b013b60c01b610764565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b6000919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b81565b6000610aa167d6bca8f1ea738a1f60c01b61062f565b610ab5670c71bc050b17c4c160c01b61062f565b610ac96785b58abe0136c50060c01b61062f565b7f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b610b0c8373ffffffffffffffffffffffffffffffffffffffff166114bc565b6040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b600060019050919050565b6000610b6167c6387bb33702f25760c01b61062f565b610b7567f52dc71539f8371f60c01b61062f565b610b896795e699f5c471f2c160c01b61062f565b6000610bb730600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d1e565b9050610bcd67a6bc90be77a4c25f60c01b61062f565b610be1671d56c946afa642cc60c01b61062f565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637737221382856040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610c76578082015181840152602081019050610c5b565b50505050905090810190601f168015610ca35780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015610cc357600080fd5b505af1158015610cd7573d6000803e3d6000fd5b50505050610cef673ea2fa6739acc47a60c01b61062f565b610d0367179612b7219546fa60c01b61062f565b80915050919050565b600060019050919050565b6000919050565b6000610d34678fba7687037ff0ab60c01b61062f565b610d4867326f99af0097bd8d60c01b61062f565b610d5c67f93a3c734b04a2b860c01b61062f565b6000610d7d3373ffffffffffffffffffffffffffffffffffffffff166114bc565b9050610d93675777d3f0b5168a0260c01b61062f565b610da7677169c6b776203e3260c01b61062f565b60007f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b826040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050610e11677372572d8a0bbee560c01b61062f565b610e2567670f6de6440f899e60c01b61062f565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610e9a57600080fd5b505afa158015610eae573d6000803e3d6000fd5b505050506040513d6020811015610ec457600080fd5b81019080805190602001909291905050509050610eeb67af10598235b6e68b60c01b61062f565b610eff67b6df3587186b09b660c01b61062f565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156110155750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610faa57600080fd5b505afa158015610fbe573d6000803e3d6000fd5b505050506040513d6020811015610fd457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156112c85761102e670a8b5142cbf3031c60c01b61062f565b611042673e693fc91f3b56ee60c01b61062f565b611056674284a8fe6ce6242060c01b61062f565b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146111db5761109d67f32eec28915eb55760c01b61062f565b6110b167215c62d59a05704560c01b61062f565b6110c5674b022e8bc635788c60c01b61062f565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59237f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b85306040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b15801561118357600080fd5b505af1158015611197573d6000803e3d6000fd5b505050506040513d60208110156111ad57600080fd5b8101908080519060200190929190505050506111d367330e13943653410e60c01b61062f565b3090506111f0565b6111ef6796e8a699f95f13e260c01b61062f565b5b61120467ee2823989b48738560c01b61062f565b611218679ebccdd2975f0bab60c01b61062f565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a83876040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156112ab57600080fd5b505af11580156112bf573d6000803e3d6000fd5b505050506112dd565b6112dc674921cfe0d7ebef4060c01b61062f565b5b6112f167720b3121f3f8e3ed60c01b61062f565b61130567adb69e3621680edb60c01b61062f565b8573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146114735761134c67f7b8e5484c481e9860c01b61062f565b61136067f0d42aabdb004ef760c01b61062f565b6113746706d054ec7ccf763c60c01b61062f565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59237f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b85896040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b15801561143257600080fd5b505af1158015611446573d6000803e3d6000fd5b505050506040513d602081101561145c57600080fd5b810190808051906020019092919050505050611488565b61148767b887de50faa5c22160c01b61062f565b5b61149c677fdd0f0a45805bcb60c01b61062f565b6114b067a7ee6975b58644a060c01b61062f565b81935050505092915050565b60006114d26749944f65c73f543d60c01b6115a4565b6114e6672e77f887ba8052d460c01b6115a4565b6114fa676cfd017771fa3bc760c01b6115a4565b6000611510679a313554b743bb2a60c01b6115a4565b7f303132333435363738396162636465660000000000000000000000000000000060285b600081111561156a5760018103905081600f86161a815360108504945060018103905081600f86161a8153601085049450611534565b50602860002091505061158767063a805e66eb937260c01b6115a4565b61159b67337071d34726b2ac60c01b6115a4565b80915050919050565b5056fe496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a6572a164736f6c634300060c000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/ENSTextResolver.json b/artifacts/ENSTextResolver.json index 6f23e710..1dc2ab87 100644 --- a/artifacts/ENSTextResolver.json +++ b/artifacts/ENSTextResolver.json @@ -28,6 +28,108 @@ "name": "TextChanged", "type": "event" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__7ffc1d72", + "type": "bytes8" + } + ], + "name": "c_7ffc1d72", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f395fef5", + "type": "bytes8" + } + ], + "name": "c_f395fef5", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__7ffc1d72", + "type": "bytes8" + } + ], + "name": "c_false7ffc1d72", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f395fef5", + "type": "bytes8" + } + ], + "name": "c_falsef395fef5", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__7ffc1d72", + "type": "bytes8" + } + ], + "name": "c_true7ffc1d72", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f395fef5", + "type": "bytes8" + } + ], + "name": "c_truef395fef5", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { diff --git a/artifacts/ERC20Token.json b/artifacts/ERC20Token.json index 60718d1e..bf0a54cc 100644 --- a/artifacts/ERC20Token.json +++ b/artifacts/ERC20Token.json @@ -120,6 +120,57 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__99a47378", + "type": "bytes8" + } + ], + "name": "c_99a47378", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__99a47378", + "type": "bytes8" + } + ], + "name": "c_false99a47378", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__99a47378", + "type": "bytes8" + } + ], + "name": "c_true99a47378", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [], "name": "decimals", diff --git a/artifacts/ExternalAccountRegistry.json b/artifacts/ExternalAccountRegistry.json index 8caf5820..8da41c09 100644 --- a/artifacts/ExternalAccountRegistry.json +++ b/artifacts/ExternalAccountRegistry.json @@ -105,6 +105,57 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9570ce98", + "type": "bytes8" + } + ], + "name": "c_9570ce98", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9570ce98", + "type": "bytes8" + } + ], + "name": "c_false9570ce98", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9570ce98", + "type": "bytes8" + } + ], + "name": "c_true9570ce98", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { @@ -238,8 +289,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50610fff806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806394000b021161005b57806394000b0214610227578063bb890d3f14610255578063d543c34a146102cf578063e278cfc6146102fd57610088565b806334d323a41461008d57806359b52ef8146101115780638a3133781461017f5780638ecc1365146101e3575b600080fd5b6100f9600480360360608110156100a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610341565b60405180821515815260200191505060405180910390f35b6101676004803603606081101561012757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061040c565b60405180821515815260200191505060405180910390f35b6101cb6004803603604081101561019557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104ab565b60405180821515815260200191505060405180910390f35b610225600480360360208110156101f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061053f565b005b6102536004803603602081101561023d57600080fd5b8101908080359060200190929190505050610860565b005b6102b76004803603604081101561026b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109f1565b60405180821515815260200191505060405180910390f35b6102fb600480360360208110156102e557600080fd5b8101908080359060200190929190505050610ab1565b005b61033f6004803603602081101561031357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cb2565b005b6000610403826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610eb190919063ffffffff16565b90509392505050565b60006104a2826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610eb190919063ffffffff16565b90509392505050565b60006105376000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008481526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610f00565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156105c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180610f14602d913960400191505060405180910390fd5b61067b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610f00565b156106d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180610f6e602d913960400191505060405180910390fd5b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff02191690831515021790555060008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507f27e282f7712c5b4617277759c834b86d163dfc1aad25c8c3c5926a1c9e5644683382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b6108ea6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008381526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610f00565b61093f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610fc7602c913960400191505060405180910390fd5b436000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000838152602001908152602001600020600101819055507f87dde712783ad4895642c7a875998317a71cf424a2444eb79545ce3795431ff93382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b6000610aa96000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610f00565b905092915050565b610b3b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008381526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610f00565b15610b91576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180610f41602d913960400191505060405180910390fd5b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600083815260200190815260200160002060000160006101000a81548160ff02191690831515021790555060008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000838152602001908152602001600020600101819055507f4075b367eed0513a54aa39c287c66d6ae98e5df6f73ac087b26b8f89d05d1aa83382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b610d686000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610f00565b610dbd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610f9b602c913960400191505060405180910390fd5b436000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507f1ce3cbbc43ee231e5b950332f2b0b9dd7d349291a3ee411ce5c5c7ed745661bb3382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b60008060009050836000015115610ef657600084602001511415610ed85760019050610ef5565b6000831415610eea5760019050610ef4565b8284602001511190505b5b5b8091505092915050565b6000610f0c8243610eb1565b905091905056fe45787465726e616c4163636f756e7452656769737472793a2063616e6e6f742061646420307830206f776e657245787465726e616c4163636f756e7452656769737472793a2070726f6f6620616c72656164792065786973747345787465726e616c4163636f756e7452656769737472793a206f776e657220616c72656164792065786973747345787465726e616c4163636f756e7452656769737472793a206f776e657220646f65736e277420657869737445787465726e616c4163636f756e7452656769737472793a2070726f6f6620646f65736e2774206578697374a164736f6c634300060c000a", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806394000b021161005b57806394000b0214610227578063bb890d3f14610255578063d543c34a146102cf578063e278cfc6146102fd57610088565b806334d323a41461008d57806359b52ef8146101115780638a3133781461017f5780638ecc1365146101e3575b600080fd5b6100f9600480360360608110156100a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610341565b60405180821515815260200191505060405180910390f35b6101676004803603606081101561012757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061040c565b60405180821515815260200191505060405180910390f35b6101cb6004803603604081101561019557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104ab565b60405180821515815260200191505060405180910390f35b610225600480360360208110156101f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061053f565b005b6102536004803603602081101561023d57600080fd5b8101908080359060200190929190505050610860565b005b6102b76004803603604081101561026b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109f1565b60405180821515815260200191505060405180910390f35b6102fb600480360360208110156102e557600080fd5b8101908080359060200190929190505050610ab1565b005b61033f6004803603602081101561031357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cb2565b005b6000610403826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610eb190919063ffffffff16565b90509392505050565b60006104a2826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610eb190919063ffffffff16565b90509392505050565b60006105376000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008481526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610f00565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156105c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180610f14602d913960400191505060405180910390fd5b61067b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610f00565b156106d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180610f6e602d913960400191505060405180910390fd5b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff02191690831515021790555060008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507f27e282f7712c5b4617277759c834b86d163dfc1aad25c8c3c5926a1c9e5644683382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b6108ea6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008381526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610f00565b61093f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610fc7602c913960400191505060405180910390fd5b436000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000838152602001908152602001600020600101819055507f87dde712783ad4895642c7a875998317a71cf424a2444eb79545ce3795431ff93382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b6000610aa96000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610f00565b905092915050565b610b3b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008381526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610f00565b15610b91576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180610f41602d913960400191505060405180910390fd5b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600083815260200190815260200160002060000160006101000a81548160ff02191690831515021790555060008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000838152602001908152602001600020600101819055507f4075b367eed0513a54aa39c287c66d6ae98e5df6f73ac087b26b8f89d05d1aa83382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b610d686000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610f00565b610dbd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610f9b602c913960400191505060405180910390fd5b436000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507f1ce3cbbc43ee231e5b950332f2b0b9dd7d349291a3ee411ce5c5c7ed745661bb3382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b60008060009050836000015115610ef657600084602001511415610ed85760019050610ef5565b6000831415610eea5760019050610ef4565b8284602001511190505b5b5b8091505092915050565b6000610f0c8243610eb1565b905091905056fe45787465726e616c4163636f756e7452656769737472793a2063616e6e6f742061646420307830206f776e657245787465726e616c4163636f756e7452656769737472793a2070726f6f6620616c72656164792065786973747345787465726e616c4163636f756e7452656769737472793a206f776e657220616c72656164792065786973747345787465726e616c4163636f756e7452656769737472793a206f776e657220646f65736e277420657869737445787465726e616c4163636f756e7452656769737472793a2070726f6f6620646f65736e2774206578697374a164736f6c634300060c000a", + "bytecode": "0x608060405234801561001057600080fd5b506116e1806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80638a313378116100715780638a313378146102a75780638ecc13651461030b57806394000b021461034f578063bb890d3f1461037d578063d543c34a146103f7578063e278cfc614610425576100a9565b806313c5d3d6146100ae5780632dd5e43b146100f757806334d323a414610156578063521a6d99146101da57806359b52ef814610239575b600080fd5b6100f5600480360360208110156100c457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610469565b005b61013e6004803603602081101561010d57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061046c565b60405180821515815260200191505060405180910390f35b6101c26004803603606081101561016c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610473565b60405180821515815260200191505060405180910390f35b610221600480360360208110156101f057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061057a565b60405180821515815260200191505060405180910390f35b61028f6004803603606081101561024f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610585565b60405180821515815260200191505060405180910390f35b6102f3600480360360408110156102bd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610660565b60405180821515815260200191505060405180910390f35b61034d6004803603602081101561032157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610730565b005b61037b6004803603602081101561036557600080fd5b8101908080359060200190929190505050610b55565b005b6103df6004803603604081101561039357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d86565b60405180821515815260200191505060405180910390f35b6104236004803603602081101561040d57600080fd5b8101908080359060200190929190505050610e82565b005b6104676004803603602081101561043b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611137565b005b50565b6000919050565b60006104896712aee2a4234e213b60c01b610469565b61049d677f608f86d5ed81d060c01b610469565b6104b167851440c1af22630b60c01b610469565b610571826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506113d690919063ffffffff16565b90509392505050565b600060019050919050565b600061059b67b677e5dcabcfe2f660c01b610469565b6105af67cd87ea7aff21347260c01b610469565b6105c3679b34ee18ce08f67a60c01b610469565b610657826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506113d690919063ffffffff16565b90509392505050565b600061067667f4ac95286becf70260c01b610469565b61068a6786eaaf2ebb14eef160c01b610469565b61069e6727010fec581f679c60c01b610469565b6107286000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008481526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506115a3565b905092915050565b61074467f277242d0eb3a10360c01b610469565b61075867349a5dbd9608c67260c01b610469565b61076c67d8778712b69c370460c01b610469565b6107806779f0022f3961a6a560c01b610469565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610806576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001806115f6602d913960400191505060405180910390fd5b61081a67aa9935183f39be2760c01b610469565b61082e6732a7a8ca89eb668b60c01b610469565b610842671c75b5ac280b25d560c01b610469565b61085667f5c43a38f8aaa7ce60c01b610469565b61090c6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506115a3565b15610962576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611650602d913960400191505060405180910390fd5b61097667cb4e32d30cb58f8860c01b610469565b61098a673d458051ca59d16c60c01b610469565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff021916908315150217905550610a38676c020d93a455334f60c01b610469565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550610ad3675e067bbb4241b70e60c01b610469565b610ae7670a1cefa15605c64860c01b610469565b7f27e282f7712c5b4617277759c834b86d163dfc1aad25c8c3c5926a1c9e5644683382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b610b696731dd5d8e4a5787f560c01b610469565b610b7d679152dbe667f7fffa60c01b610469565b610b9167f82f8a54bc2852fe60c01b610469565b610ba567f2a3fac993b2ca5b60c01b610469565b610c2f6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008381526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506115a3565b610c84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806116a9602c913960400191505060405180910390fd5b610c9867dd541600e96ab23d60c01b610469565b610cac6733f4e10bff763a2060c01b610469565b436000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600083815260200190815260200160002060010181905550610d1a673f4a3f61667843d860c01b610469565b610d2e67ee08162d1a1a76b560c01b610469565b7f87dde712783ad4895642c7a875998317a71cf424a2444eb79545ce3795431ff93382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b6000610d9c67cf11ce1aab4e2dd660c01b610469565b610db067150bddeb94658af360c01b610469565b610dc467bfbdaa54aa93969660c01b610469565b610e7a6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506115a3565b905092915050565b610e96673452968867b7db5e60c01b610469565b610eaa676cf088855730131a60c01b610469565b610ebe67cc56d769a632b81660c01b610469565b610ed2674395cfaf0f7bc35a60c01b610469565b610f5c6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008381526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506115a3565b15610fb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611623602d913960400191505060405180910390fd5b610fc6676295cb0ac9bf889960c01b610469565b610fda67585cbcf2bfe4569f60c01b610469565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600083815260200190815260200160002060000160006101000a81548160ff02191690831515021790555061105c6713473460f014e9a660c01b610469565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000838152602001908152602001600020600101819055506110cb677b5d22bf58f1654760c01b610469565b6110df6716be8639b573c58b60c01b610469565b7f4075b367eed0513a54aa39c287c66d6ae98e5df6f73ac087b26b8f89d05d1aa83382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b61114b67203984577370df2460c01b610469565b61115f67cc5e4453e3c9496860c01b610469565b6111736793a5b9a4a7fb0a9460c01b610469565b6111876772d6efaa0caace9160c01b610469565b61123d6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506115a3565b611292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061167d602c913960400191505060405180910390fd5b6112a667b2cd93d69430b42360c01b610469565b6112ba6711125f79ef0d0bb160c01b610469565b436000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555061135467b7eaa9480c8beab960c01b610469565b61136867ca228bd94735443360c01b610469565b7f1ce3cbbc43ee231e5b950332f2b0b9dd7d349291a3ee411ce5c5c7ed745661bb3382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b60006113ec679c9d1daabf83176160c01b6115f2565b611400674a60477fa1015d9d60c01b6115f2565b611414671d2dfd1cbc37881260c01b6115f2565b600061142a675c84658542d4247860c01b6115f2565b61143e676c38c63a8395bd4160c01b6115f2565b83600001511561155c5761145c673a129e7e3fa8299860c01b6115f2565b61147067d5d911350233c4aa60c01b6115f2565b6114846788aca451346a904360c01b6115f2565b6000846020015114156114c2576114a5671cab9521da0eae6e60c01b6115f2565b6114b9679a431a7af70a318b60c01b6115f2565b60019050611557565b6114d66728a02509a30cdf2f60c01b6115f2565b6114ea67a315ca16c55cdf1660c01b6115f2565b60008314156115245761150767e5e2fd7cbec5211b60c01b6115f2565b61151b676bc9eb4a60fdc77060c01b6115f2565b60019050611556565b611538670dbcda2f621ef14860c01b6115f2565b61154c67cbf2e8a46e9eb31e60c01b6115f2565b8284602001511190505b5b611571565b611570679312107b7e60296d60c01b6115f2565b5b611585676d1c114b386646c760c01b6115f2565b61159967b26d3c1cf974c30e60c01b6115f2565b8091505092915050565b60006115b9679cab3b0c44b8044060c01b6115f2565b6115cd67ca9af921644e3db460c01b6115f2565b6115e167fb2347240336566c60c01b6115f2565b6115eb82436113d6565b9050919050565b5056fe45787465726e616c4163636f756e7452656769737472793a2063616e6e6f742061646420307830206f776e657245787465726e616c4163636f756e7452656769737472793a2070726f6f6620616c72656164792065786973747345787465726e616c4163636f756e7452656769737472793a206f776e657220616c72656164792065786973747345787465726e616c4163636f756e7452656769737472793a206f776e657220646f65736e277420657869737445787465726e616c4163636f756e7452656769737472793a2070726f6f6620646f65736e2774206578697374a164736f6c634300060c000a", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80638a313378116100715780638a313378146102a75780638ecc13651461030b57806394000b021461034f578063bb890d3f1461037d578063d543c34a146103f7578063e278cfc614610425576100a9565b806313c5d3d6146100ae5780632dd5e43b146100f757806334d323a414610156578063521a6d99146101da57806359b52ef814610239575b600080fd5b6100f5600480360360208110156100c457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610469565b005b61013e6004803603602081101561010d57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061046c565b60405180821515815260200191505060405180910390f35b6101c26004803603606081101561016c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610473565b60405180821515815260200191505060405180910390f35b610221600480360360208110156101f057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061057a565b60405180821515815260200191505060405180910390f35b61028f6004803603606081101561024f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610585565b60405180821515815260200191505060405180910390f35b6102f3600480360360408110156102bd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610660565b60405180821515815260200191505060405180910390f35b61034d6004803603602081101561032157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610730565b005b61037b6004803603602081101561036557600080fd5b8101908080359060200190929190505050610b55565b005b6103df6004803603604081101561039357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d86565b60405180821515815260200191505060405180910390f35b6104236004803603602081101561040d57600080fd5b8101908080359060200190929190505050610e82565b005b6104676004803603602081101561043b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611137565b005b50565b6000919050565b60006104896712aee2a4234e213b60c01b610469565b61049d677f608f86d5ed81d060c01b610469565b6104b167851440c1af22630b60c01b610469565b610571826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506113d690919063ffffffff16565b90509392505050565b600060019050919050565b600061059b67b677e5dcabcfe2f660c01b610469565b6105af67cd87ea7aff21347260c01b610469565b6105c3679b34ee18ce08f67a60c01b610469565b610657826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506113d690919063ffffffff16565b90509392505050565b600061067667f4ac95286becf70260c01b610469565b61068a6786eaaf2ebb14eef160c01b610469565b61069e6727010fec581f679c60c01b610469565b6107286000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008481526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506115a3565b905092915050565b61074467f277242d0eb3a10360c01b610469565b61075867349a5dbd9608c67260c01b610469565b61076c67d8778712b69c370460c01b610469565b6107806779f0022f3961a6a560c01b610469565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610806576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001806115f6602d913960400191505060405180910390fd5b61081a67aa9935183f39be2760c01b610469565b61082e6732a7a8ca89eb668b60c01b610469565b610842671c75b5ac280b25d560c01b610469565b61085667f5c43a38f8aaa7ce60c01b610469565b61090c6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506115a3565b15610962576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611650602d913960400191505060405180910390fd5b61097667cb4e32d30cb58f8860c01b610469565b61098a673d458051ca59d16c60c01b610469565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff021916908315150217905550610a38676c020d93a455334f60c01b610469565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550610ad3675e067bbb4241b70e60c01b610469565b610ae7670a1cefa15605c64860c01b610469565b7f27e282f7712c5b4617277759c834b86d163dfc1aad25c8c3c5926a1c9e5644683382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b610b696731dd5d8e4a5787f560c01b610469565b610b7d679152dbe667f7fffa60c01b610469565b610b9167f82f8a54bc2852fe60c01b610469565b610ba567f2a3fac993b2ca5b60c01b610469565b610c2f6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008381526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506115a3565b610c84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806116a9602c913960400191505060405180910390fd5b610c9867dd541600e96ab23d60c01b610469565b610cac6733f4e10bff763a2060c01b610469565b436000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600083815260200190815260200160002060010181905550610d1a673f4a3f61667843d860c01b610469565b610d2e67ee08162d1a1a76b560c01b610469565b7f87dde712783ad4895642c7a875998317a71cf424a2444eb79545ce3795431ff93382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b6000610d9c67cf11ce1aab4e2dd660c01b610469565b610db067150bddeb94658af360c01b610469565b610dc467bfbdaa54aa93969660c01b610469565b610e7a6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506115a3565b905092915050565b610e96673452968867b7db5e60c01b610469565b610eaa676cf088855730131a60c01b610469565b610ebe67cc56d769a632b81660c01b610469565b610ed2674395cfaf0f7bc35a60c01b610469565b610f5c6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008381526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506115a3565b15610fb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611623602d913960400191505060405180910390fd5b610fc6676295cb0ac9bf889960c01b610469565b610fda67585cbcf2bfe4569f60c01b610469565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600083815260200190815260200160002060000160006101000a81548160ff02191690831515021790555061105c6713473460f014e9a660c01b610469565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000838152602001908152602001600020600101819055506110cb677b5d22bf58f1654760c01b610469565b6110df6716be8639b573c58b60c01b610469565b7f4075b367eed0513a54aa39c287c66d6ae98e5df6f73ac087b26b8f89d05d1aa83382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b61114b67203984577370df2460c01b610469565b61115f67cc5e4453e3c9496860c01b610469565b6111736793a5b9a4a7fb0a9460c01b610469565b6111876772d6efaa0caace9160c01b610469565b61123d6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506115a3565b611292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061167d602c913960400191505060405180910390fd5b6112a667b2cd93d69430b42360c01b610469565b6112ba6711125f79ef0d0bb160c01b610469565b436000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555061135467b7eaa9480c8beab960c01b610469565b61136867ca228bd94735443360c01b610469565b7f1ce3cbbc43ee231e5b950332f2b0b9dd7d349291a3ee411ce5c5c7ed745661bb3382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b60006113ec679c9d1daabf83176160c01b6115f2565b611400674a60477fa1015d9d60c01b6115f2565b611414671d2dfd1cbc37881260c01b6115f2565b600061142a675c84658542d4247860c01b6115f2565b61143e676c38c63a8395bd4160c01b6115f2565b83600001511561155c5761145c673a129e7e3fa8299860c01b6115f2565b61147067d5d911350233c4aa60c01b6115f2565b6114846788aca451346a904360c01b6115f2565b6000846020015114156114c2576114a5671cab9521da0eae6e60c01b6115f2565b6114b9679a431a7af70a318b60c01b6115f2565b60019050611557565b6114d66728a02509a30cdf2f60c01b6115f2565b6114ea67a315ca16c55cdf1660c01b6115f2565b60008314156115245761150767e5e2fd7cbec5211b60c01b6115f2565b61151b676bc9eb4a60fdc77060c01b6115f2565b60019050611556565b611538670dbcda2f621ef14860c01b6115f2565b61154c67cbf2e8a46e9eb31e60c01b6115f2565b8284602001511190505b5b611571565b611570679312107b7e60296d60c01b6115f2565b5b611585676d1c114b386646c760c01b6115f2565b61159967b26d3c1cf974c30e60c01b6115f2565b8091505092915050565b60006115b9679cab3b0c44b8044060c01b6115f2565b6115cd67ca9af921644e3db460c01b6115f2565b6115e167fb2347240336566c60c01b6115f2565b6115eb82436113d6565b9050919050565b5056fe45787465726e616c4163636f756e7452656769737472793a2063616e6e6f742061646420307830206f776e657245787465726e616c4163636f756e7452656769737472793a2070726f6f6620616c72656164792065786973747345787465726e616c4163636f756e7452656769737472793a206f776e657220616c72656164792065786973747345787465726e616c4163636f756e7452656769737472793a206f776e657220646f65736e277420657869737445787465726e616c4163636f756e7452656769737472793a2070726f6f6620646f65736e2774206578697374a164736f6c634300060c000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/Gateway.json b/artifacts/Gateway.json index c2e3fea5..95bcbd9a 100644 --- a/artifacts/Gateway.json +++ b/artifacts/Gateway.json @@ -46,6 +46,159 @@ "name": "Initialized", "type": "event" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_098c0657", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__4b81551d", + "type": "bytes8" + } + ], + "name": "c_4b81551d", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__52615ca8", + "type": "bytes8" + } + ], + "name": "c_52615ca8", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_false098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__4b81551d", + "type": "bytes8" + } + ], + "name": "c_false4b81551d", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__52615ca8", + "type": "bytes8" + } + ], + "name": "c_false52615ca8", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_true098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__4b81551d", + "type": "bytes8" + } + ], + "name": "c_true4b81551d", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__52615ca8", + "type": "bytes8" + } + ], + "name": "c_true52615ca8", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [], "name": "chainId", @@ -348,8 +501,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600046905080600181905550506123f58061006d6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063867519c61161008c5780639f255626116100665780639f255626146101fe578063b5021b161461021a578063d2c83b9a14610236578063f92c5f7c14610254576100cf565b8063867519c6146101a657806387d31313146101c25780639a8a0592146101e0576100cf565b8063231badaf146100d4578063392e53cd146100f0578063485cc9551461010e5780635afaa7bb1461012a57806373e5a13f1461014657806376db2b4c14610176575b600080fd5b6100ee60048036038101906100e99190611438565b610284565b005b6100f861037f565b6040516101059190611e71565b60405180910390f35b610128600480360381019061012391906115e0565b6103d5565b005b610144600480360381019061013f9190611563565b610561565b005b610160600480360381019061015b919061165d565b610739565b60405161016d9190611e8c565b60405180910390f35b610190600480360381019061018b919061161c565b61075e565b60405161019d9190611e8c565b60405180910390f35b6101c060048036038101906101bb91906113b9565b610788565b005b6101ca610799565b6040516101d79190611f07565b60405180910390f35b6101e86107bf565b6040516101f591906120a2565b60405180910390f35b610218600480360381019061021391906114f7565b6107c5565b005b610234600480360381019061022f9190611438565b6107d5565b005b61023e6108d1565b60405161024b9190611eec565b60405180910390f35b61026e60048036038101906102699190611390565b6108f7565b60405161027b91906120a2565b60405180910390f35b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411610305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fc90611f82565b60405180910390fd5b60006103258261031788888888610953565b6109b690919063ffffffff16565b905084600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061037786828686610a71565b505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610463576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045a90611f42565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e6326040516105559190611def565b60405180910390a15050565b60008251116105a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059c90611fc2565b60405180910390fd5b600080600090505b83518110156106f35760003073ffffffffffffffffffffffffffffffffffffffff168583815181106105db57fe5b60200260200101516040516105f09190611d0b565b6000604051808303816000865af19150503d806000811461062d576040519150601f19603f3d011682016040523d82523d6000602084013e610632565b606091505b505090508315610681578061067c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067390611f62565b60405180910390fd5b610697565b80801561068c575082155b1561069657600192505b5b7f361c14722cc344132c73396113f7164232448b09c544a149f09048648b43d872338684815181106106c557fe5b6020026020010151836040516106dd93929190611e0a565b60405180910390a15080806001019150506105ad565b5080610734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072b90612082565b60405180910390fd5b505050565b60006107578260000151836020015184604001518560600151610953565b9050919050565b600061078182600001518360200151846040015185606001518660800151610edc565b9050919050565b61079483338484610a71565b505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b6107d133338484610a71565b5050565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411610856576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084d90611f82565b60405180910390fd5b600061087782610869888888883a610edc565b6109b690919063ffffffff16565b905084600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108c986828686610a71565b505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061094c6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f4290919063ffffffff16565b9050919050565b60006109ac7f6848d0622081db2451400280dead7a739a080cb93852607c381af11e289769b286868661098587610f97565b6040516020016109989493929190611c6e565b604051602081830303815290604052610ffa565b9050949350505050565b60008060009050604183511415610a675760008060006020860151925060408601519150606086015160001a9050601b8160ff1610156109f757601b810190505b601b8160ff161480610a0c5750601c8160ff16145b15610a635760018782858560405160008152602001604052604051610a349493929190611ea7565b6020604051602081039080840390855afa158015610a56573d6000803e3d6000fd5b5050506020604051035193505b5050505b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad890611fa2565b60405180910390fd5b6000825111610b25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1c90612062565b60405180910390fd5b8151815114610b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6090612002565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614610d3d57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b8152600401610bf9929190611e48565b60206040518083038186803b158015610c1157600080fd5b505afa158015610c25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4991906115b7565b80610cfd5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b8152600401610cac929190611e48565b60206040518083038186803b158015610cc457600080fd5b505afa158015610cd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfc91906115b7565b5b610d3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3390611fe2565b60405180910390fd5b5b600080600090505b8251811015610ed457600073ffffffffffffffffffffffffffffffffffffffff16848281518110610d7257fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415610dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc890611f22565b60405180910390fd5b838181518110610ddd57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16838281518110610e0757fe5b60200260200101518787604051602001610e2393929190611d22565b604051602081830303815290604052604051610e3f9190611d0b565b6000604051808303816000865af19150503d8060008114610e7c576040519150601f19603f3d011682016040523d82523d6000602084013e610e81565b606091505b50508092505081610ec7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebe90612022565b60405180910390fd5b8080600101915050610d45565b505050505050565b6000610f377f6f4e1b2b1e5e49f4269e19e16e67a00cb0a796d96d30be3e4b540d3732e8bcad878787610f0e88610f97565b87604051602001610f23959493929190611cb4565b604051602081830303815290604052610ffa565b905095945050505050565b600080828401905083811015610f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8490612042565b60405180910390fd5b8091505092915050565b60608060008351905060005b81811015610fef5782858281518110610fb857fe5b6020026020010151604051602001610fd1929190611d5b565b60405160208183030381529060405292508080600101915050610fa3565b508192505050919050565b60006110336001543085856040516020016110189493929190611da5565b6040516020818303038152906040528051906020012061103b565b905092915050565b60008160405160200161104e9190611d7f565b604051602081830303815290604052805190602001209050919050565b60008135905061107a81612375565b92915050565b600082601f83011261109157600080fd5b81356110a461109f826120ea565b6120bd565b915081818352602084019350602081019050838560208402820111156110c957600080fd5b60005b838110156110f957816110df888261106b565b8452602084019350602083019250506001810190506110cc565b5050505092915050565b600082601f83011261111457600080fd5b813561112761112282612112565b6120bd565b9150818183526020840193506020810190508360005b8381101561116d578135860161115388826111a1565b84526020840193506020830192505060018101905061113d565b5050505092915050565b6000813590506111868161238c565b92915050565b60008151905061119b8161238c565b92915050565b600082601f8301126111b257600080fd5b81356111c56111c08261213a565b6120bd565b915080825260208301602083018583830111156111e157600080fd5b6111ec8382846122dd565b50505092915050565b600081359050611204816123a3565b92915050565b600081359050611219816123ba565b92915050565b600060a0828403121561123157600080fd5b61123b60a06120bd565b9050600061124b8482850161106b565b600083015250602061125f8482850161137b565b602083015250604082013567ffffffffffffffff81111561127f57600080fd5b61128b84828501611080565b604083015250606082013567ffffffffffffffff8111156112ab57600080fd5b6112b784828501611103565b60608301525060806112cb8482850161137b565b60808301525092915050565b6000608082840312156112e957600080fd5b6112f360806120bd565b905060006113038482850161106b565b60008301525060206113178482850161137b565b602083015250604082013567ffffffffffffffff81111561133757600080fd5b61134384828501611080565b604083015250606082013567ffffffffffffffff81111561136357600080fd5b61136f84828501611103565b60608301525092915050565b60008135905061138a816123d1565b92915050565b6000602082840312156113a257600080fd5b60006113b08482850161106b565b91505092915050565b6000806000606084860312156113ce57600080fd5b60006113dc8682870161106b565b935050602084013567ffffffffffffffff8111156113f957600080fd5b61140586828701611080565b925050604084013567ffffffffffffffff81111561142257600080fd5b61142e86828701611103565b9150509250925092565b600080600080600060a0868803121561145057600080fd5b600061145e8882890161106b565b955050602061146f8882890161137b565b945050604086013567ffffffffffffffff81111561148c57600080fd5b61149888828901611080565b935050606086013567ffffffffffffffff8111156114b557600080fd5b6114c188828901611103565b925050608086013567ffffffffffffffff8111156114de57600080fd5b6114ea888289016111a1565b9150509295509295909350565b6000806040838503121561150a57600080fd5b600083013567ffffffffffffffff81111561152457600080fd5b61153085828601611080565b925050602083013567ffffffffffffffff81111561154d57600080fd5b61155985828601611103565b9150509250929050565b6000806040838503121561157657600080fd5b600083013567ffffffffffffffff81111561159057600080fd5b61159c85828601611103565b92505060206115ad85828601611177565b9150509250929050565b6000602082840312156115c957600080fd5b60006115d78482850161118c565b91505092915050565b600080604083850312156115f357600080fd5b6000611601858286016111f5565b92505060206116128582860161120a565b9150509250929050565b60006020828403121561162e57600080fd5b600082013567ffffffffffffffff81111561164857600080fd5b6116548482850161121f565b91505092915050565b60006020828403121561166f57600080fd5b600082013567ffffffffffffffff81111561168957600080fd5b611695848285016112d7565b91505092915050565b60006116aa83836116d4565b60208301905092915050565b6116bf8161225f565b82525050565b6116ce816121dc565b82525050565b6116dd816121dc565b82525050565b6116f46116ef826121dc565b61231f565b82525050565b600061170582612176565b61170f8185612199565b935061171a83612166565b8060005b8381101561174b578151611732888261169e565b975061173d8361218c565b92505060018101905061171e565b5085935050505092915050565b611761816121ee565b82525050565b611770816121fa565b82525050565b611787611782826121fa565b612331565b82525050565b600061179882612181565b6117a281856121a4565b93506117b28185602086016122ec565b6117bb81612357565b840191505092915050565b60006117d182612181565b6117db81856121b5565b93506117eb8185602086016122ec565b80840191505092915050565b61180081612271565b82525050565b61180f81612295565b82525050565b6000611822601b836121c0565b91507f476174657761793a2063616e6e6f742073656e6420746f2030783000000000006000830152602082019050919050565b6000611862601c836121d1565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b60006118a2602f836121c0565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b60006119086017836121c0565b91507f476174657761793a2062617463682072657665727465640000000000000000006000830152602082019050919050565b60006119486032836121c0565b91507f476174657761793a206e6f6e6365206973206c6f776572207468616e2063757260008301527f72656e74206163636f756e74206e6f6e636500000000000000000000000000006020830152604082019050919050565b60006119ae6025836121c0565b91507f476174657761793a2063616e6e6f742073656e642066726f6d2030783020616360008301527f636f756e740000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611a146026836121c0565b91507f476174657761793a2063616e6e6f742064656c656761746520656d707479206260008301527f61746368657300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611a7a6028836121c0565b91507f476174657761793a2073656e646572206973206e6f7420746865206163636f7560008301527f6e74206f776e65720000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611ae06016836121c0565b91507f476174657761793a20696e76616c6964206261746368000000000000000000006000830152602082019050919050565b6000611b206023836121c0565b91507f476174657761793a206261746368207472616e73616374696f6e20726576657260008301527f74656400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611b86601e836121c0565b91507f536166654d6174684c69623a206164646974696f6e206f766572666c6f7700006000830152602082019050919050565b6000611bc66020836121c0565b91507f476174657761793a2063616e6e6f742073656e6420656d7074792062617463686000830152602082019050919050565b6000611c06601d836121c0565b91507f476174657761793a20616c6c20626174636865732072657665727465640000006000830152602082019050919050565b611c4281612248565b82525050565b611c59611c5482612248565b61234d565b82525050565b611c6881612252565b82525050565b6000611c7a82876116e3565b601482019150611c8a8286611c48565b602082019150611c9a82856116fa565b9150611ca682846117c6565b915081905095945050505050565b6000611cc082886116e3565b601482019150611cd08287611c48565b602082019150611ce082866116fa565b9150611cec82856117c6565b9150611cf88284611c48565b6020820191508190509695505050505050565b6000611d1782846117c6565b915081905092915050565b6000611d2e82866117c6565b9150611d3a82856116e3565b601482019150611d4a82846116e3565b601482019150819050949350505050565b6000611d6782856117c6565b9150611d7382846117c6565b91508190509392505050565b6000611d8a82611855565b9150611d968284611776565b60208201915081905092915050565b6000611db18287611c48565b602082019150611dc182866116e3565b601482019150611dd18285611776565b602082019150611de182846117c6565b915081905095945050505050565b6000602082019050611e0460008301846116b6565b92915050565b6000606082019050611e1f60008301866116b6565b8181036020830152611e31818561178d565b9050611e406040830184611758565b949350505050565b6000604082019050611e5d60008301856116c5565b611e6a60208301846116c5565b9392505050565b6000602082019050611e866000830184611758565b92915050565b6000602082019050611ea16000830184611767565b92915050565b6000608082019050611ebc6000830187611767565b611ec96020830186611c5f565b611ed66040830185611767565b611ee36060830184611767565b95945050505050565b6000602082019050611f0160008301846117f7565b92915050565b6000602082019050611f1c6000830184611806565b92915050565b60006020820190508181036000830152611f3b81611815565b9050919050565b60006020820190508181036000830152611f5b81611895565b9050919050565b60006020820190508181036000830152611f7b816118fb565b9050919050565b60006020820190508181036000830152611f9b8161193b565b9050919050565b60006020820190508181036000830152611fbb816119a1565b9050919050565b60006020820190508181036000830152611fdb81611a07565b9050919050565b60006020820190508181036000830152611ffb81611a6d565b9050919050565b6000602082019050818103600083015261201b81611ad3565b9050919050565b6000602082019050818103600083015261203b81611b13565b9050919050565b6000602082019050818103600083015261205b81611b79565b9050919050565b6000602082019050818103600083015261207b81611bb9565b9050919050565b6000602082019050818103600083015261209b81611bf9565b9050919050565b60006020820190506120b76000830184611c39565b92915050565b6000604051905081810181811067ffffffffffffffff821117156120e057600080fd5b8060405250919050565b600067ffffffffffffffff82111561210157600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561212957600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561215157600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006121e782612228565b9050919050565b60008115159050919050565b6000819050919050565b600061220f826121dc565b9050919050565b6000612221826121dc565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061226a826122b9565b9050919050565b600061227c82612283565b9050919050565b600061228e82612228565b9050919050565b60006122a0826122a7565b9050919050565b60006122b282612228565b9050919050565b60006122c4826122cb565b9050919050565b60006122d682612228565b9050919050565b82818337600083830152505050565b60005b8381101561230a5780820151818401526020810190506122ef565b83811115612319576000848401525b50505050565b600061232a8261233b565b9050919050565b6000819050919050565b600061234682612368565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b61237e816121dc565b811461238957600080fd5b50565b612395816121ee565b81146123a057600080fd5b50565b6123ac81612204565b81146123b757600080fd5b50565b6123c381612216565b81146123ce57600080fd5b50565b6123da81612248565b81146123e557600080fd5b5056fea164736f6c634300060c000a", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063867519c61161008c5780639f255626116100665780639f255626146101fe578063b5021b161461021a578063d2c83b9a14610236578063f92c5f7c14610254576100cf565b8063867519c6146101a657806387d31313146101c25780639a8a0592146101e0576100cf565b8063231badaf146100d4578063392e53cd146100f0578063485cc9551461010e5780635afaa7bb1461012a57806373e5a13f1461014657806376db2b4c14610176575b600080fd5b6100ee60048036038101906100e99190611438565b610284565b005b6100f861037f565b6040516101059190611e71565b60405180910390f35b610128600480360381019061012391906115e0565b6103d5565b005b610144600480360381019061013f9190611563565b610561565b005b610160600480360381019061015b919061165d565b610739565b60405161016d9190611e8c565b60405180910390f35b610190600480360381019061018b919061161c565b61075e565b60405161019d9190611e8c565b60405180910390f35b6101c060048036038101906101bb91906113b9565b610788565b005b6101ca610799565b6040516101d79190611f07565b60405180910390f35b6101e86107bf565b6040516101f591906120a2565b60405180910390f35b610218600480360381019061021391906114f7565b6107c5565b005b610234600480360381019061022f9190611438565b6107d5565b005b61023e6108d1565b60405161024b9190611eec565b60405180910390f35b61026e60048036038101906102699190611390565b6108f7565b60405161027b91906120a2565b60405180910390f35b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411610305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fc90611f82565b60405180910390fd5b60006103258261031788888888610953565b6109b690919063ffffffff16565b905084600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061037786828686610a71565b505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610463576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045a90611f42565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e6326040516105559190611def565b60405180910390a15050565b60008251116105a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059c90611fc2565b60405180910390fd5b600080600090505b83518110156106f35760003073ffffffffffffffffffffffffffffffffffffffff168583815181106105db57fe5b60200260200101516040516105f09190611d0b565b6000604051808303816000865af19150503d806000811461062d576040519150601f19603f3d011682016040523d82523d6000602084013e610632565b606091505b505090508315610681578061067c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067390611f62565b60405180910390fd5b610697565b80801561068c575082155b1561069657600192505b5b7f361c14722cc344132c73396113f7164232448b09c544a149f09048648b43d872338684815181106106c557fe5b6020026020010151836040516106dd93929190611e0a565b60405180910390a15080806001019150506105ad565b5080610734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072b90612082565b60405180910390fd5b505050565b60006107578260000151836020015184604001518560600151610953565b9050919050565b600061078182600001518360200151846040015185606001518660800151610edc565b9050919050565b61079483338484610a71565b505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b6107d133338484610a71565b5050565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411610856576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084d90611f82565b60405180910390fd5b600061087782610869888888883a610edc565b6109b690919063ffffffff16565b905084600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108c986828686610a71565b505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061094c6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f4290919063ffffffff16565b9050919050565b60006109ac7f6848d0622081db2451400280dead7a739a080cb93852607c381af11e289769b286868661098587610f97565b6040516020016109989493929190611c6e565b604051602081830303815290604052610ffa565b9050949350505050565b60008060009050604183511415610a675760008060006020860151925060408601519150606086015160001a9050601b8160ff1610156109f757601b810190505b601b8160ff161480610a0c5750601c8160ff16145b15610a635760018782858560405160008152602001604052604051610a349493929190611ea7565b6020604051602081039080840390855afa158015610a56573d6000803e3d6000fd5b5050506020604051035193505b5050505b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad890611fa2565b60405180910390fd5b6000825111610b25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1c90612062565b60405180910390fd5b8151815114610b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6090612002565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614610d3d57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b8152600401610bf9929190611e48565b60206040518083038186803b158015610c1157600080fd5b505afa158015610c25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4991906115b7565b80610cfd5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b8152600401610cac929190611e48565b60206040518083038186803b158015610cc457600080fd5b505afa158015610cd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfc91906115b7565b5b610d3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3390611fe2565b60405180910390fd5b5b600080600090505b8251811015610ed457600073ffffffffffffffffffffffffffffffffffffffff16848281518110610d7257fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415610dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc890611f22565b60405180910390fd5b838181518110610ddd57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16838281518110610e0757fe5b60200260200101518787604051602001610e2393929190611d22565b604051602081830303815290604052604051610e3f9190611d0b565b6000604051808303816000865af19150503d8060008114610e7c576040519150601f19603f3d011682016040523d82523d6000602084013e610e81565b606091505b50508092505081610ec7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebe90612022565b60405180910390fd5b8080600101915050610d45565b505050505050565b6000610f377f6f4e1b2b1e5e49f4269e19e16e67a00cb0a796d96d30be3e4b540d3732e8bcad878787610f0e88610f97565b87604051602001610f23959493929190611cb4565b604051602081830303815290604052610ffa565b905095945050505050565b600080828401905083811015610f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8490612042565b60405180910390fd5b8091505092915050565b60608060008351905060005b81811015610fef5782858281518110610fb857fe5b6020026020010151604051602001610fd1929190611d5b565b60405160208183030381529060405292508080600101915050610fa3565b508192505050919050565b60006110336001543085856040516020016110189493929190611da5565b6040516020818303038152906040528051906020012061103b565b905092915050565b60008160405160200161104e9190611d7f565b604051602081830303815290604052805190602001209050919050565b60008135905061107a81612375565b92915050565b600082601f83011261109157600080fd5b81356110a461109f826120ea565b6120bd565b915081818352602084019350602081019050838560208402820111156110c957600080fd5b60005b838110156110f957816110df888261106b565b8452602084019350602083019250506001810190506110cc565b5050505092915050565b600082601f83011261111457600080fd5b813561112761112282612112565b6120bd565b9150818183526020840193506020810190508360005b8381101561116d578135860161115388826111a1565b84526020840193506020830192505060018101905061113d565b5050505092915050565b6000813590506111868161238c565b92915050565b60008151905061119b8161238c565b92915050565b600082601f8301126111b257600080fd5b81356111c56111c08261213a565b6120bd565b915080825260208301602083018583830111156111e157600080fd5b6111ec8382846122dd565b50505092915050565b600081359050611204816123a3565b92915050565b600081359050611219816123ba565b92915050565b600060a0828403121561123157600080fd5b61123b60a06120bd565b9050600061124b8482850161106b565b600083015250602061125f8482850161137b565b602083015250604082013567ffffffffffffffff81111561127f57600080fd5b61128b84828501611080565b604083015250606082013567ffffffffffffffff8111156112ab57600080fd5b6112b784828501611103565b60608301525060806112cb8482850161137b565b60808301525092915050565b6000608082840312156112e957600080fd5b6112f360806120bd565b905060006113038482850161106b565b60008301525060206113178482850161137b565b602083015250604082013567ffffffffffffffff81111561133757600080fd5b61134384828501611080565b604083015250606082013567ffffffffffffffff81111561136357600080fd5b61136f84828501611103565b60608301525092915050565b60008135905061138a816123d1565b92915050565b6000602082840312156113a257600080fd5b60006113b08482850161106b565b91505092915050565b6000806000606084860312156113ce57600080fd5b60006113dc8682870161106b565b935050602084013567ffffffffffffffff8111156113f957600080fd5b61140586828701611080565b925050604084013567ffffffffffffffff81111561142257600080fd5b61142e86828701611103565b9150509250925092565b600080600080600060a0868803121561145057600080fd5b600061145e8882890161106b565b955050602061146f8882890161137b565b945050604086013567ffffffffffffffff81111561148c57600080fd5b61149888828901611080565b935050606086013567ffffffffffffffff8111156114b557600080fd5b6114c188828901611103565b925050608086013567ffffffffffffffff8111156114de57600080fd5b6114ea888289016111a1565b9150509295509295909350565b6000806040838503121561150a57600080fd5b600083013567ffffffffffffffff81111561152457600080fd5b61153085828601611080565b925050602083013567ffffffffffffffff81111561154d57600080fd5b61155985828601611103565b9150509250929050565b6000806040838503121561157657600080fd5b600083013567ffffffffffffffff81111561159057600080fd5b61159c85828601611103565b92505060206115ad85828601611177565b9150509250929050565b6000602082840312156115c957600080fd5b60006115d78482850161118c565b91505092915050565b600080604083850312156115f357600080fd5b6000611601858286016111f5565b92505060206116128582860161120a565b9150509250929050565b60006020828403121561162e57600080fd5b600082013567ffffffffffffffff81111561164857600080fd5b6116548482850161121f565b91505092915050565b60006020828403121561166f57600080fd5b600082013567ffffffffffffffff81111561168957600080fd5b611695848285016112d7565b91505092915050565b60006116aa83836116d4565b60208301905092915050565b6116bf8161225f565b82525050565b6116ce816121dc565b82525050565b6116dd816121dc565b82525050565b6116f46116ef826121dc565b61231f565b82525050565b600061170582612176565b61170f8185612199565b935061171a83612166565b8060005b8381101561174b578151611732888261169e565b975061173d8361218c565b92505060018101905061171e565b5085935050505092915050565b611761816121ee565b82525050565b611770816121fa565b82525050565b611787611782826121fa565b612331565b82525050565b600061179882612181565b6117a281856121a4565b93506117b28185602086016122ec565b6117bb81612357565b840191505092915050565b60006117d182612181565b6117db81856121b5565b93506117eb8185602086016122ec565b80840191505092915050565b61180081612271565b82525050565b61180f81612295565b82525050565b6000611822601b836121c0565b91507f476174657761793a2063616e6e6f742073656e6420746f2030783000000000006000830152602082019050919050565b6000611862601c836121d1565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b60006118a2602f836121c0565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b60006119086017836121c0565b91507f476174657761793a2062617463682072657665727465640000000000000000006000830152602082019050919050565b60006119486032836121c0565b91507f476174657761793a206e6f6e6365206973206c6f776572207468616e2063757260008301527f72656e74206163636f756e74206e6f6e636500000000000000000000000000006020830152604082019050919050565b60006119ae6025836121c0565b91507f476174657761793a2063616e6e6f742073656e642066726f6d2030783020616360008301527f636f756e740000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611a146026836121c0565b91507f476174657761793a2063616e6e6f742064656c656761746520656d707479206260008301527f61746368657300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611a7a6028836121c0565b91507f476174657761793a2073656e646572206973206e6f7420746865206163636f7560008301527f6e74206f776e65720000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611ae06016836121c0565b91507f476174657761793a20696e76616c6964206261746368000000000000000000006000830152602082019050919050565b6000611b206023836121c0565b91507f476174657761793a206261746368207472616e73616374696f6e20726576657260008301527f74656400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611b86601e836121c0565b91507f536166654d6174684c69623a206164646974696f6e206f766572666c6f7700006000830152602082019050919050565b6000611bc66020836121c0565b91507f476174657761793a2063616e6e6f742073656e6420656d7074792062617463686000830152602082019050919050565b6000611c06601d836121c0565b91507f476174657761793a20616c6c20626174636865732072657665727465640000006000830152602082019050919050565b611c4281612248565b82525050565b611c59611c5482612248565b61234d565b82525050565b611c6881612252565b82525050565b6000611c7a82876116e3565b601482019150611c8a8286611c48565b602082019150611c9a82856116fa565b9150611ca682846117c6565b915081905095945050505050565b6000611cc082886116e3565b601482019150611cd08287611c48565b602082019150611ce082866116fa565b9150611cec82856117c6565b9150611cf88284611c48565b6020820191508190509695505050505050565b6000611d1782846117c6565b915081905092915050565b6000611d2e82866117c6565b9150611d3a82856116e3565b601482019150611d4a82846116e3565b601482019150819050949350505050565b6000611d6782856117c6565b9150611d7382846117c6565b91508190509392505050565b6000611d8a82611855565b9150611d968284611776565b60208201915081905092915050565b6000611db18287611c48565b602082019150611dc182866116e3565b601482019150611dd18285611776565b602082019150611de182846117c6565b915081905095945050505050565b6000602082019050611e0460008301846116b6565b92915050565b6000606082019050611e1f60008301866116b6565b8181036020830152611e31818561178d565b9050611e406040830184611758565b949350505050565b6000604082019050611e5d60008301856116c5565b611e6a60208301846116c5565b9392505050565b6000602082019050611e866000830184611758565b92915050565b6000602082019050611ea16000830184611767565b92915050565b6000608082019050611ebc6000830187611767565b611ec96020830186611c5f565b611ed66040830185611767565b611ee36060830184611767565b95945050505050565b6000602082019050611f0160008301846117f7565b92915050565b6000602082019050611f1c6000830184611806565b92915050565b60006020820190508181036000830152611f3b81611815565b9050919050565b60006020820190508181036000830152611f5b81611895565b9050919050565b60006020820190508181036000830152611f7b816118fb565b9050919050565b60006020820190508181036000830152611f9b8161193b565b9050919050565b60006020820190508181036000830152611fbb816119a1565b9050919050565b60006020820190508181036000830152611fdb81611a07565b9050919050565b60006020820190508181036000830152611ffb81611a6d565b9050919050565b6000602082019050818103600083015261201b81611ad3565b9050919050565b6000602082019050818103600083015261203b81611b13565b9050919050565b6000602082019050818103600083015261205b81611b79565b9050919050565b6000602082019050818103600083015261207b81611bb9565b9050919050565b6000602082019050818103600083015261209b81611bf9565b9050919050565b60006020820190506120b76000830184611c39565b92915050565b6000604051905081810181811067ffffffffffffffff821117156120e057600080fd5b8060405250919050565b600067ffffffffffffffff82111561210157600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561212957600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561215157600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006121e782612228565b9050919050565b60008115159050919050565b6000819050919050565b600061220f826121dc565b9050919050565b6000612221826121dc565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061226a826122b9565b9050919050565b600061227c82612283565b9050919050565b600061228e82612228565b9050919050565b60006122a0826122a7565b9050919050565b60006122b282612228565b9050919050565b60006122c4826122cb565b9050919050565b60006122d682612228565b9050919050565b82818337600083830152505050565b60005b8381101561230a5780820151818401526020810190506122ef565b83811115612319576000848401525b50505050565b600061232a8261233b565b9050919050565b6000819050919050565b600061234682612368565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b61237e816121dc565b811461238957600080fd5b50565b612395816121ee565b81146123a057600080fd5b50565b6123ac81612204565b81146123b757600080fd5b50565b6123c381612216565b81146123ce57600080fd5b50565b6123da81612248565b81146123e557600080fd5b5056fea164736f6c634300060c000a", + "bytecode": "0x60806040523480156200001157600080fd5b506200002e67bcc9be562f8a4b0a60c01b6200014560201b60201c565b6200004a67579ae7209daca85260c01b6200014560201b60201c565b326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000a6676b19898ae2f7725060c01b6200014860201b60201c565b620000c2677c2d0c907f0deddc60c01b6200014860201b60201c565b620000de67f0d1a438b0305bb160c01b6200014860201b60201c565b6000620000fc6737bb5abaf3e7d9d360c01b6200014860201b60201c565b4690506200011b676f86a9c0c67bb39a60c01b6200014860201b60201c565b80600181905550506200013f677c1450e034caf90e60c01b6200014b60201b60201c565b6200014e565b50565b50565b50565b6134c9806200015e6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80639a8a0592116100b8578063c3e315871161007c578063c3e3158714610371578063c4543305146103a1578063d2c83b9a146103d1578063d6de3a60146103ef578063d84fa10c1461040b578063f92c5f7c1461043b57610142565b80639a8a0592146102cf5780639f255626146102ed578063ae1a7ece14610309578063b5021b1614610339578063bcd483641461035557610142565b80635afaa7bb1161010a5780635afaa7bb146101e95780636a8477281461020557806373e5a13f1461023557806376db2b4c14610265578063867519c61461029557806387d31313146102b157610142565b8063231badaf146101475780632c4bbae614610163578063392e53cd146101935780633e260b13146101b1578063485cc955146101cd575b600080fd5b610161600480360381019061015c91906124a0565b61046b565b005b61017d60048036038101906101789190612648565b61062e565b60405161018a9190612f02565b60405180910390f35b61019b610635565b6040516101a89190612f02565b60405180910390f35b6101cb60048036038101906101c69190612648565b6106c8565b005b6101e760048036038101906101e29190612671565b6106cb565b005b61020360048036038101906101fe91906125cb565b61096f565b005b61021f600480360381019061021a9190612648565b610db5565b60405161022c9190612f02565b60405180910390f35b61024f600480360381019061024a91906126ee565b610dbc565b60405161025c9190612f1d565b60405180910390f35b61027f600480360381019061027a91906126ad565b610e1d565b60405161028c9190612f1d565b60405180910390f35b6102af60048036038101906102aa9190612421565b610e83565b005b6102b9610ed0565b6040516102c69190612f98565b60405180910390f35b6102d7610ef6565b6040516102e49190613133565b60405180910390f35b6103076004803603810190610302919061255f565b610efc565b005b610323600480360381019061031e9190612648565b610f48565b6040516103309190612f02565b60405180910390f35b610353600480360381019061034e91906124a0565b610f53565b005b61036f600480360381019061036a9190612648565b611117565b005b61038b60048036038101906103869190612648565b61111a565b6040516103989190612f02565b60405180910390f35b6103bb60048036038101906103b69190612648565b611125565b6040516103c89190612f02565b60405180910390f35b6103d9611130565b6040516103e69190612f7d565b60405180910390f35b61040960048036038101906104049190612648565b611156565b005b61042560048036038101906104209190612648565b611159565b6040516104329190612f02565b60405180910390f35b610455600480360381019061045091906123f8565b611160565b6040516104629190613133565b60405180910390f35b61047f676d2b441ca5b2d66f60c01b611156565b61049367cba441f73d5890c760c01b611156565b6104a767134063f4b41abd4260c01b611156565b6104bb674032e611215d082760c01b611156565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054841161053c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053390613013565b60405180910390fd5b61055067a9d439bfdf6eb1cc60c01b611156565b610564671f234de3a0d2f60460c01b611156565b61057867f304f663a1c4bbaf60c01b611156565b60006105988261058a888888886111f8565b61129790919063ffffffff16565b90506105ae6756b8cff0e930311760c01b611156565b84600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061060667ee6e52e5d015606460c01b611156565b61061a67bc70da3bfe9cf97760c01b611156565b6106268682868661159f565b505050505050565b6000919050565b600061064b67e29fe2f351ca6b2760c01b6106c8565b61065f676f5dd3f08b97747760c01b6106c8565b610673673a9488d62818322a60c01b6106c8565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b6106df6795203fae258cd5a860c01b611156565b6106f367d2ba19feb39e0b7f60c01b6106c8565b610707670c5ad53cdb9edd1560c01b6106c8565b61071b67b6b588d2ebb9ae6960c01b6106c8565b61072f67c4ec9a90a885875260c01b6106c8565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146107bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b490612fd3565b60405180910390fd5b6107d167c3785ba1534db95460c01b6106c8565b6107e567e4202927591248ef60c01b6106c8565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061083a67531cfa2817fbdc8660c01b6106c8565b61084e67d52395001d86cd9860c01b611156565b6108626748cf248005035c7260c01b611156565b610876670a50f00a10ef795e60c01b611156565b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108cb67a40b8397769de3a960c01b611156565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506109206701520f419008b58e60c01b6106c8565b6109346775364c04848b013b60c01b6106c8565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e6326040516109639190612e80565b60405180910390a15050565b61098367cbe3a3b6e4a32fb560c01b611156565b61099767cee3ab3e7b19a5c460c01b611156565b6109ab67ad364c560a61b40260c01b611156565b6109bf678d9e04abff0f7afa60c01b611156565b6000825111610a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fa90613053565b60405180910390fd5b610a17670fb165cf3195236b60c01b611156565b610a2b6726dade9b5adc877e60c01b611156565b610a3f672e7fc91247b2388a60c01b611156565b6000610a55679dfb6fb8f247e20f60c01b611156565b610a6967873d96ccafa2ea2460c01b611156565b60005b8351811015610cf757610a89673a6281b857c1883a60c01b611156565b610a9d67bb13b5f81353d86f60c01b611156565b60003073ffffffffffffffffffffffffffffffffffffffff16858381518110610ac257fe5b6020026020010151604051610ad79190612d9c565b6000604051808303816000865af19150503d8060008114610b14576040519150601f19603f3d011682016040523d82523d6000602084013e610b19565b606091505b50509050610b31673392a3ac8b79ec4760c01b611156565b610b4567c4bf08d594dff7aa60c01b611156565b8315610bf457610b5f6748ba6292bfbddc1260c01b611156565b610b736715e78cb2b9b4d50760c01b611156565b610b8767766a2b91bb03a82360c01b611156565b610b9b6761f9a7df4f4be02f60c01b611156565b80610bdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd290612ff3565b60405180910390fd5b610bef671dd77e7c6333973b60c01b611156565b610c73565b610c086796fadd9814b4767c60c01b611156565b610c1c676b5b88a65ae31eeb60c01b611156565b808015610c27575082155b15610c5d57610c4067bad296d6579f896960c01b611156565b610c5467ca846dec5f0adb7160c01b611156565b60019250610c72565b610c7167c6e3aeb1a5181ce760c01b611156565b5b5b610c876740d2a01cdd1cac7860c01b611156565b610c9b676545d9424f37f96960c01b611156565b7f361c14722cc344132c73396113f7164232448b09c544a149f09048648b43d87233868481518110610cc957fe5b602002602001015183604051610ce193929190612e9b565b60405180910390a1508080600101915050610a6c565b50610d0c677728c6b8ac36981860c01b611156565b610d2067525bb1495be5234360c01b611156565b80610d9c57610d39675e3936a6ac769cc960c01b611156565b610d4d6752887c54c4be9b9e60c01b611156565b610d616749f1236db1207ec760c01b611156565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9390613113565b60405180910390fd5b610db0676fbce0a45d81c8a660c01b611156565b505050565b6000919050565b6000610dd267af82c1046377360460c01b611156565b610de6674039be855323d8d660c01b611156565b610dfa67cf045155f85786c160c01b611156565b610e1682600001518360200151846040015185606001516111f8565b9050919050565b6000610e3367e3b9509f75e5eb8f60c01b611156565b610e4767d5f865209da52da660c01b611156565b610e5b671deb6cb53ce04c8c60c01b611156565b610e7c82600001518360200151846040015185606001518660800151611cec565b9050919050565b610e9767c9e4754bee58077660c01b611156565b610eab6755041238e510c8a460c01b611156565b610ebf679b158f7ea217dd5060c01b611156565b610ecb8333848461159f565b505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b610f10677463f60ab55aa43c60c01b611156565b610f2467310201c2495c1a7060c01b611156565b610f38679792be76dd7fb25a60c01b611156565b610f443333848461159f565b5050565b600060019050919050565b610f6767e2e28a3fd543159560c01b611156565b610f7b67ecd11683dce0448160c01b611156565b610f8f675f914ba846473bb960c01b611156565b610fa3672f7ced2e8998afa060c01b611156565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411611024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101b90613013565b60405180910390fd5b611038677b910af083a9208f60c01b611156565b61104c67916f7b8e6d440ebc60c01b611156565b611060678027492c5b06d5cf60c01b611156565b600061108182611073888888883a611cec565b61129790919063ffffffff16565b905061109767e1c9417306b4124060c01b611156565b84600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110ef671b875e4d0564a09360c01b611156565b611103675c1861a0762d6a8760c01b611156565b61110f8682868661159f565b505050505050565b50565b600060019050919050565b600060019050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b50565b6000919050565b600061117667fc9e932269ec50dc60c01b611156565b61118a6725c1a24b83a9221a60c01b611156565b61119e678a8fbbe0a9c15aa760c01b611156565b6111f16001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d8e90919063ffffffff16565b9050919050565b600061120e67eda742b77289556460c01b611156565b611222674b697a77cafec65a60c01b611156565b611236676541c42e522f19c060c01b611156565b61128d7f6848d0622081db2451400280dead7a739a080cb93852607c381af11e289769b286868661126687611e98565b6040516020016112799493929190612cff565b604051602081830303815290604052611fc4565b9050949350505050565b60006112ad670d75db982ec4597160c01b612041565b6112c16725c2c60ab754182560c01b612041565b6112d5673eb64a254569ed0660c01b612041565b60006112eb67fb2a2286066e15e460c01b612041565b6112ff67a440db11ec9e986d60c01b612041565b6041835114156115585761131d6704a5aada48e2763260c01b612041565b611331674b98cf1796e5c26660c01b612041565b61134567d2dfec7b159385fc60c01b612041565b600061135b6772c2a840621b4aa760c01b612041565b61136f67bfd411e6ba4d07c460c01b612041565b600061138567145d23f82764ba9960c01b612041565b61139967acdff958a9c6c5dd60c01b612041565b60006113af673b79e3a80932a6a160c01b612041565b6020860151925060408601519150606086015160001a90506113db679b0cdee01a57ea2f60c01b612041565b6113ef675dbf88583373227960c01b612041565b601b8160ff16101561142e5761140f670dc9a1836eb51c3260c01b612041565b611423677097d8456a6c3e1560c01b612041565b601b81019050611443565b6114426708b39c61216869e760c01b612041565b5b611457672ea4d6db7d2138c560c01b612041565b61146b679ad3f461195a5eee60c01b612041565b601b8160ff1614801561148e575061148d67a24e972b59dc7d0560c01b612044565b5b806114b85750601c8160ff161480156114b757506114b667934bee4849491d9560c01b612044565b5b5b1561153b576114d1676d6a491fc6e072fa60c01b612041565b6114e567aecd1690d1de9f1c60c01b612041565b600187828585604051600081526020016040526040516115089493929190612f38565b6020604051602081039080840390855afa15801561152a573d6000803e3d6000fd5b505050602060405103519350611550565b61154f67513fbc3b3a0ad1c060c01b612041565b5b50505061156d565b61156c6723d6d78de386c96660c01b612041565b5b6115816707d0c4f11e72cfc960c01b612041565b61159567b9689b22f403636c60c01b612041565b8091505092915050565b6115b3673dc6b1fd578a592f60c01b611156565b6115c7675b12e7ee60d8c7a460c01b611156565b6115db6716dd37c4e900fda160c01b611156565b6115ef67aef774dd43d78e1260c01b611156565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561165f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165690613033565b60405180910390fd5b61167367bb8ef6bfca66485960c01b611156565b6116876777214430d6b2247660c01b611156565b61169b67cc7243b862e92dc960c01b611156565b6116af674b1049b37cc0441a60c01b611156565b60008251116116f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ea906130f3565b60405180910390fd5b61170767a401c78b6842967b60c01b611156565b61171b676bc409b80f9cc97560c01b611156565b61172f670c21a13c3f0af80f60c01b611156565b61174367df236f0cb85aa7a760c01b611156565b8151815114611787576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177e90613093565b60405180910390fd5b61179b673b0d47612c5bfcb060c01b611156565b6117af677383a757a10ce6a660c01b611156565b6117c367d54972dcc54da96a60c01b611156565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611a375761180a67695f0a5ed6645cb160c01b611156565b61181e673c678a99acd09dfe60c01b611156565b611832672e9b649e87fb1bf160c01b611156565b61184667d21d499d67dd50dd60c01b611156565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b81526004016118a3929190612ed9565b60206040518083038186803b1580156118bb57600080fd5b505afa1580156118cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f3919061261f565b801561190f575061190e67a6bf4e6eca47d89260c01b61111a565b5b806119df5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b8152600401611972929190612ed9565b60206040518083038186803b15801561198a57600080fd5b505afa15801561199e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c2919061261f565b80156119de57506119dd678f8df1355d42245960c01b61111a565b5b5b611a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1590613073565b60405180910390fd5b611a326707751d0d2332acbb60c01b611156565b611a4c565b611a4b678e9477de75c4b33960c01b611156565b5b611a606732451c5d20fa0b0e60c01b611156565b611a7467bde85699afe47a2560c01b611156565b6000611a8a670ac7e6b247a1b23660c01b611156565b611a9e67a4b54381933286a160c01b611156565b60005b8251811015611ce457611abe67e7a575dd079f50e060c01b611156565b611ad267dc63add401f9859960c01b611156565b611ae667c37bca055481b01060c01b611156565b600073ffffffffffffffffffffffffffffffffffffffff16848281518110611b0a57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415611b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6090612fb3565b60405180910390fd5b611b7d67c419a2487f65256460c01b611156565b611b916756305d165003f7c060c01b611156565b838181518110611b9d57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16838281518110611bc757fe5b60200260200101518787604051602001611be393929190612db3565b604051602081830303815290604052604051611bff9190612d9c565b6000604051808303816000865af19150503d8060008114611c3c576040519150601f19603f3d011682016040523d82523d6000602084013e611c41565b606091505b505080925050611c5b670f9dfeab41fb8ea060c01b611156565b611c6f676d8a92db9e4d9eb760c01b611156565b611c836731620bc12623c2a460c01b611156565b81611cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cba906130b3565b60405180910390fd5b611cd7678d59ec3587b5a94e60c01b611156565b8080600101915050611aa1565b505050505050565b6000611d02671ec04fa3e6433c7060c01b611156565b611d1667f636738c68fd79e260c01b611156565b611d2a6794bdd90ed43103ae60c01b611156565b611d837f6f4e1b2b1e5e49f4269e19e16e67a00cb0a796d96d30be3e4b540d3732e8bcad878787611d5a88611e98565b87604051602001611d6f959493929190612d45565b604051602081830303815290604052611fc4565b905095945050505050565b6000611da4672797d9bbee8e685760c01b61204f565b611db867e25930aa3032662f60c01b61204f565b611dcc673b804ace3fd44ea060c01b61204f565b60008284019050611de767e0d809daafe36a0460c01b61204f565b611dfb67d0d7b021c1a6823260c01b61204f565b611e0f6741f1099b5fa09b9360c01b61204f565b83811015611e52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e49906130d3565b60405180910390fd5b611e666728a352a27e50889560c01b61204f565b611e7a67f55e5f024a80111c60c01b61204f565b611e8e67d865abdcb752192460c01b61204f565b8091505092915050565b6060611eae673d52b345085804d360c01b611156565b611ec267938a3fc7b0db7b7560c01b611156565b611ed667efd64ece1fcae34460c01b611156565b6060611eec678e4f8d3e667dc68060c01b611156565b611f0067058d193f1566526e60c01b611156565b600083519050611f1a678b29a7b925d3ac0a60c01b611156565b611f2e67ba6e3e037213797660c01b611156565b60005b81811015611f9157611f4d6757304e9d85c5f61a60c01b611156565b82858281518110611f5a57fe5b6020026020010151604051602001611f73929190612dec565b60405160208183030381529060405292508080600101915050611f31565b50611fa6672f36155ab352e49460c01b611156565b611fba6720ea1b68fe8bdcf860c01b611156565b8192505050919050565b6000611fda6771b334e2e3162d2e60c01b611117565b611fee6729046581cf97a49460c01b611117565b612002674f9e67c6b1f334b360c01b611117565b61203960015430858560405160200161201e9493929190612e36565b60405160208183030381529060405280519060200120612052565b905092915050565b50565b600060019050919050565b50565b600061206867f3d1beb9fba5b7be60c01b612041565b61207c676cd81a1865d6353260c01b612041565b612090676810828c21da671e60c01b612041565b816040516020016120a19190612e10565b604051602081830303815290604052805190602001209050919050565b6000813590506120cd81613432565b92915050565b600082601f8301126120e457600080fd5b81356120f76120f28261317b565b61314e565b9150818183526020840193506020810190508385602084028201111561211c57600080fd5b60005b8381101561214c578161213288826120be565b84526020840193506020830192505060018101905061211f565b5050505092915050565b600082601f83011261216757600080fd5b813561217a612175826131a3565b61314e565b9150818183526020840193506020810190508360005b838110156121c057813586016121a68882612209565b845260208401935060208301925050600181019050612190565b5050505092915050565b6000813590506121d981613449565b92915050565b6000815190506121ee81613449565b92915050565b60008135905061220381613460565b92915050565b600082601f83011261221a57600080fd5b813561222d612228826131cb565b61314e565b9150808252602083016020830185838301111561224957600080fd5b61225483828461339a565b50505092915050565b60008135905061226c81613477565b92915050565b6000813590506122818161348e565b92915050565b600060a0828403121561229957600080fd5b6122a360a061314e565b905060006122b3848285016120be565b60008301525060206122c7848285016123e3565b602083015250604082013567ffffffffffffffff8111156122e757600080fd5b6122f3848285016120d3565b604083015250606082013567ffffffffffffffff81111561231357600080fd5b61231f84828501612156565b6060830152506080612333848285016123e3565b60808301525092915050565b60006080828403121561235157600080fd5b61235b608061314e565b9050600061236b848285016120be565b600083015250602061237f848285016123e3565b602083015250604082013567ffffffffffffffff81111561239f57600080fd5b6123ab848285016120d3565b604083015250606082013567ffffffffffffffff8111156123cb57600080fd5b6123d784828501612156565b60608301525092915050565b6000813590506123f2816134a5565b92915050565b60006020828403121561240a57600080fd5b6000612418848285016120be565b91505092915050565b60008060006060848603121561243657600080fd5b6000612444868287016120be565b935050602084013567ffffffffffffffff81111561246157600080fd5b61246d868287016120d3565b925050604084013567ffffffffffffffff81111561248a57600080fd5b61249686828701612156565b9150509250925092565b600080600080600060a086880312156124b857600080fd5b60006124c6888289016120be565b95505060206124d7888289016123e3565b945050604086013567ffffffffffffffff8111156124f457600080fd5b612500888289016120d3565b935050606086013567ffffffffffffffff81111561251d57600080fd5b61252988828901612156565b925050608086013567ffffffffffffffff81111561254657600080fd5b61255288828901612209565b9150509295509295909350565b6000806040838503121561257257600080fd5b600083013567ffffffffffffffff81111561258c57600080fd5b612598858286016120d3565b925050602083013567ffffffffffffffff8111156125b557600080fd5b6125c185828601612156565b9150509250929050565b600080604083850312156125de57600080fd5b600083013567ffffffffffffffff8111156125f857600080fd5b61260485828601612156565b9250506020612615858286016121ca565b9150509250929050565b60006020828403121561263157600080fd5b600061263f848285016121df565b91505092915050565b60006020828403121561265a57600080fd5b6000612668848285016121f4565b91505092915050565b6000806040838503121561268457600080fd5b60006126928582860161225d565b92505060206126a385828601612272565b9150509250929050565b6000602082840312156126bf57600080fd5b600082013567ffffffffffffffff8111156126d957600080fd5b6126e584828501612287565b91505092915050565b60006020828403121561270057600080fd5b600082013567ffffffffffffffff81111561271a57600080fd5b6127268482850161233f565b91505092915050565b600061273b8383612765565b60208301905092915050565b6127508161331c565b82525050565b61275f8161326d565b82525050565b61276e8161326d565b82525050565b6127856127808261326d565b6133dc565b82525050565b600061279682613207565b6127a0818561322a565b93506127ab836131f7565b8060005b838110156127dc5781516127c3888261272f565b97506127ce8361321d565b9250506001810190506127af565b5085935050505092915050565b6127f28161327f565b82525050565b6128018161328b565b82525050565b6128186128138261328b565b6133ee565b82525050565b600061282982613212565b6128338185613235565b93506128438185602086016133a9565b61284c81613414565b840191505092915050565b600061286282613212565b61286c8185613246565b935061287c8185602086016133a9565b80840191505092915050565b6128918161332e565b82525050565b6128a081613352565b82525050565b60006128b3601b83613251565b91507f476174657761793a2063616e6e6f742073656e6420746f2030783000000000006000830152602082019050919050565b60006128f3601c83613262565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b6000612933602f83613251565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b6000612999601783613251565b91507f476174657761793a2062617463682072657665727465640000000000000000006000830152602082019050919050565b60006129d9603283613251565b91507f476174657761793a206e6f6e6365206973206c6f776572207468616e2063757260008301527f72656e74206163636f756e74206e6f6e636500000000000000000000000000006020830152604082019050919050565b6000612a3f602583613251565b91507f476174657761793a2063616e6e6f742073656e642066726f6d2030783020616360008301527f636f756e740000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612aa5602683613251565b91507f476174657761793a2063616e6e6f742064656c656761746520656d707479206260008301527f61746368657300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612b0b602883613251565b91507f476174657761793a2073656e646572206973206e6f7420746865206163636f7560008301527f6e74206f776e65720000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612b71601683613251565b91507f476174657761793a20696e76616c6964206261746368000000000000000000006000830152602082019050919050565b6000612bb1602383613251565b91507f476174657761793a206261746368207472616e73616374696f6e20726576657260008301527f74656400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612c17601e83613251565b91507f536166654d6174684c69623a206164646974696f6e206f766572666c6f7700006000830152602082019050919050565b6000612c57602083613251565b91507f476174657761793a2063616e6e6f742073656e6420656d7074792062617463686000830152602082019050919050565b6000612c97601d83613251565b91507f476174657761793a20616c6c20626174636865732072657665727465640000006000830152602082019050919050565b612cd381613305565b82525050565b612cea612ce582613305565b61340a565b82525050565b612cf98161330f565b82525050565b6000612d0b8287612774565b601482019150612d1b8286612cd9565b602082019150612d2b828561278b565b9150612d378284612857565b915081905095945050505050565b6000612d518288612774565b601482019150612d618287612cd9565b602082019150612d71828661278b565b9150612d7d8285612857565b9150612d898284612cd9565b6020820191508190509695505050505050565b6000612da88284612857565b915081905092915050565b6000612dbf8286612857565b9150612dcb8285612774565b601482019150612ddb8284612774565b601482019150819050949350505050565b6000612df88285612857565b9150612e048284612857565b91508190509392505050565b6000612e1b826128e6565b9150612e278284612807565b60208201915081905092915050565b6000612e428287612cd9565b602082019150612e528286612774565b601482019150612e628285612807565b602082019150612e728284612857565b915081905095945050505050565b6000602082019050612e956000830184612747565b92915050565b6000606082019050612eb06000830186612747565b8181036020830152612ec2818561281e565b9050612ed160408301846127e9565b949350505050565b6000604082019050612eee6000830185612756565b612efb6020830184612756565b9392505050565b6000602082019050612f1760008301846127e9565b92915050565b6000602082019050612f3260008301846127f8565b92915050565b6000608082019050612f4d60008301876127f8565b612f5a6020830186612cf0565b612f6760408301856127f8565b612f7460608301846127f8565b95945050505050565b6000602082019050612f926000830184612888565b92915050565b6000602082019050612fad6000830184612897565b92915050565b60006020820190508181036000830152612fcc816128a6565b9050919050565b60006020820190508181036000830152612fec81612926565b9050919050565b6000602082019050818103600083015261300c8161298c565b9050919050565b6000602082019050818103600083015261302c816129cc565b9050919050565b6000602082019050818103600083015261304c81612a32565b9050919050565b6000602082019050818103600083015261306c81612a98565b9050919050565b6000602082019050818103600083015261308c81612afe565b9050919050565b600060208201905081810360008301526130ac81612b64565b9050919050565b600060208201905081810360008301526130cc81612ba4565b9050919050565b600060208201905081810360008301526130ec81612c0a565b9050919050565b6000602082019050818103600083015261310c81612c4a565b9050919050565b6000602082019050818103600083015261312c81612c8a565b9050919050565b60006020820190506131486000830184612cca565b92915050565b6000604051905081810181811067ffffffffffffffff8211171561317157600080fd5b8060405250919050565b600067ffffffffffffffff82111561319257600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156131ba57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156131e257600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000613278826132e5565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b60006132cc8261326d565b9050919050565b60006132de8261326d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061332782613376565b9050919050565b600061333982613340565b9050919050565b600061334b826132e5565b9050919050565b600061335d82613364565b9050919050565b600061336f826132e5565b9050919050565b600061338182613388565b9050919050565b6000613393826132e5565b9050919050565b82818337600083830152505050565b60005b838110156133c75780820151818401526020810190506133ac565b838111156133d6576000848401525b50505050565b60006133e7826133f8565b9050919050565b6000819050919050565b600061340382613425565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b61343b8161326d565b811461344657600080fd5b50565b6134528161327f565b811461345d57600080fd5b50565b61346981613295565b811461347457600080fd5b50565b613480816132c1565b811461348b57600080fd5b50565b613497816132d3565b81146134a257600080fd5b50565b6134ae81613305565b81146134b957600080fd5b5056fea164736f6c634300060c000a", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101425760003560e01c80639a8a0592116100b8578063c3e315871161007c578063c3e3158714610371578063c4543305146103a1578063d2c83b9a146103d1578063d6de3a60146103ef578063d84fa10c1461040b578063f92c5f7c1461043b57610142565b80639a8a0592146102cf5780639f255626146102ed578063ae1a7ece14610309578063b5021b1614610339578063bcd483641461035557610142565b80635afaa7bb1161010a5780635afaa7bb146101e95780636a8477281461020557806373e5a13f1461023557806376db2b4c14610265578063867519c61461029557806387d31313146102b157610142565b8063231badaf146101475780632c4bbae614610163578063392e53cd146101935780633e260b13146101b1578063485cc955146101cd575b600080fd5b610161600480360381019061015c91906124a0565b61046b565b005b61017d60048036038101906101789190612648565b61062e565b60405161018a9190612f02565b60405180910390f35b61019b610635565b6040516101a89190612f02565b60405180910390f35b6101cb60048036038101906101c69190612648565b6106c8565b005b6101e760048036038101906101e29190612671565b6106cb565b005b61020360048036038101906101fe91906125cb565b61096f565b005b61021f600480360381019061021a9190612648565b610db5565b60405161022c9190612f02565b60405180910390f35b61024f600480360381019061024a91906126ee565b610dbc565b60405161025c9190612f1d565b60405180910390f35b61027f600480360381019061027a91906126ad565b610e1d565b60405161028c9190612f1d565b60405180910390f35b6102af60048036038101906102aa9190612421565b610e83565b005b6102b9610ed0565b6040516102c69190612f98565b60405180910390f35b6102d7610ef6565b6040516102e49190613133565b60405180910390f35b6103076004803603810190610302919061255f565b610efc565b005b610323600480360381019061031e9190612648565b610f48565b6040516103309190612f02565b60405180910390f35b610353600480360381019061034e91906124a0565b610f53565b005b61036f600480360381019061036a9190612648565b611117565b005b61038b60048036038101906103869190612648565b61111a565b6040516103989190612f02565b60405180910390f35b6103bb60048036038101906103b69190612648565b611125565b6040516103c89190612f02565b60405180910390f35b6103d9611130565b6040516103e69190612f7d565b60405180910390f35b61040960048036038101906104049190612648565b611156565b005b61042560048036038101906104209190612648565b611159565b6040516104329190612f02565b60405180910390f35b610455600480360381019061045091906123f8565b611160565b6040516104629190613133565b60405180910390f35b61047f676d2b441ca5b2d66f60c01b611156565b61049367cba441f73d5890c760c01b611156565b6104a767134063f4b41abd4260c01b611156565b6104bb674032e611215d082760c01b611156565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054841161053c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053390613013565b60405180910390fd5b61055067a9d439bfdf6eb1cc60c01b611156565b610564671f234de3a0d2f60460c01b611156565b61057867f304f663a1c4bbaf60c01b611156565b60006105988261058a888888886111f8565b61129790919063ffffffff16565b90506105ae6756b8cff0e930311760c01b611156565b84600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061060667ee6e52e5d015606460c01b611156565b61061a67bc70da3bfe9cf97760c01b611156565b6106268682868661159f565b505050505050565b6000919050565b600061064b67e29fe2f351ca6b2760c01b6106c8565b61065f676f5dd3f08b97747760c01b6106c8565b610673673a9488d62818322a60c01b6106c8565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b6106df6795203fae258cd5a860c01b611156565b6106f367d2ba19feb39e0b7f60c01b6106c8565b610707670c5ad53cdb9edd1560c01b6106c8565b61071b67b6b588d2ebb9ae6960c01b6106c8565b61072f67c4ec9a90a885875260c01b6106c8565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146107bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b490612fd3565b60405180910390fd5b6107d167c3785ba1534db95460c01b6106c8565b6107e567e4202927591248ef60c01b6106c8565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061083a67531cfa2817fbdc8660c01b6106c8565b61084e67d52395001d86cd9860c01b611156565b6108626748cf248005035c7260c01b611156565b610876670a50f00a10ef795e60c01b611156565b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108cb67a40b8397769de3a960c01b611156565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506109206701520f419008b58e60c01b6106c8565b6109346775364c04848b013b60c01b6106c8565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e6326040516109639190612e80565b60405180910390a15050565b61098367cbe3a3b6e4a32fb560c01b611156565b61099767cee3ab3e7b19a5c460c01b611156565b6109ab67ad364c560a61b40260c01b611156565b6109bf678d9e04abff0f7afa60c01b611156565b6000825111610a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fa90613053565b60405180910390fd5b610a17670fb165cf3195236b60c01b611156565b610a2b6726dade9b5adc877e60c01b611156565b610a3f672e7fc91247b2388a60c01b611156565b6000610a55679dfb6fb8f247e20f60c01b611156565b610a6967873d96ccafa2ea2460c01b611156565b60005b8351811015610cf757610a89673a6281b857c1883a60c01b611156565b610a9d67bb13b5f81353d86f60c01b611156565b60003073ffffffffffffffffffffffffffffffffffffffff16858381518110610ac257fe5b6020026020010151604051610ad79190612d9c565b6000604051808303816000865af19150503d8060008114610b14576040519150601f19603f3d011682016040523d82523d6000602084013e610b19565b606091505b50509050610b31673392a3ac8b79ec4760c01b611156565b610b4567c4bf08d594dff7aa60c01b611156565b8315610bf457610b5f6748ba6292bfbddc1260c01b611156565b610b736715e78cb2b9b4d50760c01b611156565b610b8767766a2b91bb03a82360c01b611156565b610b9b6761f9a7df4f4be02f60c01b611156565b80610bdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd290612ff3565b60405180910390fd5b610bef671dd77e7c6333973b60c01b611156565b610c73565b610c086796fadd9814b4767c60c01b611156565b610c1c676b5b88a65ae31eeb60c01b611156565b808015610c27575082155b15610c5d57610c4067bad296d6579f896960c01b611156565b610c5467ca846dec5f0adb7160c01b611156565b60019250610c72565b610c7167c6e3aeb1a5181ce760c01b611156565b5b5b610c876740d2a01cdd1cac7860c01b611156565b610c9b676545d9424f37f96960c01b611156565b7f361c14722cc344132c73396113f7164232448b09c544a149f09048648b43d87233868481518110610cc957fe5b602002602001015183604051610ce193929190612e9b565b60405180910390a1508080600101915050610a6c565b50610d0c677728c6b8ac36981860c01b611156565b610d2067525bb1495be5234360c01b611156565b80610d9c57610d39675e3936a6ac769cc960c01b611156565b610d4d6752887c54c4be9b9e60c01b611156565b610d616749f1236db1207ec760c01b611156565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9390613113565b60405180910390fd5b610db0676fbce0a45d81c8a660c01b611156565b505050565b6000919050565b6000610dd267af82c1046377360460c01b611156565b610de6674039be855323d8d660c01b611156565b610dfa67cf045155f85786c160c01b611156565b610e1682600001518360200151846040015185606001516111f8565b9050919050565b6000610e3367e3b9509f75e5eb8f60c01b611156565b610e4767d5f865209da52da660c01b611156565b610e5b671deb6cb53ce04c8c60c01b611156565b610e7c82600001518360200151846040015185606001518660800151611cec565b9050919050565b610e9767c9e4754bee58077660c01b611156565b610eab6755041238e510c8a460c01b611156565b610ebf679b158f7ea217dd5060c01b611156565b610ecb8333848461159f565b505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b610f10677463f60ab55aa43c60c01b611156565b610f2467310201c2495c1a7060c01b611156565b610f38679792be76dd7fb25a60c01b611156565b610f443333848461159f565b5050565b600060019050919050565b610f6767e2e28a3fd543159560c01b611156565b610f7b67ecd11683dce0448160c01b611156565b610f8f675f914ba846473bb960c01b611156565b610fa3672f7ced2e8998afa060c01b611156565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411611024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101b90613013565b60405180910390fd5b611038677b910af083a9208f60c01b611156565b61104c67916f7b8e6d440ebc60c01b611156565b611060678027492c5b06d5cf60c01b611156565b600061108182611073888888883a611cec565b61129790919063ffffffff16565b905061109767e1c9417306b4124060c01b611156565b84600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110ef671b875e4d0564a09360c01b611156565b611103675c1861a0762d6a8760c01b611156565b61110f8682868661159f565b505050505050565b50565b600060019050919050565b600060019050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b50565b6000919050565b600061117667fc9e932269ec50dc60c01b611156565b61118a6725c1a24b83a9221a60c01b611156565b61119e678a8fbbe0a9c15aa760c01b611156565b6111f16001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d8e90919063ffffffff16565b9050919050565b600061120e67eda742b77289556460c01b611156565b611222674b697a77cafec65a60c01b611156565b611236676541c42e522f19c060c01b611156565b61128d7f6848d0622081db2451400280dead7a739a080cb93852607c381af11e289769b286868661126687611e98565b6040516020016112799493929190612cff565b604051602081830303815290604052611fc4565b9050949350505050565b60006112ad670d75db982ec4597160c01b612041565b6112c16725c2c60ab754182560c01b612041565b6112d5673eb64a254569ed0660c01b612041565b60006112eb67fb2a2286066e15e460c01b612041565b6112ff67a440db11ec9e986d60c01b612041565b6041835114156115585761131d6704a5aada48e2763260c01b612041565b611331674b98cf1796e5c26660c01b612041565b61134567d2dfec7b159385fc60c01b612041565b600061135b6772c2a840621b4aa760c01b612041565b61136f67bfd411e6ba4d07c460c01b612041565b600061138567145d23f82764ba9960c01b612041565b61139967acdff958a9c6c5dd60c01b612041565b60006113af673b79e3a80932a6a160c01b612041565b6020860151925060408601519150606086015160001a90506113db679b0cdee01a57ea2f60c01b612041565b6113ef675dbf88583373227960c01b612041565b601b8160ff16101561142e5761140f670dc9a1836eb51c3260c01b612041565b611423677097d8456a6c3e1560c01b612041565b601b81019050611443565b6114426708b39c61216869e760c01b612041565b5b611457672ea4d6db7d2138c560c01b612041565b61146b679ad3f461195a5eee60c01b612041565b601b8160ff1614801561148e575061148d67a24e972b59dc7d0560c01b612044565b5b806114b85750601c8160ff161480156114b757506114b667934bee4849491d9560c01b612044565b5b5b1561153b576114d1676d6a491fc6e072fa60c01b612041565b6114e567aecd1690d1de9f1c60c01b612041565b600187828585604051600081526020016040526040516115089493929190612f38565b6020604051602081039080840390855afa15801561152a573d6000803e3d6000fd5b505050602060405103519350611550565b61154f67513fbc3b3a0ad1c060c01b612041565b5b50505061156d565b61156c6723d6d78de386c96660c01b612041565b5b6115816707d0c4f11e72cfc960c01b612041565b61159567b9689b22f403636c60c01b612041565b8091505092915050565b6115b3673dc6b1fd578a592f60c01b611156565b6115c7675b12e7ee60d8c7a460c01b611156565b6115db6716dd37c4e900fda160c01b611156565b6115ef67aef774dd43d78e1260c01b611156565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561165f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165690613033565b60405180910390fd5b61167367bb8ef6bfca66485960c01b611156565b6116876777214430d6b2247660c01b611156565b61169b67cc7243b862e92dc960c01b611156565b6116af674b1049b37cc0441a60c01b611156565b60008251116116f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ea906130f3565b60405180910390fd5b61170767a401c78b6842967b60c01b611156565b61171b676bc409b80f9cc97560c01b611156565b61172f670c21a13c3f0af80f60c01b611156565b61174367df236f0cb85aa7a760c01b611156565b8151815114611787576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177e90613093565b60405180910390fd5b61179b673b0d47612c5bfcb060c01b611156565b6117af677383a757a10ce6a660c01b611156565b6117c367d54972dcc54da96a60c01b611156565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611a375761180a67695f0a5ed6645cb160c01b611156565b61181e673c678a99acd09dfe60c01b611156565b611832672e9b649e87fb1bf160c01b611156565b61184667d21d499d67dd50dd60c01b611156565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b81526004016118a3929190612ed9565b60206040518083038186803b1580156118bb57600080fd5b505afa1580156118cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f3919061261f565b801561190f575061190e67a6bf4e6eca47d89260c01b61111a565b5b806119df5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b8152600401611972929190612ed9565b60206040518083038186803b15801561198a57600080fd5b505afa15801561199e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c2919061261f565b80156119de57506119dd678f8df1355d42245960c01b61111a565b5b5b611a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1590613073565b60405180910390fd5b611a326707751d0d2332acbb60c01b611156565b611a4c565b611a4b678e9477de75c4b33960c01b611156565b5b611a606732451c5d20fa0b0e60c01b611156565b611a7467bde85699afe47a2560c01b611156565b6000611a8a670ac7e6b247a1b23660c01b611156565b611a9e67a4b54381933286a160c01b611156565b60005b8251811015611ce457611abe67e7a575dd079f50e060c01b611156565b611ad267dc63add401f9859960c01b611156565b611ae667c37bca055481b01060c01b611156565b600073ffffffffffffffffffffffffffffffffffffffff16848281518110611b0a57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415611b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6090612fb3565b60405180910390fd5b611b7d67c419a2487f65256460c01b611156565b611b916756305d165003f7c060c01b611156565b838181518110611b9d57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16838281518110611bc757fe5b60200260200101518787604051602001611be393929190612db3565b604051602081830303815290604052604051611bff9190612d9c565b6000604051808303816000865af19150503d8060008114611c3c576040519150601f19603f3d011682016040523d82523d6000602084013e611c41565b606091505b505080925050611c5b670f9dfeab41fb8ea060c01b611156565b611c6f676d8a92db9e4d9eb760c01b611156565b611c836731620bc12623c2a460c01b611156565b81611cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cba906130b3565b60405180910390fd5b611cd7678d59ec3587b5a94e60c01b611156565b8080600101915050611aa1565b505050505050565b6000611d02671ec04fa3e6433c7060c01b611156565b611d1667f636738c68fd79e260c01b611156565b611d2a6794bdd90ed43103ae60c01b611156565b611d837f6f4e1b2b1e5e49f4269e19e16e67a00cb0a796d96d30be3e4b540d3732e8bcad878787611d5a88611e98565b87604051602001611d6f959493929190612d45565b604051602081830303815290604052611fc4565b905095945050505050565b6000611da4672797d9bbee8e685760c01b61204f565b611db867e25930aa3032662f60c01b61204f565b611dcc673b804ace3fd44ea060c01b61204f565b60008284019050611de767e0d809daafe36a0460c01b61204f565b611dfb67d0d7b021c1a6823260c01b61204f565b611e0f6741f1099b5fa09b9360c01b61204f565b83811015611e52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e49906130d3565b60405180910390fd5b611e666728a352a27e50889560c01b61204f565b611e7a67f55e5f024a80111c60c01b61204f565b611e8e67d865abdcb752192460c01b61204f565b8091505092915050565b6060611eae673d52b345085804d360c01b611156565b611ec267938a3fc7b0db7b7560c01b611156565b611ed667efd64ece1fcae34460c01b611156565b6060611eec678e4f8d3e667dc68060c01b611156565b611f0067058d193f1566526e60c01b611156565b600083519050611f1a678b29a7b925d3ac0a60c01b611156565b611f2e67ba6e3e037213797660c01b611156565b60005b81811015611f9157611f4d6757304e9d85c5f61a60c01b611156565b82858281518110611f5a57fe5b6020026020010151604051602001611f73929190612dec565b60405160208183030381529060405292508080600101915050611f31565b50611fa6672f36155ab352e49460c01b611156565b611fba6720ea1b68fe8bdcf860c01b611156565b8192505050919050565b6000611fda6771b334e2e3162d2e60c01b611117565b611fee6729046581cf97a49460c01b611117565b612002674f9e67c6b1f334b360c01b611117565b61203960015430858560405160200161201e9493929190612e36565b60405160208183030381529060405280519060200120612052565b905092915050565b50565b600060019050919050565b50565b600061206867f3d1beb9fba5b7be60c01b612041565b61207c676cd81a1865d6353260c01b612041565b612090676810828c21da671e60c01b612041565b816040516020016120a19190612e10565b604051602081830303815290604052805190602001209050919050565b6000813590506120cd81613432565b92915050565b600082601f8301126120e457600080fd5b81356120f76120f28261317b565b61314e565b9150818183526020840193506020810190508385602084028201111561211c57600080fd5b60005b8381101561214c578161213288826120be565b84526020840193506020830192505060018101905061211f565b5050505092915050565b600082601f83011261216757600080fd5b813561217a612175826131a3565b61314e565b9150818183526020840193506020810190508360005b838110156121c057813586016121a68882612209565b845260208401935060208301925050600181019050612190565b5050505092915050565b6000813590506121d981613449565b92915050565b6000815190506121ee81613449565b92915050565b60008135905061220381613460565b92915050565b600082601f83011261221a57600080fd5b813561222d612228826131cb565b61314e565b9150808252602083016020830185838301111561224957600080fd5b61225483828461339a565b50505092915050565b60008135905061226c81613477565b92915050565b6000813590506122818161348e565b92915050565b600060a0828403121561229957600080fd5b6122a360a061314e565b905060006122b3848285016120be565b60008301525060206122c7848285016123e3565b602083015250604082013567ffffffffffffffff8111156122e757600080fd5b6122f3848285016120d3565b604083015250606082013567ffffffffffffffff81111561231357600080fd5b61231f84828501612156565b6060830152506080612333848285016123e3565b60808301525092915050565b60006080828403121561235157600080fd5b61235b608061314e565b9050600061236b848285016120be565b600083015250602061237f848285016123e3565b602083015250604082013567ffffffffffffffff81111561239f57600080fd5b6123ab848285016120d3565b604083015250606082013567ffffffffffffffff8111156123cb57600080fd5b6123d784828501612156565b60608301525092915050565b6000813590506123f2816134a5565b92915050565b60006020828403121561240a57600080fd5b6000612418848285016120be565b91505092915050565b60008060006060848603121561243657600080fd5b6000612444868287016120be565b935050602084013567ffffffffffffffff81111561246157600080fd5b61246d868287016120d3565b925050604084013567ffffffffffffffff81111561248a57600080fd5b61249686828701612156565b9150509250925092565b600080600080600060a086880312156124b857600080fd5b60006124c6888289016120be565b95505060206124d7888289016123e3565b945050604086013567ffffffffffffffff8111156124f457600080fd5b612500888289016120d3565b935050606086013567ffffffffffffffff81111561251d57600080fd5b61252988828901612156565b925050608086013567ffffffffffffffff81111561254657600080fd5b61255288828901612209565b9150509295509295909350565b6000806040838503121561257257600080fd5b600083013567ffffffffffffffff81111561258c57600080fd5b612598858286016120d3565b925050602083013567ffffffffffffffff8111156125b557600080fd5b6125c185828601612156565b9150509250929050565b600080604083850312156125de57600080fd5b600083013567ffffffffffffffff8111156125f857600080fd5b61260485828601612156565b9250506020612615858286016121ca565b9150509250929050565b60006020828403121561263157600080fd5b600061263f848285016121df565b91505092915050565b60006020828403121561265a57600080fd5b6000612668848285016121f4565b91505092915050565b6000806040838503121561268457600080fd5b60006126928582860161225d565b92505060206126a385828601612272565b9150509250929050565b6000602082840312156126bf57600080fd5b600082013567ffffffffffffffff8111156126d957600080fd5b6126e584828501612287565b91505092915050565b60006020828403121561270057600080fd5b600082013567ffffffffffffffff81111561271a57600080fd5b6127268482850161233f565b91505092915050565b600061273b8383612765565b60208301905092915050565b6127508161331c565b82525050565b61275f8161326d565b82525050565b61276e8161326d565b82525050565b6127856127808261326d565b6133dc565b82525050565b600061279682613207565b6127a0818561322a565b93506127ab836131f7565b8060005b838110156127dc5781516127c3888261272f565b97506127ce8361321d565b9250506001810190506127af565b5085935050505092915050565b6127f28161327f565b82525050565b6128018161328b565b82525050565b6128186128138261328b565b6133ee565b82525050565b600061282982613212565b6128338185613235565b93506128438185602086016133a9565b61284c81613414565b840191505092915050565b600061286282613212565b61286c8185613246565b935061287c8185602086016133a9565b80840191505092915050565b6128918161332e565b82525050565b6128a081613352565b82525050565b60006128b3601b83613251565b91507f476174657761793a2063616e6e6f742073656e6420746f2030783000000000006000830152602082019050919050565b60006128f3601c83613262565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b6000612933602f83613251565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b6000612999601783613251565b91507f476174657761793a2062617463682072657665727465640000000000000000006000830152602082019050919050565b60006129d9603283613251565b91507f476174657761793a206e6f6e6365206973206c6f776572207468616e2063757260008301527f72656e74206163636f756e74206e6f6e636500000000000000000000000000006020830152604082019050919050565b6000612a3f602583613251565b91507f476174657761793a2063616e6e6f742073656e642066726f6d2030783020616360008301527f636f756e740000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612aa5602683613251565b91507f476174657761793a2063616e6e6f742064656c656761746520656d707479206260008301527f61746368657300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612b0b602883613251565b91507f476174657761793a2073656e646572206973206e6f7420746865206163636f7560008301527f6e74206f776e65720000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612b71601683613251565b91507f476174657761793a20696e76616c6964206261746368000000000000000000006000830152602082019050919050565b6000612bb1602383613251565b91507f476174657761793a206261746368207472616e73616374696f6e20726576657260008301527f74656400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612c17601e83613251565b91507f536166654d6174684c69623a206164646974696f6e206f766572666c6f7700006000830152602082019050919050565b6000612c57602083613251565b91507f476174657761793a2063616e6e6f742073656e6420656d7074792062617463686000830152602082019050919050565b6000612c97601d83613251565b91507f476174657761793a20616c6c20626174636865732072657665727465640000006000830152602082019050919050565b612cd381613305565b82525050565b612cea612ce582613305565b61340a565b82525050565b612cf98161330f565b82525050565b6000612d0b8287612774565b601482019150612d1b8286612cd9565b602082019150612d2b828561278b565b9150612d378284612857565b915081905095945050505050565b6000612d518288612774565b601482019150612d618287612cd9565b602082019150612d71828661278b565b9150612d7d8285612857565b9150612d898284612cd9565b6020820191508190509695505050505050565b6000612da88284612857565b915081905092915050565b6000612dbf8286612857565b9150612dcb8285612774565b601482019150612ddb8284612774565b601482019150819050949350505050565b6000612df88285612857565b9150612e048284612857565b91508190509392505050565b6000612e1b826128e6565b9150612e278284612807565b60208201915081905092915050565b6000612e428287612cd9565b602082019150612e528286612774565b601482019150612e628285612807565b602082019150612e728284612857565b915081905095945050505050565b6000602082019050612e956000830184612747565b92915050565b6000606082019050612eb06000830186612747565b8181036020830152612ec2818561281e565b9050612ed160408301846127e9565b949350505050565b6000604082019050612eee6000830185612756565b612efb6020830184612756565b9392505050565b6000602082019050612f1760008301846127e9565b92915050565b6000602082019050612f3260008301846127f8565b92915050565b6000608082019050612f4d60008301876127f8565b612f5a6020830186612cf0565b612f6760408301856127f8565b612f7460608301846127f8565b95945050505050565b6000602082019050612f926000830184612888565b92915050565b6000602082019050612fad6000830184612897565b92915050565b60006020820190508181036000830152612fcc816128a6565b9050919050565b60006020820190508181036000830152612fec81612926565b9050919050565b6000602082019050818103600083015261300c8161298c565b9050919050565b6000602082019050818103600083015261302c816129cc565b9050919050565b6000602082019050818103600083015261304c81612a32565b9050919050565b6000602082019050818103600083015261306c81612a98565b9050919050565b6000602082019050818103600083015261308c81612afe565b9050919050565b600060208201905081810360008301526130ac81612b64565b9050919050565b600060208201905081810360008301526130cc81612ba4565b9050919050565b600060208201905081810360008301526130ec81612c0a565b9050919050565b6000602082019050818103600083015261310c81612c4a565b9050919050565b6000602082019050818103600083015261312c81612c8a565b9050919050565b60006020820190506131486000830184612cca565b92915050565b6000604051905081810181811067ffffffffffffffff8211171561317157600080fd5b8060405250919050565b600067ffffffffffffffff82111561319257600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156131ba57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156131e257600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000613278826132e5565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b60006132cc8261326d565b9050919050565b60006132de8261326d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061332782613376565b9050919050565b600061333982613340565b9050919050565b600061334b826132e5565b9050919050565b600061335d82613364565b9050919050565b600061336f826132e5565b9050919050565b600061338182613388565b9050919050565b6000613393826132e5565b9050919050565b82818337600083830152505050565b60005b838110156133c75780820151818401526020810190506133ac565b838111156133d6576000848401525b50505050565b60006133e7826133f8565b9050919050565b6000819050919050565b600061340382613425565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b61343b8161326d565b811461344657600080fd5b50565b6134528161327f565b811461345d57600080fd5b50565b61346981613295565b811461347457600080fd5b50565b613480816132c1565b811461348b57600080fd5b50565b613497816132d3565b81146134a257600080fd5b50565b6134ae81613305565b81146134b957600080fd5b5056fea164736f6c634300060c000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/GatewayRecipient.json b/artifacts/GatewayRecipient.json index 10ea4a88..44da9c5e 100644 --- a/artifacts/GatewayRecipient.json +++ b/artifacts/GatewayRecipient.json @@ -3,6 +3,57 @@ "contractName": "GatewayRecipient", "sourceName": "src/gateway/GatewayRecipient.sol", "abi": [ + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__d18be0f9", + "type": "bytes8" + } + ], + "name": "c_d18be0f9", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__d18be0f9", + "type": "bytes8" + } + ], + "name": "c_falsed18be0f9", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__d18be0f9", + "type": "bytes8" + } + ], + "name": "c_trued18be0f9", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [], "name": "gateway", diff --git a/artifacts/GatewayV2.json b/artifacts/GatewayV2.json index 238b1b6c..62abe060 100644 --- a/artifacts/GatewayV2.json +++ b/artifacts/GatewayV2.json @@ -97,6 +97,210 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_098c0657", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__0b6945c4", + "type": "bytes8" + } + ], + "name": "c_0b6945c4", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__33f6a84f", + "type": "bytes8" + } + ], + "name": "c_33f6a84f", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__52615ca8", + "type": "bytes8" + } + ], + "name": "c_52615ca8", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_false098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__0b6945c4", + "type": "bytes8" + } + ], + "name": "c_false0b6945c4", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__33f6a84f", + "type": "bytes8" + } + ], + "name": "c_false33f6a84f", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__52615ca8", + "type": "bytes8" + } + ], + "name": "c_false52615ca8", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_true098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__0b6945c4", + "type": "bytes8" + } + ], + "name": "c_true0b6945c4", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__33f6a84f", + "type": "bytes8" + } + ], + "name": "c_true33f6a84f", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__52615ca8", + "type": "bytes8" + } + ], + "name": "c_true52615ca8", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [], "name": "chainId", @@ -580,8 +784,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000469050806001819055505061315e8061006d6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806387d31313116100b8578063b5021b161161007c578063b5021b1614610349578063d0f710d614610365578063d2c83b9a14610395578063d305d0db146103b3578063d9f13021146103cf578063f92c5f7c146103eb57610142565b806387d31313146102b95780639a8a0592146102d75780639f255626146102f5578063a526d83b14610311578063ac2a08cd1461032d57610142565b8063538901341161010a57806353890134146101e95780635afaa7bb14610205578063714041561461022157806373e5a13f1461023d57806376db2b4c1461026d578063867519c61461029d57610142565b80630c68ba2114610147578063231badaf14610177578063371aa71a14610193578063392e53cd146101af578063485cc955146101cd575b600080fd5b610161600480360381019061015c9190611e5b565b61041b565b60405161016e9190612b23565b60405180910390f35b610191600480360381019061018c9190611f03565b610471565b005b6101ad60048036038101906101a89190611f03565b61056c565b005b6101b761060c565b6040516101c49190612b23565b60405180910390f35b6101e760048036038101906101e29190612103565b610662565b005b61020360048036038101906101fe9190611fc2565b6107fa565b005b61021f600480360381019061021a919061202e565b610894565b005b61023b60048036038101906102369190611e5b565b610a6c565b005b61025760048036038101906102529190612180565b610c87565b6040516102649190612b3e565b60405180910390f35b6102876004803603810190610282919061213f565b610cac565b6040516102949190612b3e565b60405180910390f35b6102b760048036038101906102b29190611e84565b610cd6565b005b6102c1610ce7565b6040516102ce9190612bb9565b60405180910390f35b6102df610d0d565b6040516102ec9190612df4565b60405180910390f35b61030f600480360381019061030a9190611fc2565b610d13565b005b61032b60048036038101906103269190611e5b565b610d23565b005b61034760048036038101906103429190611f03565b610dbb565b005b610363600480360381019061035e9190611f03565b610e5b565b005b61037f600480360381019061037a91906120ab565b610f57565b60405161038c9190612b23565b60405180910390f35b61039d610fb0565b6040516103aa9190612b9e565b60405180910390f35b6103cd60048036038101906103c89190611e84565b610fd6565b005b6103e960048036038101906103e4919061202e565b611072565b005b61040560048036038101906104009190611e5b565b61110c565b6040516104129190612df4565b60405180910390f35b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484116104f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e990612c54565b60405180910390fd5b60006105128261050488888888611168565b6111cb90919063ffffffff16565b905084600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061056486828686611286565b505050505050565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166105f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ef90612cf4565b60405180910390fd5b6106058585858585610e5b565b5050505050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146106f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e790612c14565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060606107be816116f1565b507f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e6326040516107ee9190612a78565b60405180910390a15050565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087d90612cf4565b60405180910390fd5b6108908282610d13565b5050565b60008251116108d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cf90612c94565b60405180910390fd5b600080600090505b8351811015610a265760003073ffffffffffffffffffffffffffffffffffffffff1685838151811061090e57fe5b60200260200101516040516109239190612994565b6000604051808303816000865af19150503d8060008114610960576040519150601f19603f3d011682016040523d82523d6000602084013e610965565b606091505b5050905083156109b457806109af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a690612c34565b60405180910390fd5b6109ca565b8080156109bf575082155b156109c957600192505b5b7f361c14722cc344132c73396113f7164232448b09c544a149f09048648b43d872338684815181106109f857fe5b602002602001015183604051610a1093929190612abc565b60405180910390a15080806001019150506108e0565b5080610a67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5e90612dd4565b60405180910390fd5b505050565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aef90612cf4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161415610b67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5e90612db4565b60405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610bf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bea90612d14565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b3282604051610c7c929190612a93565b60405180910390a150565b6000610ca58260000151836020015184604001518560600151611168565b9050919050565b6000610ccf82600001518360200151846040015185606001518660800151611749565b9050919050565b610ce283338484611286565b505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b610d1f33338484611286565b5050565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610daf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da690612cf4565b60405180910390fd5b610db8816117af565b50565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610e47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3e90612cf4565b60405180910390fd5b610e548585858585610471565b5050505050565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411610edc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed390612c54565b60405180910390fd5b6000610efd82610eef888888883a611749565b6111cb90919063ffffffff16565b905084600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f4f86828686611286565b505050505050565b6000610fa78484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611940565b90509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105990612cf4565b60405180910390fd5b61106d838383610cd6565b505050565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166110fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f590612cf4565b60405180910390fd5b6111088282610894565b5050565b60006111616001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119ae90919063ffffffff16565b9050919050565b60006111c17f6848d0622081db2451400280dead7a739a080cb93852607c381af11e289769b286868661119a87611a03565b6040516020016111ad94939291906128f7565b604051602081830303815290604052611a66565b9050949350505050565b6000806000905060418351141561127c5760008060006020860151925060408601519150606086015160001a9050601b8160ff16101561120c57601b810190505b601b8160ff1614806112215750601c8160ff16145b1561127857600187828585604051600081526020016040526040516112499493929190612b59565b6020604051602081039080840390855afa15801561126b573d6000803e3d6000fd5b5050506020604051035193505b5050505b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156112f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ed90612c74565b60405180910390fd5b600082511161133a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133190612d94565b60405180910390fd5b815181511461137e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137590612cd4565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461155257600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b815260040161140e929190612afa565b60206040518083038186803b15801561142657600080fd5b505afa15801561143a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145e9190612082565b806115125750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b81526004016114c1929190612afa565b60206040518083038186803b1580156114d957600080fd5b505afa1580156114ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115119190612082565b5b611551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154890612cb4565b60405180910390fd5b5b600080600090505b82518110156116e957600073ffffffffffffffffffffffffffffffffffffffff1684828151811061158757fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614156115e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115dd90612bd4565b60405180910390fd5b8381815181106115f257fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1683828151811061161c57fe5b60200260200101518787604051602001611638939291906129ab565b6040516020818303038152906040526040516116549190612994565b6000604051808303816000865af19150503d8060008114611691576040519150601f19603f3d011682016040523d82523d6000602084013e611696565b606091505b505080925050816116dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d390612d34565b60405180910390fd5b808060010191505061155a565b505050505050565b60008151141561170957611704326117af565b611746565b60008151905060005b818110156117435761173683828151811061172957fe5b60200260200101516117af565b8080600101915050611712565b50505b50565b60006117a47f6f4e1b2b1e5e49f4269e19e16e67a00cb0a796d96d30be3e4b540d3732e8bcad87878761177b88611a03565b8760405160200161179095949392919061293d565b604051602081830303815290604052611a66565b905095945050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561181f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181690612bf4565b60405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156118ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a390612d74565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051611935929190612a93565b60405180910390a150565b60008061195683856111cb90919063ffffffff16565b9050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b6000808284019050838110156119f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f090612d54565b60405180910390fd5b8091505092915050565b60608060008351905060005b81811015611a5b5782858281518110611a2457fe5b6020026020010151604051602001611a3d9291906129e4565b60405160208183030381529060405292508080600101915050611a0f565b508192505050919050565b6000611a9f600154308585604051602001611a849493929190612a2e565b60405160208183030381529060405280519060200120611aa7565b905092915050565b600081604051602001611aba9190612a08565b604051602081830303815290604052805190602001209050919050565b600081359050611ae6816130c7565b92915050565b600082601f830112611afd57600080fd5b8135611b10611b0b82612e3c565b612e0f565b91508181835260208401935060208101905083856020840282011115611b3557600080fd5b60005b83811015611b655781611b4b8882611ad7565b845260208401935060208301925050600181019050611b38565b5050505092915050565b600082601f830112611b8057600080fd5b8135611b93611b8e82612e64565b612e0f565b9150818183526020840193506020810190508360005b83811015611bd95781358601611bbf8882611c6c565b845260208401935060208301925050600181019050611ba9565b5050505092915050565b600081359050611bf2816130de565b92915050565b600081519050611c07816130de565b92915050565b600081359050611c1c816130f5565b92915050565b60008083601f840112611c3457600080fd5b8235905067ffffffffffffffff811115611c4d57600080fd5b602083019150836001820283011115611c6557600080fd5b9250929050565b600082601f830112611c7d57600080fd5b8135611c90611c8b82612e8c565b612e0f565b91508082526020830160208301858383011115611cac57600080fd5b611cb783828461302f565b50505092915050565b600081359050611ccf8161310c565b92915050565b600081359050611ce481613123565b92915050565b600060a08284031215611cfc57600080fd5b611d0660a0612e0f565b90506000611d1684828501611ad7565b6000830152506020611d2a84828501611e46565b602083015250604082013567ffffffffffffffff811115611d4a57600080fd5b611d5684828501611aec565b604083015250606082013567ffffffffffffffff811115611d7657600080fd5b611d8284828501611b6f565b6060830152506080611d9684828501611e46565b60808301525092915050565b600060808284031215611db457600080fd5b611dbe6080612e0f565b90506000611dce84828501611ad7565b6000830152506020611de284828501611e46565b602083015250604082013567ffffffffffffffff811115611e0257600080fd5b611e0e84828501611aec565b604083015250606082013567ffffffffffffffff811115611e2e57600080fd5b611e3a84828501611b6f565b60608301525092915050565b600081359050611e558161313a565b92915050565b600060208284031215611e6d57600080fd5b6000611e7b84828501611ad7565b91505092915050565b600080600060608486031215611e9957600080fd5b6000611ea786828701611ad7565b935050602084013567ffffffffffffffff811115611ec457600080fd5b611ed086828701611aec565b925050604084013567ffffffffffffffff811115611eed57600080fd5b611ef986828701611b6f565b9150509250925092565b600080600080600060a08688031215611f1b57600080fd5b6000611f2988828901611ad7565b9550506020611f3a88828901611e46565b945050604086013567ffffffffffffffff811115611f5757600080fd5b611f6388828901611aec565b935050606086013567ffffffffffffffff811115611f8057600080fd5b611f8c88828901611b6f565b925050608086013567ffffffffffffffff811115611fa957600080fd5b611fb588828901611c6c565b9150509295509295909350565b60008060408385031215611fd557600080fd5b600083013567ffffffffffffffff811115611fef57600080fd5b611ffb85828601611aec565b925050602083013567ffffffffffffffff81111561201857600080fd5b61202485828601611b6f565b9150509250929050565b6000806040838503121561204157600080fd5b600083013567ffffffffffffffff81111561205b57600080fd5b61206785828601611b6f565b925050602061207885828601611be3565b9150509250929050565b60006020828403121561209457600080fd5b60006120a284828501611bf8565b91505092915050565b6000806000604084860312156120c057600080fd5b60006120ce86828701611c0d565b935050602084013567ffffffffffffffff8111156120eb57600080fd5b6120f786828701611c22565b92509250509250925092565b6000806040838503121561211657600080fd5b600061212485828601611cc0565b925050602061213585828601611cd5565b9150509250929050565b60006020828403121561215157600080fd5b600082013567ffffffffffffffff81111561216b57600080fd5b61217784828501611cea565b91505092915050565b60006020828403121561219257600080fd5b600082013567ffffffffffffffff8111156121ac57600080fd5b6121b884828501611da2565b91505092915050565b60006121cd83836121f7565b60208301905092915050565b6121e281612fb1565b82525050565b6121f181612f2e565b82525050565b61220081612f2e565b82525050565b61221761221282612f2e565b613071565b82525050565b600061222882612ec8565b6122328185612eeb565b935061223d83612eb8565b8060005b8381101561226e57815161225588826121c1565b975061226083612ede565b925050600181019050612241565b5085935050505092915050565b61228481612f40565b82525050565b61229381612f4c565b82525050565b6122aa6122a582612f4c565b613083565b82525050565b60006122bb82612ed3565b6122c58185612ef6565b93506122d581856020860161303e565b6122de816130a9565b840191505092915050565b60006122f482612ed3565b6122fe8185612f07565b935061230e81856020860161303e565b80840191505092915050565b61232381612fc3565b82525050565b61233281612fe7565b82525050565b6000612345601b83612f12565b91507f476174657761793a2063616e6e6f742073656e6420746f2030783000000000006000830152602082019050919050565b6000612385601c83612f23565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b60006123c5602083612f12565b91507f477561726465643a2063616e6e6f74206164642030783020677561726469616e6000830152602082019050919050565b6000612405602f83612f12565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b600061246b601783612f12565b91507f476174657761793a2062617463682072657665727465640000000000000000006000830152602082019050919050565b60006124ab603283612f12565b91507f476174657761793a206e6f6e6365206973206c6f776572207468616e2063757260008301527f72656e74206163636f756e74206e6f6e636500000000000000000000000000006020830152604082019050919050565b6000612511602583612f12565b91507f476174657761793a2063616e6e6f742073656e642066726f6d2030783020616360008301527f636f756e740000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612577602683612f12565b91507f476174657761793a2063616e6e6f742064656c656761746520656d707479206260008301527f61746368657300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006125dd602883612f12565b91507f476174657761793a2073656e646572206973206e6f7420746865206163636f7560008301527f6e74206f776e65720000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612643601683612f12565b91507f476174657761793a20696e76616c6964206261746368000000000000000000006000830152602082019050919050565b6000612683602683612f12565b91507f477561726465643a2074782e6f726967696e206973206e6f742074686520677560008301527f61726469616e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006126e9601f83612f12565b91507f477561726465643a20677561726469616e20646f65736e2774206578697374006000830152602082019050919050565b6000612729602383612f12565b91507f476174657761793a206261746368207472616e73616374696f6e20726576657260008301527f74656400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061278f601e83612f12565b91507f536166654d6174684c69623a206164646974696f6e206f766572666c6f7700006000830152602082019050919050565b60006127cf602083612f12565b91507f477561726465643a20677561726469616e20616c7265616479206578697374736000830152602082019050919050565b600061280f602083612f12565b91507f476174657761793a2063616e6e6f742073656e6420656d7074792062617463686000830152602082019050919050565b600061284f601b83612f12565b91507f477561726465643a2063616e6e6f742072656d6f76652073656c6600000000006000830152602082019050919050565b600061288f601d83612f12565b91507f476174657761793a20616c6c20626174636865732072657665727465640000006000830152602082019050919050565b6128cb81612f9a565b82525050565b6128e26128dd82612f9a565b61309f565b82525050565b6128f181612fa4565b82525050565b60006129038287612206565b60148201915061291382866128d1565b602082019150612923828561221d565b915061292f82846122e9565b915081905095945050505050565b60006129498288612206565b60148201915061295982876128d1565b602082019150612969828661221d565b915061297582856122e9565b915061298182846128d1565b6020820191508190509695505050505050565b60006129a082846122e9565b915081905092915050565b60006129b782866122e9565b91506129c38285612206565b6014820191506129d38284612206565b601482019150819050949350505050565b60006129f082856122e9565b91506129fc82846122e9565b91508190509392505050565b6000612a1382612378565b9150612a1f8284612299565b60208201915081905092915050565b6000612a3a82876128d1565b602082019150612a4a8286612206565b601482019150612a5a8285612299565b602082019150612a6a82846122e9565b915081905095945050505050565b6000602082019050612a8d60008301846121d9565b92915050565b6000604082019050612aa860008301856121d9565b612ab560208301846121e8565b9392505050565b6000606082019050612ad160008301866121d9565b8181036020830152612ae381856122b0565b9050612af2604083018461227b565b949350505050565b6000604082019050612b0f60008301856121e8565b612b1c60208301846121e8565b9392505050565b6000602082019050612b38600083018461227b565b92915050565b6000602082019050612b53600083018461228a565b92915050565b6000608082019050612b6e600083018761228a565b612b7b60208301866128e8565b612b88604083018561228a565b612b95606083018461228a565b95945050505050565b6000602082019050612bb3600083018461231a565b92915050565b6000602082019050612bce6000830184612329565b92915050565b60006020820190508181036000830152612bed81612338565b9050919050565b60006020820190508181036000830152612c0d816123b8565b9050919050565b60006020820190508181036000830152612c2d816123f8565b9050919050565b60006020820190508181036000830152612c4d8161245e565b9050919050565b60006020820190508181036000830152612c6d8161249e565b9050919050565b60006020820190508181036000830152612c8d81612504565b9050919050565b60006020820190508181036000830152612cad8161256a565b9050919050565b60006020820190508181036000830152612ccd816125d0565b9050919050565b60006020820190508181036000830152612ced81612636565b9050919050565b60006020820190508181036000830152612d0d81612676565b9050919050565b60006020820190508181036000830152612d2d816126dc565b9050919050565b60006020820190508181036000830152612d4d8161271c565b9050919050565b60006020820190508181036000830152612d6d81612782565b9050919050565b60006020820190508181036000830152612d8d816127c2565b9050919050565b60006020820190508181036000830152612dad81612802565b9050919050565b60006020820190508181036000830152612dcd81612842565b9050919050565b60006020820190508181036000830152612ded81612882565b9050919050565b6000602082019050612e0960008301846128c2565b92915050565b6000604051905081810181811067ffffffffffffffff82111715612e3257600080fd5b8060405250919050565b600067ffffffffffffffff821115612e5357600080fd5b602082029050602081019050919050565b600067ffffffffffffffff821115612e7b57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff821115612ea357600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000612f3982612f7a565b9050919050565b60008115159050919050565b6000819050919050565b6000612f6182612f2e565b9050919050565b6000612f7382612f2e565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612fbc8261300b565b9050919050565b6000612fce82612fd5565b9050919050565b6000612fe082612f7a565b9050919050565b6000612ff282612ff9565b9050919050565b600061300482612f7a565b9050919050565b60006130168261301d565b9050919050565b600061302882612f7a565b9050919050565b82818337600083830152505050565b60005b8381101561305c578082015181840152602081019050613041565b8381111561306b576000848401525b50505050565b600061307c8261308d565b9050919050565b6000819050919050565b6000613098826130ba565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b6130d081612f2e565b81146130db57600080fd5b50565b6130e781612f40565b81146130f257600080fd5b50565b6130fe81612f4c565b811461310957600080fd5b50565b61311581612f56565b811461312057600080fd5b50565b61312c81612f68565b811461313757600080fd5b50565b61314381612f9a565b811461314e57600080fd5b5056fea164736f6c634300060c000a", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101425760003560e01c806387d31313116100b8578063b5021b161161007c578063b5021b1614610349578063d0f710d614610365578063d2c83b9a14610395578063d305d0db146103b3578063d9f13021146103cf578063f92c5f7c146103eb57610142565b806387d31313146102b95780639a8a0592146102d75780639f255626146102f5578063a526d83b14610311578063ac2a08cd1461032d57610142565b8063538901341161010a57806353890134146101e95780635afaa7bb14610205578063714041561461022157806373e5a13f1461023d57806376db2b4c1461026d578063867519c61461029d57610142565b80630c68ba2114610147578063231badaf14610177578063371aa71a14610193578063392e53cd146101af578063485cc955146101cd575b600080fd5b610161600480360381019061015c9190611e5b565b61041b565b60405161016e9190612b23565b60405180910390f35b610191600480360381019061018c9190611f03565b610471565b005b6101ad60048036038101906101a89190611f03565b61056c565b005b6101b761060c565b6040516101c49190612b23565b60405180910390f35b6101e760048036038101906101e29190612103565b610662565b005b61020360048036038101906101fe9190611fc2565b6107fa565b005b61021f600480360381019061021a919061202e565b610894565b005b61023b60048036038101906102369190611e5b565b610a6c565b005b61025760048036038101906102529190612180565b610c87565b6040516102649190612b3e565b60405180910390f35b6102876004803603810190610282919061213f565b610cac565b6040516102949190612b3e565b60405180910390f35b6102b760048036038101906102b29190611e84565b610cd6565b005b6102c1610ce7565b6040516102ce9190612bb9565b60405180910390f35b6102df610d0d565b6040516102ec9190612df4565b60405180910390f35b61030f600480360381019061030a9190611fc2565b610d13565b005b61032b60048036038101906103269190611e5b565b610d23565b005b61034760048036038101906103429190611f03565b610dbb565b005b610363600480360381019061035e9190611f03565b610e5b565b005b61037f600480360381019061037a91906120ab565b610f57565b60405161038c9190612b23565b60405180910390f35b61039d610fb0565b6040516103aa9190612b9e565b60405180910390f35b6103cd60048036038101906103c89190611e84565b610fd6565b005b6103e960048036038101906103e4919061202e565b611072565b005b61040560048036038101906104009190611e5b565b61110c565b6040516104129190612df4565b60405180910390f35b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484116104f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e990612c54565b60405180910390fd5b60006105128261050488888888611168565b6111cb90919063ffffffff16565b905084600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061056486828686611286565b505050505050565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166105f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ef90612cf4565b60405180910390fd5b6106058585858585610e5b565b5050505050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146106f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e790612c14565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060606107be816116f1565b507f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e6326040516107ee9190612a78565b60405180910390a15050565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087d90612cf4565b60405180910390fd5b6108908282610d13565b5050565b60008251116108d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cf90612c94565b60405180910390fd5b600080600090505b8351811015610a265760003073ffffffffffffffffffffffffffffffffffffffff1685838151811061090e57fe5b60200260200101516040516109239190612994565b6000604051808303816000865af19150503d8060008114610960576040519150601f19603f3d011682016040523d82523d6000602084013e610965565b606091505b5050905083156109b457806109af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a690612c34565b60405180910390fd5b6109ca565b8080156109bf575082155b156109c957600192505b5b7f361c14722cc344132c73396113f7164232448b09c544a149f09048648b43d872338684815181106109f857fe5b602002602001015183604051610a1093929190612abc565b60405180910390a15080806001019150506108e0565b5080610a67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5e90612dd4565b60405180910390fd5b505050565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aef90612cf4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161415610b67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5e90612db4565b60405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610bf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bea90612d14565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b3282604051610c7c929190612a93565b60405180910390a150565b6000610ca58260000151836020015184604001518560600151611168565b9050919050565b6000610ccf82600001518360200151846040015185606001518660800151611749565b9050919050565b610ce283338484611286565b505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b610d1f33338484611286565b5050565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610daf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da690612cf4565b60405180910390fd5b610db8816117af565b50565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610e47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3e90612cf4565b60405180910390fd5b610e548585858585610471565b5050505050565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411610edc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed390612c54565b60405180910390fd5b6000610efd82610eef888888883a611749565b6111cb90919063ffffffff16565b905084600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f4f86828686611286565b505050505050565b6000610fa78484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611940565b90509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105990612cf4565b60405180910390fd5b61106d838383610cd6565b505050565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166110fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f590612cf4565b60405180910390fd5b6111088282610894565b5050565b60006111616001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119ae90919063ffffffff16565b9050919050565b60006111c17f6848d0622081db2451400280dead7a739a080cb93852607c381af11e289769b286868661119a87611a03565b6040516020016111ad94939291906128f7565b604051602081830303815290604052611a66565b9050949350505050565b6000806000905060418351141561127c5760008060006020860151925060408601519150606086015160001a9050601b8160ff16101561120c57601b810190505b601b8160ff1614806112215750601c8160ff16145b1561127857600187828585604051600081526020016040526040516112499493929190612b59565b6020604051602081039080840390855afa15801561126b573d6000803e3d6000fd5b5050506020604051035193505b5050505b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156112f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ed90612c74565b60405180910390fd5b600082511161133a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133190612d94565b60405180910390fd5b815181511461137e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137590612cd4565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461155257600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b815260040161140e929190612afa565b60206040518083038186803b15801561142657600080fd5b505afa15801561143a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145e9190612082565b806115125750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b81526004016114c1929190612afa565b60206040518083038186803b1580156114d957600080fd5b505afa1580156114ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115119190612082565b5b611551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154890612cb4565b60405180910390fd5b5b600080600090505b82518110156116e957600073ffffffffffffffffffffffffffffffffffffffff1684828151811061158757fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614156115e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115dd90612bd4565b60405180910390fd5b8381815181106115f257fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1683828151811061161c57fe5b60200260200101518787604051602001611638939291906129ab565b6040516020818303038152906040526040516116549190612994565b6000604051808303816000865af19150503d8060008114611691576040519150601f19603f3d011682016040523d82523d6000602084013e611696565b606091505b505080925050816116dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d390612d34565b60405180910390fd5b808060010191505061155a565b505050505050565b60008151141561170957611704326117af565b611746565b60008151905060005b818110156117435761173683828151811061172957fe5b60200260200101516117af565b8080600101915050611712565b50505b50565b60006117a47f6f4e1b2b1e5e49f4269e19e16e67a00cb0a796d96d30be3e4b540d3732e8bcad87878761177b88611a03565b8760405160200161179095949392919061293d565b604051602081830303815290604052611a66565b905095945050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561181f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181690612bf4565b60405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156118ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a390612d74565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051611935929190612a93565b60405180910390a150565b60008061195683856111cb90919063ffffffff16565b9050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b6000808284019050838110156119f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f090612d54565b60405180910390fd5b8091505092915050565b60608060008351905060005b81811015611a5b5782858281518110611a2457fe5b6020026020010151604051602001611a3d9291906129e4565b60405160208183030381529060405292508080600101915050611a0f565b508192505050919050565b6000611a9f600154308585604051602001611a849493929190612a2e565b60405160208183030381529060405280519060200120611aa7565b905092915050565b600081604051602001611aba9190612a08565b604051602081830303815290604052805190602001209050919050565b600081359050611ae6816130c7565b92915050565b600082601f830112611afd57600080fd5b8135611b10611b0b82612e3c565b612e0f565b91508181835260208401935060208101905083856020840282011115611b3557600080fd5b60005b83811015611b655781611b4b8882611ad7565b845260208401935060208301925050600181019050611b38565b5050505092915050565b600082601f830112611b8057600080fd5b8135611b93611b8e82612e64565b612e0f565b9150818183526020840193506020810190508360005b83811015611bd95781358601611bbf8882611c6c565b845260208401935060208301925050600181019050611ba9565b5050505092915050565b600081359050611bf2816130de565b92915050565b600081519050611c07816130de565b92915050565b600081359050611c1c816130f5565b92915050565b60008083601f840112611c3457600080fd5b8235905067ffffffffffffffff811115611c4d57600080fd5b602083019150836001820283011115611c6557600080fd5b9250929050565b600082601f830112611c7d57600080fd5b8135611c90611c8b82612e8c565b612e0f565b91508082526020830160208301858383011115611cac57600080fd5b611cb783828461302f565b50505092915050565b600081359050611ccf8161310c565b92915050565b600081359050611ce481613123565b92915050565b600060a08284031215611cfc57600080fd5b611d0660a0612e0f565b90506000611d1684828501611ad7565b6000830152506020611d2a84828501611e46565b602083015250604082013567ffffffffffffffff811115611d4a57600080fd5b611d5684828501611aec565b604083015250606082013567ffffffffffffffff811115611d7657600080fd5b611d8284828501611b6f565b6060830152506080611d9684828501611e46565b60808301525092915050565b600060808284031215611db457600080fd5b611dbe6080612e0f565b90506000611dce84828501611ad7565b6000830152506020611de284828501611e46565b602083015250604082013567ffffffffffffffff811115611e0257600080fd5b611e0e84828501611aec565b604083015250606082013567ffffffffffffffff811115611e2e57600080fd5b611e3a84828501611b6f565b60608301525092915050565b600081359050611e558161313a565b92915050565b600060208284031215611e6d57600080fd5b6000611e7b84828501611ad7565b91505092915050565b600080600060608486031215611e9957600080fd5b6000611ea786828701611ad7565b935050602084013567ffffffffffffffff811115611ec457600080fd5b611ed086828701611aec565b925050604084013567ffffffffffffffff811115611eed57600080fd5b611ef986828701611b6f565b9150509250925092565b600080600080600060a08688031215611f1b57600080fd5b6000611f2988828901611ad7565b9550506020611f3a88828901611e46565b945050604086013567ffffffffffffffff811115611f5757600080fd5b611f6388828901611aec565b935050606086013567ffffffffffffffff811115611f8057600080fd5b611f8c88828901611b6f565b925050608086013567ffffffffffffffff811115611fa957600080fd5b611fb588828901611c6c565b9150509295509295909350565b60008060408385031215611fd557600080fd5b600083013567ffffffffffffffff811115611fef57600080fd5b611ffb85828601611aec565b925050602083013567ffffffffffffffff81111561201857600080fd5b61202485828601611b6f565b9150509250929050565b6000806040838503121561204157600080fd5b600083013567ffffffffffffffff81111561205b57600080fd5b61206785828601611b6f565b925050602061207885828601611be3565b9150509250929050565b60006020828403121561209457600080fd5b60006120a284828501611bf8565b91505092915050565b6000806000604084860312156120c057600080fd5b60006120ce86828701611c0d565b935050602084013567ffffffffffffffff8111156120eb57600080fd5b6120f786828701611c22565b92509250509250925092565b6000806040838503121561211657600080fd5b600061212485828601611cc0565b925050602061213585828601611cd5565b9150509250929050565b60006020828403121561215157600080fd5b600082013567ffffffffffffffff81111561216b57600080fd5b61217784828501611cea565b91505092915050565b60006020828403121561219257600080fd5b600082013567ffffffffffffffff8111156121ac57600080fd5b6121b884828501611da2565b91505092915050565b60006121cd83836121f7565b60208301905092915050565b6121e281612fb1565b82525050565b6121f181612f2e565b82525050565b61220081612f2e565b82525050565b61221761221282612f2e565b613071565b82525050565b600061222882612ec8565b6122328185612eeb565b935061223d83612eb8565b8060005b8381101561226e57815161225588826121c1565b975061226083612ede565b925050600181019050612241565b5085935050505092915050565b61228481612f40565b82525050565b61229381612f4c565b82525050565b6122aa6122a582612f4c565b613083565b82525050565b60006122bb82612ed3565b6122c58185612ef6565b93506122d581856020860161303e565b6122de816130a9565b840191505092915050565b60006122f482612ed3565b6122fe8185612f07565b935061230e81856020860161303e565b80840191505092915050565b61232381612fc3565b82525050565b61233281612fe7565b82525050565b6000612345601b83612f12565b91507f476174657761793a2063616e6e6f742073656e6420746f2030783000000000006000830152602082019050919050565b6000612385601c83612f23565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b60006123c5602083612f12565b91507f477561726465643a2063616e6e6f74206164642030783020677561726469616e6000830152602082019050919050565b6000612405602f83612f12565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b600061246b601783612f12565b91507f476174657761793a2062617463682072657665727465640000000000000000006000830152602082019050919050565b60006124ab603283612f12565b91507f476174657761793a206e6f6e6365206973206c6f776572207468616e2063757260008301527f72656e74206163636f756e74206e6f6e636500000000000000000000000000006020830152604082019050919050565b6000612511602583612f12565b91507f476174657761793a2063616e6e6f742073656e642066726f6d2030783020616360008301527f636f756e740000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612577602683612f12565b91507f476174657761793a2063616e6e6f742064656c656761746520656d707479206260008301527f61746368657300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006125dd602883612f12565b91507f476174657761793a2073656e646572206973206e6f7420746865206163636f7560008301527f6e74206f776e65720000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612643601683612f12565b91507f476174657761793a20696e76616c6964206261746368000000000000000000006000830152602082019050919050565b6000612683602683612f12565b91507f477561726465643a2074782e6f726967696e206973206e6f742074686520677560008301527f61726469616e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006126e9601f83612f12565b91507f477561726465643a20677561726469616e20646f65736e2774206578697374006000830152602082019050919050565b6000612729602383612f12565b91507f476174657761793a206261746368207472616e73616374696f6e20726576657260008301527f74656400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061278f601e83612f12565b91507f536166654d6174684c69623a206164646974696f6e206f766572666c6f7700006000830152602082019050919050565b60006127cf602083612f12565b91507f477561726465643a20677561726469616e20616c7265616479206578697374736000830152602082019050919050565b600061280f602083612f12565b91507f476174657761793a2063616e6e6f742073656e6420656d7074792062617463686000830152602082019050919050565b600061284f601b83612f12565b91507f477561726465643a2063616e6e6f742072656d6f76652073656c6600000000006000830152602082019050919050565b600061288f601d83612f12565b91507f476174657761793a20616c6c20626174636865732072657665727465640000006000830152602082019050919050565b6128cb81612f9a565b82525050565b6128e26128dd82612f9a565b61309f565b82525050565b6128f181612fa4565b82525050565b60006129038287612206565b60148201915061291382866128d1565b602082019150612923828561221d565b915061292f82846122e9565b915081905095945050505050565b60006129498288612206565b60148201915061295982876128d1565b602082019150612969828661221d565b915061297582856122e9565b915061298182846128d1565b6020820191508190509695505050505050565b60006129a082846122e9565b915081905092915050565b60006129b782866122e9565b91506129c38285612206565b6014820191506129d38284612206565b601482019150819050949350505050565b60006129f082856122e9565b91506129fc82846122e9565b91508190509392505050565b6000612a1382612378565b9150612a1f8284612299565b60208201915081905092915050565b6000612a3a82876128d1565b602082019150612a4a8286612206565b601482019150612a5a8285612299565b602082019150612a6a82846122e9565b915081905095945050505050565b6000602082019050612a8d60008301846121d9565b92915050565b6000604082019050612aa860008301856121d9565b612ab560208301846121e8565b9392505050565b6000606082019050612ad160008301866121d9565b8181036020830152612ae381856122b0565b9050612af2604083018461227b565b949350505050565b6000604082019050612b0f60008301856121e8565b612b1c60208301846121e8565b9392505050565b6000602082019050612b38600083018461227b565b92915050565b6000602082019050612b53600083018461228a565b92915050565b6000608082019050612b6e600083018761228a565b612b7b60208301866128e8565b612b88604083018561228a565b612b95606083018461228a565b95945050505050565b6000602082019050612bb3600083018461231a565b92915050565b6000602082019050612bce6000830184612329565b92915050565b60006020820190508181036000830152612bed81612338565b9050919050565b60006020820190508181036000830152612c0d816123b8565b9050919050565b60006020820190508181036000830152612c2d816123f8565b9050919050565b60006020820190508181036000830152612c4d8161245e565b9050919050565b60006020820190508181036000830152612c6d8161249e565b9050919050565b60006020820190508181036000830152612c8d81612504565b9050919050565b60006020820190508181036000830152612cad8161256a565b9050919050565b60006020820190508181036000830152612ccd816125d0565b9050919050565b60006020820190508181036000830152612ced81612636565b9050919050565b60006020820190508181036000830152612d0d81612676565b9050919050565b60006020820190508181036000830152612d2d816126dc565b9050919050565b60006020820190508181036000830152612d4d8161271c565b9050919050565b60006020820190508181036000830152612d6d81612782565b9050919050565b60006020820190508181036000830152612d8d816127c2565b9050919050565b60006020820190508181036000830152612dad81612802565b9050919050565b60006020820190508181036000830152612dcd81612842565b9050919050565b60006020820190508181036000830152612ded81612882565b9050919050565b6000602082019050612e0960008301846128c2565b92915050565b6000604051905081810181811067ffffffffffffffff82111715612e3257600080fd5b8060405250919050565b600067ffffffffffffffff821115612e5357600080fd5b602082029050602081019050919050565b600067ffffffffffffffff821115612e7b57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff821115612ea357600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000612f3982612f7a565b9050919050565b60008115159050919050565b6000819050919050565b6000612f6182612f2e565b9050919050565b6000612f7382612f2e565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612fbc8261300b565b9050919050565b6000612fce82612fd5565b9050919050565b6000612fe082612f7a565b9050919050565b6000612ff282612ff9565b9050919050565b600061300482612f7a565b9050919050565b60006130168261301d565b9050919050565b600061302882612f7a565b9050919050565b82818337600083830152505050565b60005b8381101561305c578082015181840152602081019050613041565b8381111561306b576000848401525b50505050565b600061307c8261308d565b9050919050565b6000819050919050565b6000613098826130ba565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b6130d081612f2e565b81146130db57600080fd5b50565b6130e781612f40565b81146130f257600080fd5b50565b6130fe81612f4c565b811461310957600080fd5b50565b61311581612f56565b811461312057600080fd5b50565b61312c81612f68565b811461313757600080fd5b50565b61314381612f9a565b811461314e57600080fd5b5056fea164736f6c634300060c000a", + "bytecode": "0x60806040523480156200001157600080fd5b506200002e67bcc9be562f8a4b0a60c01b6200016160201b60201c565b6200004a67579ae7209daca85260c01b6200016160201b60201c565b326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000a6676b19898ae2f7725060c01b6200016460201b60201c565b620000c2677c2d0c907f0deddc60c01b6200016460201b60201c565b620000de67f0d1a438b0305bb160c01b6200016460201b60201c565b6000620000fc6737bb5abaf3e7d9d360c01b6200016460201b60201c565b4690506200011b676f86a9c0c67bb39a60c01b6200016460201b60201c565b80600181905550506200013f67e6ad6dd6ee73072860c01b6200016760201b60201c565b6200015b674ac8a755b2af6d3f60c01b6200016a60201b60201c565b6200016d565b50565b50565b50565b50565b614ced806200017d6000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806387d313131161011a578063bccb31c6116100ad578063d2c83b9a1161007c578063d2c83b9a14610619578063d305d0db14610637578063d84fa10c14610653578063d9f1302114610683578063f92c5f7c1461069f57610206565b8063bccb31c614610581578063bcd483641461059d578063c4543305146105b9578063d0f710d6146105e957610206565b8063a526d83b116100e9578063a526d83b146104fd578063ac2a08cd14610519578063ae1a7ece14610535578063b5021b161461056557610206565b806387d31313146104755780639a8a0592146104935780639f255626146104b1578063a3561e69146104cd57610206565b80633e260b131161019d5780635afaa7bb1161016c5780635afaa7bb146103c157806371404156146103dd57806373e5a13f146103f957806376db2b4c14610429578063867519c61461045957610206565b80633e260b131461033d578063485cc9551461035957806353890134146103755780635a06fb5f1461039157610206565b80632b49e989116101d95780632b49e989146102a35780632c4bbae6146102d3578063371aa71a14610303578063392e53cd1461031f57610206565b80630c68ba211461020b578063152ec1bc1461023b578063231badaf1461025757806329fbd95714610273575b600080fd5b6102256004803603810190610220919061397e565b6106cf565b604051610232919061466f565b60405180910390f35b61025560048036038101906102509190613c26565b610761565b005b610271600480360381019061026c9190613a26565b610764565b005b61028d60048036038101906102889190613c26565b610927565b60405161029a919061466f565b60405180910390f35b6102bd60048036038101906102b89190613c26565b610932565b6040516102ca919061466f565b60405180910390f35b6102ed60048036038101906102e89190613c26565b61093d565b6040516102fa919061466f565b60405180910390f35b61031d60048036038101906103189190613a26565b610944565b005b610327610ac0565b604051610334919061466f565b60405180910390f35b61035760048036038101906103529190613c26565b610b53565b005b610373600480360381019061036e9190613c4f565b610b56565b005b61038f600480360381019061038a9190613ae5565b610e56565b005b6103ab60048036038101906103a69190613c26565b610fcc565b6040516103b8919061466f565b60405180910390f35b6103db60048036038101906103d69190613b51565b610fd3565b005b6103f760048036038101906103f2919061397e565b611419565b005b610413600480360381019061040e9190613ccc565b6117c4565b604051610420919061468a565b60405180910390f35b610443600480360381019061043e9190613c8b565b611825565b604051610450919061468a565b60405180910390f35b610473600480360381019061046e91906139a7565b61188b565b005b61047d6118d8565b60405161048a9190614705565b60405180910390f35b61049b6118fe565b6040516104a89190614940565b60405180910390f35b6104cb60048036038101906104c69190613ae5565b611904565b005b6104e760048036038101906104e29190613c26565b611950565b6040516104f4919061466f565b60405180910390f35b6105176004803603810190610512919061397e565b611957565b005b610533600480360381019061052e9190613a26565b611acb565b005b61054f600480360381019061054a9190613c26565b611c47565b60405161055c919061466f565b60405180910390f35b61057f600480360381019061057a9190613a26565b611c52565b005b61059b60048036038101906105969190613c26565b611e16565b005b6105b760048036038101906105b29190613c26565b611e19565b005b6105d360048036038101906105ce9190613c26565b611e1c565b6040516105e0919061466f565b60405180910390f35b61060360048036038101906105fe9190613bce565b611e27565b604051610610919061466f565b60405180910390f35b610621611ebc565b60405161062e91906146ea565b60405180910390f35b610651600480360381019061064c91906139a7565b611ee2565b005b61066d60048036038101906106689190613c26565b61205a565b60405161067a919061466f565b60405180910390f35b61069d60048036038101906106989190613b51565b612061565b005b6106b960048036038101906106b4919061397e565b6121d7565b6040516106c69190614940565b60405180910390f35b60006106e5677ab52c65f999e01f60c01b611e16565b6106f96710268b7b424a1bd560c01b611e16565b61070d6713a157f311059a7b60c01b611e16565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b50565b610778672cb965356e53b62460c01b610761565b61078c6726d32791746dc3e760c01b610761565b6107a06716b60443ee3d484960c01b610761565b6107b467cec972bd94c2448360c01b610761565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411610835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082c906147a0565b60405180910390fd5b610849676885a737ccda6b5b60c01b610761565b61085d67b7ec0f056156fc5760c01b610761565b61087167fa7e965b6a90871e60c01b610761565b6000610891826108838888888861226f565b61230e90919063ffffffff16565b90506108a767598623896aa1bd8160c01b610761565b84600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108ff67c3db6fc8702a504560c01b610761565b61091367fbd88fe633d4bf3260c01b610761565b61091f86828686612616565b505050505050565b600060019050919050565b600060019050919050565b6000919050565b61095867f80918793645654b60c01b610761565b61096c67e0600b94c13d066760c01b611e16565b6109806755e8cedcdd449e2360c01b611e16565b61099467ab821ba7fedab67160c01b611e16565b6109a867c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2b90614840565b60405180910390fd5b610a4867d014260b312542b460c01b611e16565b610a5c674e25985d1c99d1f260c01b611e16565b610a7067d9e2558f3071e89160c01b610761565b610a84673490315f4c7453b860c01b610761565b610a98675952ab5ca3321cf560c01b610761565b610aac679cb6b3466f5d6d7c60c01b610761565b610ab98585858585611c52565b5050505050565b6000610ad667e29fe2f351ca6b2760c01b610b53565b610aea676f5dd3f08b97747760c01b610b53565b610afe673a9488d62818322a60c01b610b53565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b610b6a673697766a57f7a80b60c01b610761565b610b7e67d2ba19feb39e0b7f60c01b610b53565b610b92670c5ad53cdb9edd1560c01b610b53565b610ba667b6b588d2ebb9ae6960c01b610b53565b610bba67c4ec9a90a885875260c01b610b53565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3f90614760565b60405180910390fd5b610c5c67c3785ba1534db95460c01b610b53565b610c7067e4202927591248ef60c01b610b53565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cc567531cfa2817fbdc8660c01b610b53565b610cd967bb0a8b65334dd2c460c01b610761565b610ced67b92403dbe97ab63260c01b610761565b610d01671b78f114fbb0b72060c01b610761565b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d5667b22295775e3c649e60c01b610761565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610dab6730acc016638bd43a60c01b610761565b610dbf67c9a34505f7a2971960c01b610761565b6060610dd56739403c970cf16b0b60c01b610761565b610de9673890f2fd064539ca60c01b610761565b610df281612d63565b50610e076701520f419008b58e60c01b610b53565b610e1b6775364c04848b013b60c01b610b53565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051610e4a91906145c4565b60405180910390a15050565b610e6a6706786e491e3250c160c01b610761565b610e7e67e0600b94c13d066760c01b611e16565b610e926755e8cedcdd449e2360c01b611e16565b610ea667ab821ba7fedab67160c01b611e16565b610eba67c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610f46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3d90614840565b60405180910390fd5b610f5a67d014260b312542b460c01b611e16565b610f6e674e25985d1c99d1f260c01b611e16565b610f8267aed871277ddbb64c60c01b610761565b610f96671ec4a771e62fadf860c01b610761565b610faa67f2c24f3ab45357f160c01b610761565b610fbe674a9776de3de1749a60c01b610761565b610fc88282611904565b5050565b6000919050565b610fe76727e530a65c18cf7760c01b610761565b610ffb673479b3b9839be87b60c01b610761565b61100f67ddf24acef953714a60c01b610761565b61102367bb03e151ac9c27de60c01b610761565b6000825111611067576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105e906147e0565b60405180910390fd5b61107b67fbecfcb237fc946360c01b610761565b61108f67e27ec692e947323360c01b610761565b6110a367f14d14fac430da9560c01b610761565b60006110b96705f410059ee1a0f960c01b610761565b6110cd6738b1b2fe2e9d053a60c01b610761565b60005b835181101561135b576110ed67c75e73eb292eb02a60c01b610761565b61110167b78b62351a90d44360c01b610761565b60003073ffffffffffffffffffffffffffffffffffffffff1685838151811061112657fe5b602002602001015160405161113b91906144e0565b6000604051808303816000865af19150503d8060008114611178576040519150601f19603f3d011682016040523d82523d6000602084013e61117d565b606091505b5050905061119567736c6d76b82a9add60c01b610761565b6111a967d2553c434ed3db3260c01b610761565b8315611258576111c367deebfac5c773826c60c01b610761565b6111d7679fb439c60501b49f60c01b610761565b6111eb67b3057f4bca04838360c01b610761565b6111ff6730ecce8cedfe20fe60c01b610761565b8061123f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123690614780565b60405180910390fd5b61125367d86dd5b82a9e593660c01b610761565b6112d7565b61126c67346fc3cb5711a6b460c01b610761565b611280673f97de6e927ba93d60c01b610761565b80801561128b575082155b156112c1576112a46771ca7e173b61f90360c01b610761565b6112b867da44f1125610870660c01b610761565b600192506112d6565b6112d5675690ff7de2cfd4dd60c01b610761565b5b5b6112eb677421f9109195b65260c01b610761565b6112ff6701974b34eaa9b13c60c01b610761565b7f361c14722cc344132c73396113f7164232448b09c544a149f09048648b43d8723386848151811061132d57fe5b60200260200101518360405161134593929190614608565b60405180910390a15080806001019150506110d0565b506113706784acc65a9eec5b5f60c01b610761565b61138467c73482fe07164bae60c01b610761565b806114005761139d67504c1c7b7326af2c60c01b610761565b6113b1670e7869282d8fda6f60c01b610761565b6113c56720080506722517aa60c01b610761565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f790614920565b60405180910390fd5b611414673bc70d3d4324861e60c01b610761565b505050565b61142d6747dd6d4e27a092d260c01b611e16565b61144167e0600b94c13d066760c01b611e16565b6114556755e8cedcdd449e2360c01b611e16565b61146967ab821ba7fedab67160c01b611e16565b61147d67c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611509576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150090614840565b60405180910390fd5b61151d67d014260b312542b460c01b611e16565b611531674e25985d1c99d1f260c01b611e16565b61154567736984febec5fd2560c01b611e16565b61155967cbb923c66996310360c01b611e16565b61156d672c114aff1103564b60c01b611e16565b61158167a76a63e34be2bddb60c01b611e16565b61159567a220bc889ca09d2360c01b611e16565b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161415611604576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fb90614900565b60405180910390fd5b611618679467d7af09c5944d60c01b611e16565b61162c67c28a58b1b15ad6de60c01b611e16565b61164067c70b0fecc7c6d3b160c01b611e16565b61165467e7892f9392d41a6760c01b611e16565b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166116e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d790614860565b60405180910390fd5b6116f4675a0de441d13969aa60c01b611e16565b611708674e473b0a29064fba60c01b611e16565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061177467e398e5606400274660c01b611e16565b6117886738c3bd156a3471c260c01b611e16565b7fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b32826040516117b99291906145df565b60405180910390a150565b60006117da67b71cbc54b79642e460c01b610761565b6117ee671d727cf6c847c49660c01b610761565b61180267b20bfeafcd33afb660c01b610761565b61181e826000015183602001518460400151856060015161226f565b9050919050565b600061183b67b43ba9ef81a9b3fd60c01b610761565b61184f678dcdeb463de7515c60c01b610761565b6118636789a48b615adada4560c01b610761565b61188482600001518360200151846040015185606001518660800151612ebf565b9050919050565b61189f6790077d401774f15b60c01b610761565b6118b367dd8df7e804a647ab60c01b610761565b6118c767e91647c2d11d34f260c01b610761565b6118d383338484612616565b505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b61191867305e7d085ffadf5d60c01b610761565b61192c6754042eeb653cce4660c01b610761565b6119406774bf17ed00241c8560c01b610761565b61194c33338484612616565b5050565b6000919050565b61196b67c17b66a0b198af7b60c01b611e16565b61197f67e0600b94c13d066760c01b611e16565b6119936755e8cedcdd449e2360c01b611e16565b6119a767ab821ba7fedab67160c01b611e16565b6119bb67c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3e90614840565b60405180910390fd5b611a5b67d014260b312542b460c01b611e16565b611a6f674e25985d1c99d1f260c01b611e16565b611a8367dfa24a8cc198350160c01b611e16565b611a9767f9907d82cd18ee0760c01b611e16565b611aab67dd37ee49f553c5a760c01b611e16565b611abf679ad66b1d98f77fdf60c01b611e16565b611ac881612f61565b50565b611adf6759a806c25eead63f60c01b610761565b611af367e0600b94c13d066760c01b611e16565b611b076755e8cedcdd449e2360c01b611e16565b611b1b67ab821ba7fedab67160c01b611e16565b611b2f67c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb290614840565b60405180910390fd5b611bcf67d014260b312542b460c01b611e16565b611be3674e25985d1c99d1f260c01b611e16565b611bf767f9ea7b462cc4eda560c01b610761565b611c0b67d3d3cf6ca514249660c01b610761565b611c1f676ef2cd549351305b60c01b610761565b611c33672b1fcb01af64303060c01b610761565b611c408585858585610764565b5050505050565b600060019050919050565b611c666730a97bcc310e329660c01b610761565b611c7a67592cde26837dac1c60c01b610761565b611c8e67e369c1a0804a314e60c01b610761565b611ca2675e97b82ccfd1adc660c01b610761565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411611d23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1a906147a0565b60405180910390fd5b611d3767bf862c95cc9f5d2260c01b610761565b611d4b67f9a3395c1202545060c01b610761565b611d5f677beaba84e36d3d4a60c01b610761565b6000611d8082611d72888888883a612ebf565b61230e90919063ffffffff16565b9050611d9667dc568d561866531460c01b610761565b84600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dee6768886f5dc5d732ec60c01b610761565b611e02672e35ca05a06d172160c01b610761565b611e0e86828686612616565b505050505050565b50565b50565b600060019050919050565b6000611e3d670fa739e07c029f9060c01b611e16565b611e5167406100042e7653bd60c01b611e16565b611e656784104632bda8198f60c01b611e16565b611eb38484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506131e2565b90509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611ef667313903b59a995d7660c01b610761565b611f0a67e0600b94c13d066760c01b611e16565b611f1e6755e8cedcdd449e2360c01b611e16565b611f3267ab821ba7fedab67160c01b611e16565b611f4667c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611fd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc990614840565b60405180910390fd5b611fe667d014260b312542b460c01b611e16565b611ffa674e25985d1c99d1f260c01b611e16565b61200e671f7542edd3d74d2f60c01b610761565b612022677f6b1c92b6f5e5a960c01b610761565b61203667cad2aa7c334e8b3b60c01b610761565b61204a6703308feac1e8ee1360c01b610761565b61205583838361188b565b505050565b6000919050565b61207567fb2097e639da463260c01b610761565b61208967e0600b94c13d066760c01b611e16565b61209d6755e8cedcdd449e2360c01b611e16565b6120b167ab821ba7fedab67160c01b611e16565b6120c567c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214890614840565b60405180910390fd5b61216567d014260b312542b460c01b611e16565b612179674e25985d1c99d1f260c01b611e16565b61218d670a8996d09423e9a560c01b610761565b6121a1674c210d2c1091800160c01b610761565b6121b56793370d1f34f52d6160c01b610761565b6121c967cf247f4dcde0a80d60c01b610761565b6121d38282610fd3565b5050565b60006121ed67905ee8ae82cae5cb60c01b610761565b612201672ee07bb43076d99160c01b610761565b61221567798fd982696fe97360c01b610761565b6122686001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546132b590919063ffffffff16565b9050919050565b600061228567d6536873dad1c60260c01b610761565b612299673f091c2291af034760c01b610761565b6122ad676c51c993615d51fc60c01b610761565b6123047f6848d0622081db2451400280dead7a739a080cb93852607c381af11e289769b28686866122dd876133bf565b6040516020016122f09493929190614443565b6040516020818303038152906040526134eb565b9050949350505050565b6000612324670d75db982ec4597160c01b613568565b6123386725c2c60ab754182560c01b613568565b61234c673eb64a254569ed0660c01b613568565b600061236267fb2a2286066e15e460c01b613568565b61237667a440db11ec9e986d60c01b613568565b6041835114156125cf576123946704a5aada48e2763260c01b613568565b6123a8674b98cf1796e5c26660c01b613568565b6123bc67d2dfec7b159385fc60c01b613568565b60006123d26772c2a840621b4aa760c01b613568565b6123e667bfd411e6ba4d07c460c01b613568565b60006123fc67145d23f82764ba9960c01b613568565b61241067acdff958a9c6c5dd60c01b613568565b6000612426673b79e3a80932a6a160c01b613568565b6020860151925060408601519150606086015160001a9050612452679b0cdee01a57ea2f60c01b613568565b612466675dbf88583373227960c01b613568565b601b8160ff1610156124a557612486670dc9a1836eb51c3260c01b613568565b61249a677097d8456a6c3e1560c01b613568565b601b810190506124ba565b6124b96708b39c61216869e760c01b613568565b5b6124ce672ea4d6db7d2138c560c01b613568565b6124e2679ad3f461195a5eee60c01b613568565b601b8160ff16148015612505575061250467a24e972b59dc7d0560c01b61356b565b5b8061252f5750601c8160ff1614801561252e575061252d67934bee4849491d9560c01b61356b565b5b5b156125b257612548676d6a491fc6e072fa60c01b613568565b61255c67aecd1690d1de9f1c60c01b613568565b6001878285856040516000815260200160405260405161257f94939291906146a5565b6020604051602081039080840390855afa1580156125a1573d6000803e3d6000fd5b5050506020604051035193506125c7565b6125c667513fbc3b3a0ad1c060c01b613568565b5b5050506125e4565b6125e36723d6d78de386c96660c01b613568565b5b6125f86707d0c4f11e72cfc960c01b613568565b61260c67b9689b22f403636c60c01b613568565b8091505092915050565b61262a6772b534df044a3e6960c01b610761565b61263e67c402abc06978619960c01b610761565b612652679e09810371489d9f60c01b610761565b612666677e7daf08d9a58adb60c01b610761565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156126d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126cd906147c0565b60405180910390fd5b6126ea670b7cbb883e3651ec60c01b610761565b6126fe67d208ff6d7369e98860c01b610761565b61271267491a5cbad1055d5160c01b610761565b612726679e0ff894c768117960c01b610761565b600082511161276a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612761906148e0565b60405180910390fd5b61277e6745254922d222170960c01b610761565b6127926704e613e382681ef660c01b610761565b6127a6675557331c94961ac660c01b610761565b6127ba676a3e2fb0a667717a60c01b610761565b81518151146127fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127f590614820565b60405180910390fd5b61281267f28a31992346aa2c60c01b610761565b612826676f88151307ba5cf160c01b610761565b61283a678b6e6de748ac3b0560c01b610761565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612aae57612881679b783d0da44a769760c01b610761565b612895672afe7fb31679725b60c01b610761565b6128a9675f21c809493b9d9c60c01b610761565b6128bd67c4c99b0c5a4bff8660c01b610761565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b815260040161291a929190614646565b60206040518083038186803b15801561293257600080fd5b505afa158015612946573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061296a9190613ba5565b8015612986575061298567212d2ce404fd77a760c01b610932565b5b80612a565750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b81526004016129e9929190614646565b60206040518083038186803b158015612a0157600080fd5b505afa158015612a15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a399190613ba5565b8015612a555750612a5467d868be8222351b6f60c01b610932565b5b5b612a95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a8c90614800565b60405180910390fd5b612aa9670d7297c082be9ec360c01b610761565b612ac3565b612ac2671c02678189e2da5e60c01b610761565b5b612ad767220aa3d0956cdf3860c01b610761565b612aeb672ff29057ca2d5a4960c01b610761565b6000612b0167736a7a13fde31abc60c01b610761565b612b1567ad98f24f057dfa4760c01b610761565b60005b8251811015612d5b57612b35673a43fbce6290f8a460c01b610761565b612b496775aca6a5cf35ff4a60c01b610761565b612b5d67fd57b4ad4a413b6860c01b610761565b600073ffffffffffffffffffffffffffffffffffffffff16848281518110612b8157fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415612be0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bd790614720565b60405180910390fd5b612bf46767a6d9c274cadc9c60c01b610761565b612c0867cf1addfe3ca8b2bb60c01b610761565b838181518110612c1457fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16838281518110612c3e57fe5b60200260200101518787604051602001612c5a939291906144f7565b604051602081830303815290604052604051612c7691906144e0565b6000604051808303816000865af19150503d8060008114612cb3576040519150601f19603f3d011682016040523d82523d6000602084013e612cb8565b606091505b505080925050612cd267e11e02c50ac3af5a60c01b610761565b612ce66791115981e7972f5360c01b610761565b612cfa671e9de5dd0811b3c160c01b610761565b81612d3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3190614880565b60405180910390fd5b612d4e678f29e428e7b0acbe60c01b610761565b8080600101915050612b18565b505050505050565b612d7767f4de5e8e73d6ad8760c01b611e16565b612d8b67db1ce0981035d84760c01b611e16565b612d9f67e97a0a25809a3f0960c01b611e16565b600081511415612df357612dbd67de11b839232da49160c01b611e16565b612dd167b59bd2ea0c1c89a260c01b611e16565b612de567652fe2786000e62060c01b611e16565b612dee32612f61565b612ebc565b612e0767ad5f6f13dddc2ad960c01b611e16565b612e1b672af46088979bcb2160c01b611e16565b612e2f6796cb81cf0bf6606d60c01b611e16565b600081519050612e49672f4c11881b8dca8c60c01b611e16565b612e5d67cec4e8db5057edad60c01b611e16565b60005b81811015612eb957612e7c671a5cc94c8b734dd960c01b611e16565b612e9067e437d14e98e20b2f60c01b611e16565b612eac838281518110612e9f57fe5b6020026020010151612f61565b8080600101915050612e60565b50505b50565b6000612ed5679ee7bdbf7c6900a460c01b610761565b612ee967f0e928808634a64d60c01b610761565b612efd674075c359d3dd889d60c01b610761565b612f567f6f4e1b2b1e5e49f4269e19e16e67a00cb0a796d96d30be3e4b540d3732e8bcad878787612f2d886133bf565b87604051602001612f42959493929190614489565b6040516020818303038152906040526134eb565b905095945050505050565b612f756703611a9e4063d8ea60c01b611e16565b612f8967ee1baacaa033494260c01b611e16565b612f9d6751e5840de998a97760c01b611e16565b612fb1676f82de74e2e2e03560c01b611e16565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161301890614740565b60405180910390fd5b6130356717cb80dba7a8a0ea60c01b611e16565b61304967e2f8fabe2a63d8b660c01b611e16565b61305d677550a657f22d30dc60c01b611e16565b613071673c81d7073dbe6f3060c01b611e16565b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156130fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130f5906148c0565b60405180910390fd5b61311267bc5a1f0994a7f54e60c01b611e16565b613126679a7f014629c7374960c01b611e16565b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061319267d71c83e9f3188e9d60c01b611e16565b6131a667e4bfbd26cb5c77e660c01b611e16565b7fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a32826040516131d79291906145df565b60405180910390a150565b60006131f867fbe9af14abc78ca860c01b611e16565b61320c67bd3616cf00f8ad2b60c01b611e16565b613220670aad941719c9b69b60c01b611e16565b6000613235838561230e90919063ffffffff16565b905061324b6706f556c4601e7cd060c01b611e16565b61325f67344e7bee2db8345860c01b611e16565b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b60006132cb672797d9bbee8e685760c01b613576565b6132df67e25930aa3032662f60c01b613576565b6132f3673b804ace3fd44ea060c01b613576565b6000828401905061330e67e0d809daafe36a0460c01b613576565b61332267d0d7b021c1a6823260c01b613576565b6133366741f1099b5fa09b9360c01b613576565b83811015613379576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613370906148a0565b60405180910390fd5b61338d6728a352a27e50889560c01b613576565b6133a167f55e5f024a80111c60c01b613576565b6133b567d865abdcb752192460c01b613576565b8091505092915050565b60606133d5673c65cd0d57a86f4160c01b610761565b6133e96787729e023af7ebe860c01b610761565b6133fd673eeba47bfbe297d660c01b610761565b606061341367cde6576faf313c1560c01b610761565b613427670ea3dcc6c000079a60c01b610761565b600083519050613441672040a6450836597360c01b610761565b6134556779cc921107583db360c01b610761565b60005b818110156134b8576134746713ae3bb0a3004f3660c01b610761565b8285828151811061348157fe5b602002602001015160405160200161349a929190614530565b60405160208183030381529060405292508080600101915050613458565b506134cd674b78578d8503215f60c01b610761565b6134e167842cae5512e7a35c60c01b610761565b8192505050919050565b60006135016771b334e2e3162d2e60c01b611e19565b6135156729046581cf97a49460c01b611e19565b613529674f9e67c6b1f334b360c01b611e19565b613560600154308585604051602001613545949392919061457a565b60405160208183030381529060405280519060200120613579565b905092915050565b50565b600060019050919050565b50565b600061358f67f3d1beb9fba5b7be60c01b613568565b6135a3676cd81a1865d6353260c01b613568565b6135b7676810828c21da671e60c01b613568565b816040516020016135c89190614554565b604051602081830303815290604052805190602001209050919050565b6000813590506135f481614c3f565b92915050565b600082601f83011261360b57600080fd5b813561361e61361982614988565b61495b565b9150818183526020840193506020810190508385602084028201111561364357600080fd5b60005b83811015613673578161365988826135e5565b845260208401935060208301925050600181019050613646565b5050505092915050565b600082601f83011261368e57600080fd5b81356136a161369c826149b0565b61495b565b9150818183526020840193506020810190508360005b838110156136e757813586016136cd888261378f565b8452602084019350602083019250506001810190506136b7565b5050505092915050565b60008135905061370081614c56565b92915050565b60008151905061371581614c56565b92915050565b60008135905061372a81614c6d565b92915050565b60008135905061373f81614c84565b92915050565b60008083601f84011261375757600080fd5b8235905067ffffffffffffffff81111561377057600080fd5b60208301915083600182028301111561378857600080fd5b9250929050565b600082601f8301126137a057600080fd5b81356137b36137ae826149d8565b61495b565b915080825260208301602083018583830111156137cf57600080fd5b6137da838284614ba7565b50505092915050565b6000813590506137f281614c9b565b92915050565b60008135905061380781614cb2565b92915050565b600060a0828403121561381f57600080fd5b61382960a061495b565b90506000613839848285016135e5565b600083015250602061384d84828501613969565b602083015250604082013567ffffffffffffffff81111561386d57600080fd5b613879848285016135fa565b604083015250606082013567ffffffffffffffff81111561389957600080fd5b6138a58482850161367d565b60608301525060806138b984828501613969565b60808301525092915050565b6000608082840312156138d757600080fd5b6138e1608061495b565b905060006138f1848285016135e5565b600083015250602061390584828501613969565b602083015250604082013567ffffffffffffffff81111561392557600080fd5b613931848285016135fa565b604083015250606082013567ffffffffffffffff81111561395157600080fd5b61395d8482850161367d565b60608301525092915050565b60008135905061397881614cc9565b92915050565b60006020828403121561399057600080fd5b600061399e848285016135e5565b91505092915050565b6000806000606084860312156139bc57600080fd5b60006139ca868287016135e5565b935050602084013567ffffffffffffffff8111156139e757600080fd5b6139f3868287016135fa565b925050604084013567ffffffffffffffff811115613a1057600080fd5b613a1c8682870161367d565b9150509250925092565b600080600080600060a08688031215613a3e57600080fd5b6000613a4c888289016135e5565b9550506020613a5d88828901613969565b945050604086013567ffffffffffffffff811115613a7a57600080fd5b613a86888289016135fa565b935050606086013567ffffffffffffffff811115613aa357600080fd5b613aaf8882890161367d565b925050608086013567ffffffffffffffff811115613acc57600080fd5b613ad88882890161378f565b9150509295509295909350565b60008060408385031215613af857600080fd5b600083013567ffffffffffffffff811115613b1257600080fd5b613b1e858286016135fa565b925050602083013567ffffffffffffffff811115613b3b57600080fd5b613b478582860161367d565b9150509250929050565b60008060408385031215613b6457600080fd5b600083013567ffffffffffffffff811115613b7e57600080fd5b613b8a8582860161367d565b9250506020613b9b858286016136f1565b9150509250929050565b600060208284031215613bb757600080fd5b6000613bc584828501613706565b91505092915050565b600080600060408486031215613be357600080fd5b6000613bf18682870161371b565b935050602084013567ffffffffffffffff811115613c0e57600080fd5b613c1a86828701613745565b92509250509250925092565b600060208284031215613c3857600080fd5b6000613c4684828501613730565b91505092915050565b60008060408385031215613c6257600080fd5b6000613c70858286016137e3565b9250506020613c81858286016137f8565b9150509250929050565b600060208284031215613c9d57600080fd5b600082013567ffffffffffffffff811115613cb757600080fd5b613cc38482850161380d565b91505092915050565b600060208284031215613cde57600080fd5b600082013567ffffffffffffffff811115613cf857600080fd5b613d04848285016138c5565b91505092915050565b6000613d198383613d43565b60208301905092915050565b613d2e81614b29565b82525050565b613d3d81614a7a565b82525050565b613d4c81614a7a565b82525050565b613d63613d5e82614a7a565b614be9565b82525050565b6000613d7482614a14565b613d7e8185614a37565b9350613d8983614a04565b8060005b83811015613dba578151613da18882613d0d565b9750613dac83614a2a565b925050600181019050613d8d565b5085935050505092915050565b613dd081614a8c565b82525050565b613ddf81614a98565b82525050565b613df6613df182614a98565b614bfb565b82525050565b6000613e0782614a1f565b613e118185614a42565b9350613e21818560208601614bb6565b613e2a81614c21565b840191505092915050565b6000613e4082614a1f565b613e4a8185614a53565b9350613e5a818560208601614bb6565b80840191505092915050565b613e6f81614b3b565b82525050565b613e7e81614b5f565b82525050565b6000613e91601b83614a5e565b91507f476174657761793a2063616e6e6f742073656e6420746f2030783000000000006000830152602082019050919050565b6000613ed1601c83614a6f565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b6000613f11602083614a5e565b91507f477561726465643a2063616e6e6f74206164642030783020677561726469616e6000830152602082019050919050565b6000613f51602f83614a5e565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b6000613fb7601783614a5e565b91507f476174657761793a2062617463682072657665727465640000000000000000006000830152602082019050919050565b6000613ff7603283614a5e565b91507f476174657761793a206e6f6e6365206973206c6f776572207468616e2063757260008301527f72656e74206163636f756e74206e6f6e636500000000000000000000000000006020830152604082019050919050565b600061405d602583614a5e565b91507f476174657761793a2063616e6e6f742073656e642066726f6d2030783020616360008301527f636f756e740000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006140c3602683614a5e565b91507f476174657761793a2063616e6e6f742064656c656761746520656d707479206260008301527f61746368657300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614129602883614a5e565b91507f476174657761793a2073656e646572206973206e6f7420746865206163636f7560008301527f6e74206f776e65720000000000000000000000000000000000000000000000006020830152604082019050919050565b600061418f601683614a5e565b91507f476174657761793a20696e76616c6964206261746368000000000000000000006000830152602082019050919050565b60006141cf602683614a5e565b91507f477561726465643a2074782e6f726967696e206973206e6f742074686520677560008301527f61726469616e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614235601f83614a5e565b91507f477561726465643a20677561726469616e20646f65736e2774206578697374006000830152602082019050919050565b6000614275602383614a5e565b91507f476174657761793a206261746368207472616e73616374696f6e20726576657260008301527f74656400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006142db601e83614a5e565b91507f536166654d6174684c69623a206164646974696f6e206f766572666c6f7700006000830152602082019050919050565b600061431b602083614a5e565b91507f477561726465643a20677561726469616e20616c7265616479206578697374736000830152602082019050919050565b600061435b602083614a5e565b91507f476174657761793a2063616e6e6f742073656e6420656d7074792062617463686000830152602082019050919050565b600061439b601b83614a5e565b91507f477561726465643a2063616e6e6f742072656d6f76652073656c6600000000006000830152602082019050919050565b60006143db601d83614a5e565b91507f476174657761793a20616c6c20626174636865732072657665727465640000006000830152602082019050919050565b61441781614b12565b82525050565b61442e61442982614b12565b614c17565b82525050565b61443d81614b1c565b82525050565b600061444f8287613d52565b60148201915061445f828661441d565b60208201915061446f8285613d69565b915061447b8284613e35565b915081905095945050505050565b60006144958288613d52565b6014820191506144a5828761441d565b6020820191506144b58286613d69565b91506144c18285613e35565b91506144cd828461441d565b6020820191508190509695505050505050565b60006144ec8284613e35565b915081905092915050565b60006145038286613e35565b915061450f8285613d52565b60148201915061451f8284613d52565b601482019150819050949350505050565b600061453c8285613e35565b91506145488284613e35565b91508190509392505050565b600061455f82613ec4565b915061456b8284613de5565b60208201915081905092915050565b6000614586828761441d565b6020820191506145968286613d52565b6014820191506145a68285613de5565b6020820191506145b68284613e35565b915081905095945050505050565b60006020820190506145d96000830184613d25565b92915050565b60006040820190506145f46000830185613d25565b6146016020830184613d34565b9392505050565b600060608201905061461d6000830186613d25565b818103602083015261462f8185613dfc565b905061463e6040830184613dc7565b949350505050565b600060408201905061465b6000830185613d34565b6146686020830184613d34565b9392505050565b60006020820190506146846000830184613dc7565b92915050565b600060208201905061469f6000830184613dd6565b92915050565b60006080820190506146ba6000830187613dd6565b6146c76020830186614434565b6146d46040830185613dd6565b6146e16060830184613dd6565b95945050505050565b60006020820190506146ff6000830184613e66565b92915050565b600060208201905061471a6000830184613e75565b92915050565b6000602082019050818103600083015261473981613e84565b9050919050565b6000602082019050818103600083015261475981613f04565b9050919050565b6000602082019050818103600083015261477981613f44565b9050919050565b6000602082019050818103600083015261479981613faa565b9050919050565b600060208201905081810360008301526147b981613fea565b9050919050565b600060208201905081810360008301526147d981614050565b9050919050565b600060208201905081810360008301526147f9816140b6565b9050919050565b600060208201905081810360008301526148198161411c565b9050919050565b6000602082019050818103600083015261483981614182565b9050919050565b60006020820190508181036000830152614859816141c2565b9050919050565b6000602082019050818103600083015261487981614228565b9050919050565b6000602082019050818103600083015261489981614268565b9050919050565b600060208201905081810360008301526148b9816142ce565b9050919050565b600060208201905081810360008301526148d98161430e565b9050919050565b600060208201905081810360008301526148f98161434e565b9050919050565b600060208201905081810360008301526149198161438e565b9050919050565b60006020820190508181036000830152614939816143ce565b9050919050565b6000602082019050614955600083018461440e565b92915050565b6000604051905081810181811067ffffffffffffffff8211171561497e57600080fd5b8060405250919050565b600067ffffffffffffffff82111561499f57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156149c757600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156149ef57600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000614a8582614af2565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b6000614ad982614a7a565b9050919050565b6000614aeb82614a7a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000614b3482614b83565b9050919050565b6000614b4682614b4d565b9050919050565b6000614b5882614af2565b9050919050565b6000614b6a82614b71565b9050919050565b6000614b7c82614af2565b9050919050565b6000614b8e82614b95565b9050919050565b6000614ba082614af2565b9050919050565b82818337600083830152505050565b60005b83811015614bd4578082015181840152602081019050614bb9565b83811115614be3576000848401525b50505050565b6000614bf482614c05565b9050919050565b6000819050919050565b6000614c1082614c32565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b614c4881614a7a565b8114614c5357600080fd5b50565b614c5f81614a8c565b8114614c6a57600080fd5b50565b614c7681614a98565b8114614c8157600080fd5b50565b614c8d81614aa2565b8114614c9857600080fd5b50565b614ca481614ace565b8114614caf57600080fd5b50565b614cbb81614ae0565b8114614cc657600080fd5b50565b614cd281614b12565b8114614cdd57600080fd5b5056fea164736f6c634300060c000a", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102065760003560e01c806387d313131161011a578063bccb31c6116100ad578063d2c83b9a1161007c578063d2c83b9a14610619578063d305d0db14610637578063d84fa10c14610653578063d9f1302114610683578063f92c5f7c1461069f57610206565b8063bccb31c614610581578063bcd483641461059d578063c4543305146105b9578063d0f710d6146105e957610206565b8063a526d83b116100e9578063a526d83b146104fd578063ac2a08cd14610519578063ae1a7ece14610535578063b5021b161461056557610206565b806387d31313146104755780639a8a0592146104935780639f255626146104b1578063a3561e69146104cd57610206565b80633e260b131161019d5780635afaa7bb1161016c5780635afaa7bb146103c157806371404156146103dd57806373e5a13f146103f957806376db2b4c14610429578063867519c61461045957610206565b80633e260b131461033d578063485cc9551461035957806353890134146103755780635a06fb5f1461039157610206565b80632b49e989116101d95780632b49e989146102a35780632c4bbae6146102d3578063371aa71a14610303578063392e53cd1461031f57610206565b80630c68ba211461020b578063152ec1bc1461023b578063231badaf1461025757806329fbd95714610273575b600080fd5b6102256004803603810190610220919061397e565b6106cf565b604051610232919061466f565b60405180910390f35b61025560048036038101906102509190613c26565b610761565b005b610271600480360381019061026c9190613a26565b610764565b005b61028d60048036038101906102889190613c26565b610927565b60405161029a919061466f565b60405180910390f35b6102bd60048036038101906102b89190613c26565b610932565b6040516102ca919061466f565b60405180910390f35b6102ed60048036038101906102e89190613c26565b61093d565b6040516102fa919061466f565b60405180910390f35b61031d60048036038101906103189190613a26565b610944565b005b610327610ac0565b604051610334919061466f565b60405180910390f35b61035760048036038101906103529190613c26565b610b53565b005b610373600480360381019061036e9190613c4f565b610b56565b005b61038f600480360381019061038a9190613ae5565b610e56565b005b6103ab60048036038101906103a69190613c26565b610fcc565b6040516103b8919061466f565b60405180910390f35b6103db60048036038101906103d69190613b51565b610fd3565b005b6103f760048036038101906103f2919061397e565b611419565b005b610413600480360381019061040e9190613ccc565b6117c4565b604051610420919061468a565b60405180910390f35b610443600480360381019061043e9190613c8b565b611825565b604051610450919061468a565b60405180910390f35b610473600480360381019061046e91906139a7565b61188b565b005b61047d6118d8565b60405161048a9190614705565b60405180910390f35b61049b6118fe565b6040516104a89190614940565b60405180910390f35b6104cb60048036038101906104c69190613ae5565b611904565b005b6104e760048036038101906104e29190613c26565b611950565b6040516104f4919061466f565b60405180910390f35b6105176004803603810190610512919061397e565b611957565b005b610533600480360381019061052e9190613a26565b611acb565b005b61054f600480360381019061054a9190613c26565b611c47565b60405161055c919061466f565b60405180910390f35b61057f600480360381019061057a9190613a26565b611c52565b005b61059b60048036038101906105969190613c26565b611e16565b005b6105b760048036038101906105b29190613c26565b611e19565b005b6105d360048036038101906105ce9190613c26565b611e1c565b6040516105e0919061466f565b60405180910390f35b61060360048036038101906105fe9190613bce565b611e27565b604051610610919061466f565b60405180910390f35b610621611ebc565b60405161062e91906146ea565b60405180910390f35b610651600480360381019061064c91906139a7565b611ee2565b005b61066d60048036038101906106689190613c26565b61205a565b60405161067a919061466f565b60405180910390f35b61069d60048036038101906106989190613b51565b612061565b005b6106b960048036038101906106b4919061397e565b6121d7565b6040516106c69190614940565b60405180910390f35b60006106e5677ab52c65f999e01f60c01b611e16565b6106f96710268b7b424a1bd560c01b611e16565b61070d6713a157f311059a7b60c01b611e16565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b50565b610778672cb965356e53b62460c01b610761565b61078c6726d32791746dc3e760c01b610761565b6107a06716b60443ee3d484960c01b610761565b6107b467cec972bd94c2448360c01b610761565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411610835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082c906147a0565b60405180910390fd5b610849676885a737ccda6b5b60c01b610761565b61085d67b7ec0f056156fc5760c01b610761565b61087167fa7e965b6a90871e60c01b610761565b6000610891826108838888888861226f565b61230e90919063ffffffff16565b90506108a767598623896aa1bd8160c01b610761565b84600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108ff67c3db6fc8702a504560c01b610761565b61091367fbd88fe633d4bf3260c01b610761565b61091f86828686612616565b505050505050565b600060019050919050565b600060019050919050565b6000919050565b61095867f80918793645654b60c01b610761565b61096c67e0600b94c13d066760c01b611e16565b6109806755e8cedcdd449e2360c01b611e16565b61099467ab821ba7fedab67160c01b611e16565b6109a867c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2b90614840565b60405180910390fd5b610a4867d014260b312542b460c01b611e16565b610a5c674e25985d1c99d1f260c01b611e16565b610a7067d9e2558f3071e89160c01b610761565b610a84673490315f4c7453b860c01b610761565b610a98675952ab5ca3321cf560c01b610761565b610aac679cb6b3466f5d6d7c60c01b610761565b610ab98585858585611c52565b5050505050565b6000610ad667e29fe2f351ca6b2760c01b610b53565b610aea676f5dd3f08b97747760c01b610b53565b610afe673a9488d62818322a60c01b610b53565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b610b6a673697766a57f7a80b60c01b610761565b610b7e67d2ba19feb39e0b7f60c01b610b53565b610b92670c5ad53cdb9edd1560c01b610b53565b610ba667b6b588d2ebb9ae6960c01b610b53565b610bba67c4ec9a90a885875260c01b610b53565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3f90614760565b60405180910390fd5b610c5c67c3785ba1534db95460c01b610b53565b610c7067e4202927591248ef60c01b610b53565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cc567531cfa2817fbdc8660c01b610b53565b610cd967bb0a8b65334dd2c460c01b610761565b610ced67b92403dbe97ab63260c01b610761565b610d01671b78f114fbb0b72060c01b610761565b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d5667b22295775e3c649e60c01b610761565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610dab6730acc016638bd43a60c01b610761565b610dbf67c9a34505f7a2971960c01b610761565b6060610dd56739403c970cf16b0b60c01b610761565b610de9673890f2fd064539ca60c01b610761565b610df281612d63565b50610e076701520f419008b58e60c01b610b53565b610e1b6775364c04848b013b60c01b610b53565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051610e4a91906145c4565b60405180910390a15050565b610e6a6706786e491e3250c160c01b610761565b610e7e67e0600b94c13d066760c01b611e16565b610e926755e8cedcdd449e2360c01b611e16565b610ea667ab821ba7fedab67160c01b611e16565b610eba67c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610f46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3d90614840565b60405180910390fd5b610f5a67d014260b312542b460c01b611e16565b610f6e674e25985d1c99d1f260c01b611e16565b610f8267aed871277ddbb64c60c01b610761565b610f96671ec4a771e62fadf860c01b610761565b610faa67f2c24f3ab45357f160c01b610761565b610fbe674a9776de3de1749a60c01b610761565b610fc88282611904565b5050565b6000919050565b610fe76727e530a65c18cf7760c01b610761565b610ffb673479b3b9839be87b60c01b610761565b61100f67ddf24acef953714a60c01b610761565b61102367bb03e151ac9c27de60c01b610761565b6000825111611067576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105e906147e0565b60405180910390fd5b61107b67fbecfcb237fc946360c01b610761565b61108f67e27ec692e947323360c01b610761565b6110a367f14d14fac430da9560c01b610761565b60006110b96705f410059ee1a0f960c01b610761565b6110cd6738b1b2fe2e9d053a60c01b610761565b60005b835181101561135b576110ed67c75e73eb292eb02a60c01b610761565b61110167b78b62351a90d44360c01b610761565b60003073ffffffffffffffffffffffffffffffffffffffff1685838151811061112657fe5b602002602001015160405161113b91906144e0565b6000604051808303816000865af19150503d8060008114611178576040519150601f19603f3d011682016040523d82523d6000602084013e61117d565b606091505b5050905061119567736c6d76b82a9add60c01b610761565b6111a967d2553c434ed3db3260c01b610761565b8315611258576111c367deebfac5c773826c60c01b610761565b6111d7679fb439c60501b49f60c01b610761565b6111eb67b3057f4bca04838360c01b610761565b6111ff6730ecce8cedfe20fe60c01b610761565b8061123f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123690614780565b60405180910390fd5b61125367d86dd5b82a9e593660c01b610761565b6112d7565b61126c67346fc3cb5711a6b460c01b610761565b611280673f97de6e927ba93d60c01b610761565b80801561128b575082155b156112c1576112a46771ca7e173b61f90360c01b610761565b6112b867da44f1125610870660c01b610761565b600192506112d6565b6112d5675690ff7de2cfd4dd60c01b610761565b5b5b6112eb677421f9109195b65260c01b610761565b6112ff6701974b34eaa9b13c60c01b610761565b7f361c14722cc344132c73396113f7164232448b09c544a149f09048648b43d8723386848151811061132d57fe5b60200260200101518360405161134593929190614608565b60405180910390a15080806001019150506110d0565b506113706784acc65a9eec5b5f60c01b610761565b61138467c73482fe07164bae60c01b610761565b806114005761139d67504c1c7b7326af2c60c01b610761565b6113b1670e7869282d8fda6f60c01b610761565b6113c56720080506722517aa60c01b610761565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f790614920565b60405180910390fd5b611414673bc70d3d4324861e60c01b610761565b505050565b61142d6747dd6d4e27a092d260c01b611e16565b61144167e0600b94c13d066760c01b611e16565b6114556755e8cedcdd449e2360c01b611e16565b61146967ab821ba7fedab67160c01b611e16565b61147d67c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611509576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150090614840565b60405180910390fd5b61151d67d014260b312542b460c01b611e16565b611531674e25985d1c99d1f260c01b611e16565b61154567736984febec5fd2560c01b611e16565b61155967cbb923c66996310360c01b611e16565b61156d672c114aff1103564b60c01b611e16565b61158167a76a63e34be2bddb60c01b611e16565b61159567a220bc889ca09d2360c01b611e16565b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161415611604576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fb90614900565b60405180910390fd5b611618679467d7af09c5944d60c01b611e16565b61162c67c28a58b1b15ad6de60c01b611e16565b61164067c70b0fecc7c6d3b160c01b611e16565b61165467e7892f9392d41a6760c01b611e16565b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166116e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d790614860565b60405180910390fd5b6116f4675a0de441d13969aa60c01b611e16565b611708674e473b0a29064fba60c01b611e16565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061177467e398e5606400274660c01b611e16565b6117886738c3bd156a3471c260c01b611e16565b7fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b32826040516117b99291906145df565b60405180910390a150565b60006117da67b71cbc54b79642e460c01b610761565b6117ee671d727cf6c847c49660c01b610761565b61180267b20bfeafcd33afb660c01b610761565b61181e826000015183602001518460400151856060015161226f565b9050919050565b600061183b67b43ba9ef81a9b3fd60c01b610761565b61184f678dcdeb463de7515c60c01b610761565b6118636789a48b615adada4560c01b610761565b61188482600001518360200151846040015185606001518660800151612ebf565b9050919050565b61189f6790077d401774f15b60c01b610761565b6118b367dd8df7e804a647ab60c01b610761565b6118c767e91647c2d11d34f260c01b610761565b6118d383338484612616565b505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b61191867305e7d085ffadf5d60c01b610761565b61192c6754042eeb653cce4660c01b610761565b6119406774bf17ed00241c8560c01b610761565b61194c33338484612616565b5050565b6000919050565b61196b67c17b66a0b198af7b60c01b611e16565b61197f67e0600b94c13d066760c01b611e16565b6119936755e8cedcdd449e2360c01b611e16565b6119a767ab821ba7fedab67160c01b611e16565b6119bb67c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3e90614840565b60405180910390fd5b611a5b67d014260b312542b460c01b611e16565b611a6f674e25985d1c99d1f260c01b611e16565b611a8367dfa24a8cc198350160c01b611e16565b611a9767f9907d82cd18ee0760c01b611e16565b611aab67dd37ee49f553c5a760c01b611e16565b611abf679ad66b1d98f77fdf60c01b611e16565b611ac881612f61565b50565b611adf6759a806c25eead63f60c01b610761565b611af367e0600b94c13d066760c01b611e16565b611b076755e8cedcdd449e2360c01b611e16565b611b1b67ab821ba7fedab67160c01b611e16565b611b2f67c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb290614840565b60405180910390fd5b611bcf67d014260b312542b460c01b611e16565b611be3674e25985d1c99d1f260c01b611e16565b611bf767f9ea7b462cc4eda560c01b610761565b611c0b67d3d3cf6ca514249660c01b610761565b611c1f676ef2cd549351305b60c01b610761565b611c33672b1fcb01af64303060c01b610761565b611c408585858585610764565b5050505050565b600060019050919050565b611c666730a97bcc310e329660c01b610761565b611c7a67592cde26837dac1c60c01b610761565b611c8e67e369c1a0804a314e60c01b610761565b611ca2675e97b82ccfd1adc660c01b610761565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411611d23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1a906147a0565b60405180910390fd5b611d3767bf862c95cc9f5d2260c01b610761565b611d4b67f9a3395c1202545060c01b610761565b611d5f677beaba84e36d3d4a60c01b610761565b6000611d8082611d72888888883a612ebf565b61230e90919063ffffffff16565b9050611d9667dc568d561866531460c01b610761565b84600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dee6768886f5dc5d732ec60c01b610761565b611e02672e35ca05a06d172160c01b610761565b611e0e86828686612616565b505050505050565b50565b50565b600060019050919050565b6000611e3d670fa739e07c029f9060c01b611e16565b611e5167406100042e7653bd60c01b611e16565b611e656784104632bda8198f60c01b611e16565b611eb38484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506131e2565b90509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611ef667313903b59a995d7660c01b610761565b611f0a67e0600b94c13d066760c01b611e16565b611f1e6755e8cedcdd449e2360c01b611e16565b611f3267ab821ba7fedab67160c01b611e16565b611f4667c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611fd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc990614840565b60405180910390fd5b611fe667d014260b312542b460c01b611e16565b611ffa674e25985d1c99d1f260c01b611e16565b61200e671f7542edd3d74d2f60c01b610761565b612022677f6b1c92b6f5e5a960c01b610761565b61203667cad2aa7c334e8b3b60c01b610761565b61204a6703308feac1e8ee1360c01b610761565b61205583838361188b565b505050565b6000919050565b61207567fb2097e639da463260c01b610761565b61208967e0600b94c13d066760c01b611e16565b61209d6755e8cedcdd449e2360c01b611e16565b6120b167ab821ba7fedab67160c01b611e16565b6120c567c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214890614840565b60405180910390fd5b61216567d014260b312542b460c01b611e16565b612179674e25985d1c99d1f260c01b611e16565b61218d670a8996d09423e9a560c01b610761565b6121a1674c210d2c1091800160c01b610761565b6121b56793370d1f34f52d6160c01b610761565b6121c967cf247f4dcde0a80d60c01b610761565b6121d38282610fd3565b5050565b60006121ed67905ee8ae82cae5cb60c01b610761565b612201672ee07bb43076d99160c01b610761565b61221567798fd982696fe97360c01b610761565b6122686001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546132b590919063ffffffff16565b9050919050565b600061228567d6536873dad1c60260c01b610761565b612299673f091c2291af034760c01b610761565b6122ad676c51c993615d51fc60c01b610761565b6123047f6848d0622081db2451400280dead7a739a080cb93852607c381af11e289769b28686866122dd876133bf565b6040516020016122f09493929190614443565b6040516020818303038152906040526134eb565b9050949350505050565b6000612324670d75db982ec4597160c01b613568565b6123386725c2c60ab754182560c01b613568565b61234c673eb64a254569ed0660c01b613568565b600061236267fb2a2286066e15e460c01b613568565b61237667a440db11ec9e986d60c01b613568565b6041835114156125cf576123946704a5aada48e2763260c01b613568565b6123a8674b98cf1796e5c26660c01b613568565b6123bc67d2dfec7b159385fc60c01b613568565b60006123d26772c2a840621b4aa760c01b613568565b6123e667bfd411e6ba4d07c460c01b613568565b60006123fc67145d23f82764ba9960c01b613568565b61241067acdff958a9c6c5dd60c01b613568565b6000612426673b79e3a80932a6a160c01b613568565b6020860151925060408601519150606086015160001a9050612452679b0cdee01a57ea2f60c01b613568565b612466675dbf88583373227960c01b613568565b601b8160ff1610156124a557612486670dc9a1836eb51c3260c01b613568565b61249a677097d8456a6c3e1560c01b613568565b601b810190506124ba565b6124b96708b39c61216869e760c01b613568565b5b6124ce672ea4d6db7d2138c560c01b613568565b6124e2679ad3f461195a5eee60c01b613568565b601b8160ff16148015612505575061250467a24e972b59dc7d0560c01b61356b565b5b8061252f5750601c8160ff1614801561252e575061252d67934bee4849491d9560c01b61356b565b5b5b156125b257612548676d6a491fc6e072fa60c01b613568565b61255c67aecd1690d1de9f1c60c01b613568565b6001878285856040516000815260200160405260405161257f94939291906146a5565b6020604051602081039080840390855afa1580156125a1573d6000803e3d6000fd5b5050506020604051035193506125c7565b6125c667513fbc3b3a0ad1c060c01b613568565b5b5050506125e4565b6125e36723d6d78de386c96660c01b613568565b5b6125f86707d0c4f11e72cfc960c01b613568565b61260c67b9689b22f403636c60c01b613568565b8091505092915050565b61262a6772b534df044a3e6960c01b610761565b61263e67c402abc06978619960c01b610761565b612652679e09810371489d9f60c01b610761565b612666677e7daf08d9a58adb60c01b610761565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156126d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126cd906147c0565b60405180910390fd5b6126ea670b7cbb883e3651ec60c01b610761565b6126fe67d208ff6d7369e98860c01b610761565b61271267491a5cbad1055d5160c01b610761565b612726679e0ff894c768117960c01b610761565b600082511161276a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612761906148e0565b60405180910390fd5b61277e6745254922d222170960c01b610761565b6127926704e613e382681ef660c01b610761565b6127a6675557331c94961ac660c01b610761565b6127ba676a3e2fb0a667717a60c01b610761565b81518151146127fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127f590614820565b60405180910390fd5b61281267f28a31992346aa2c60c01b610761565b612826676f88151307ba5cf160c01b610761565b61283a678b6e6de748ac3b0560c01b610761565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612aae57612881679b783d0da44a769760c01b610761565b612895672afe7fb31679725b60c01b610761565b6128a9675f21c809493b9d9c60c01b610761565b6128bd67c4c99b0c5a4bff8660c01b610761565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b815260040161291a929190614646565b60206040518083038186803b15801561293257600080fd5b505afa158015612946573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061296a9190613ba5565b8015612986575061298567212d2ce404fd77a760c01b610932565b5b80612a565750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b81526004016129e9929190614646565b60206040518083038186803b158015612a0157600080fd5b505afa158015612a15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a399190613ba5565b8015612a555750612a5467d868be8222351b6f60c01b610932565b5b5b612a95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a8c90614800565b60405180910390fd5b612aa9670d7297c082be9ec360c01b610761565b612ac3565b612ac2671c02678189e2da5e60c01b610761565b5b612ad767220aa3d0956cdf3860c01b610761565b612aeb672ff29057ca2d5a4960c01b610761565b6000612b0167736a7a13fde31abc60c01b610761565b612b1567ad98f24f057dfa4760c01b610761565b60005b8251811015612d5b57612b35673a43fbce6290f8a460c01b610761565b612b496775aca6a5cf35ff4a60c01b610761565b612b5d67fd57b4ad4a413b6860c01b610761565b600073ffffffffffffffffffffffffffffffffffffffff16848281518110612b8157fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415612be0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bd790614720565b60405180910390fd5b612bf46767a6d9c274cadc9c60c01b610761565b612c0867cf1addfe3ca8b2bb60c01b610761565b838181518110612c1457fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16838281518110612c3e57fe5b60200260200101518787604051602001612c5a939291906144f7565b604051602081830303815290604052604051612c7691906144e0565b6000604051808303816000865af19150503d8060008114612cb3576040519150601f19603f3d011682016040523d82523d6000602084013e612cb8565b606091505b505080925050612cd267e11e02c50ac3af5a60c01b610761565b612ce66791115981e7972f5360c01b610761565b612cfa671e9de5dd0811b3c160c01b610761565b81612d3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3190614880565b60405180910390fd5b612d4e678f29e428e7b0acbe60c01b610761565b8080600101915050612b18565b505050505050565b612d7767f4de5e8e73d6ad8760c01b611e16565b612d8b67db1ce0981035d84760c01b611e16565b612d9f67e97a0a25809a3f0960c01b611e16565b600081511415612df357612dbd67de11b839232da49160c01b611e16565b612dd167b59bd2ea0c1c89a260c01b611e16565b612de567652fe2786000e62060c01b611e16565b612dee32612f61565b612ebc565b612e0767ad5f6f13dddc2ad960c01b611e16565b612e1b672af46088979bcb2160c01b611e16565b612e2f6796cb81cf0bf6606d60c01b611e16565b600081519050612e49672f4c11881b8dca8c60c01b611e16565b612e5d67cec4e8db5057edad60c01b611e16565b60005b81811015612eb957612e7c671a5cc94c8b734dd960c01b611e16565b612e9067e437d14e98e20b2f60c01b611e16565b612eac838281518110612e9f57fe5b6020026020010151612f61565b8080600101915050612e60565b50505b50565b6000612ed5679ee7bdbf7c6900a460c01b610761565b612ee967f0e928808634a64d60c01b610761565b612efd674075c359d3dd889d60c01b610761565b612f567f6f4e1b2b1e5e49f4269e19e16e67a00cb0a796d96d30be3e4b540d3732e8bcad878787612f2d886133bf565b87604051602001612f42959493929190614489565b6040516020818303038152906040526134eb565b905095945050505050565b612f756703611a9e4063d8ea60c01b611e16565b612f8967ee1baacaa033494260c01b611e16565b612f9d6751e5840de998a97760c01b611e16565b612fb1676f82de74e2e2e03560c01b611e16565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161301890614740565b60405180910390fd5b6130356717cb80dba7a8a0ea60c01b611e16565b61304967e2f8fabe2a63d8b660c01b611e16565b61305d677550a657f22d30dc60c01b611e16565b613071673c81d7073dbe6f3060c01b611e16565b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156130fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130f5906148c0565b60405180910390fd5b61311267bc5a1f0994a7f54e60c01b611e16565b613126679a7f014629c7374960c01b611e16565b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061319267d71c83e9f3188e9d60c01b611e16565b6131a667e4bfbd26cb5c77e660c01b611e16565b7fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a32826040516131d79291906145df565b60405180910390a150565b60006131f867fbe9af14abc78ca860c01b611e16565b61320c67bd3616cf00f8ad2b60c01b611e16565b613220670aad941719c9b69b60c01b611e16565b6000613235838561230e90919063ffffffff16565b905061324b6706f556c4601e7cd060c01b611e16565b61325f67344e7bee2db8345860c01b611e16565b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b60006132cb672797d9bbee8e685760c01b613576565b6132df67e25930aa3032662f60c01b613576565b6132f3673b804ace3fd44ea060c01b613576565b6000828401905061330e67e0d809daafe36a0460c01b613576565b61332267d0d7b021c1a6823260c01b613576565b6133366741f1099b5fa09b9360c01b613576565b83811015613379576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613370906148a0565b60405180910390fd5b61338d6728a352a27e50889560c01b613576565b6133a167f55e5f024a80111c60c01b613576565b6133b567d865abdcb752192460c01b613576565b8091505092915050565b60606133d5673c65cd0d57a86f4160c01b610761565b6133e96787729e023af7ebe860c01b610761565b6133fd673eeba47bfbe297d660c01b610761565b606061341367cde6576faf313c1560c01b610761565b613427670ea3dcc6c000079a60c01b610761565b600083519050613441672040a6450836597360c01b610761565b6134556779cc921107583db360c01b610761565b60005b818110156134b8576134746713ae3bb0a3004f3660c01b610761565b8285828151811061348157fe5b602002602001015160405160200161349a929190614530565b60405160208183030381529060405292508080600101915050613458565b506134cd674b78578d8503215f60c01b610761565b6134e167842cae5512e7a35c60c01b610761565b8192505050919050565b60006135016771b334e2e3162d2e60c01b611e19565b6135156729046581cf97a49460c01b611e19565b613529674f9e67c6b1f334b360c01b611e19565b613560600154308585604051602001613545949392919061457a565b60405160208183030381529060405280519060200120613579565b905092915050565b50565b600060019050919050565b50565b600061358f67f3d1beb9fba5b7be60c01b613568565b6135a3676cd81a1865d6353260c01b613568565b6135b7676810828c21da671e60c01b613568565b816040516020016135c89190614554565b604051602081830303815290604052805190602001209050919050565b6000813590506135f481614c3f565b92915050565b600082601f83011261360b57600080fd5b813561361e61361982614988565b61495b565b9150818183526020840193506020810190508385602084028201111561364357600080fd5b60005b83811015613673578161365988826135e5565b845260208401935060208301925050600181019050613646565b5050505092915050565b600082601f83011261368e57600080fd5b81356136a161369c826149b0565b61495b565b9150818183526020840193506020810190508360005b838110156136e757813586016136cd888261378f565b8452602084019350602083019250506001810190506136b7565b5050505092915050565b60008135905061370081614c56565b92915050565b60008151905061371581614c56565b92915050565b60008135905061372a81614c6d565b92915050565b60008135905061373f81614c84565b92915050565b60008083601f84011261375757600080fd5b8235905067ffffffffffffffff81111561377057600080fd5b60208301915083600182028301111561378857600080fd5b9250929050565b600082601f8301126137a057600080fd5b81356137b36137ae826149d8565b61495b565b915080825260208301602083018583830111156137cf57600080fd5b6137da838284614ba7565b50505092915050565b6000813590506137f281614c9b565b92915050565b60008135905061380781614cb2565b92915050565b600060a0828403121561381f57600080fd5b61382960a061495b565b90506000613839848285016135e5565b600083015250602061384d84828501613969565b602083015250604082013567ffffffffffffffff81111561386d57600080fd5b613879848285016135fa565b604083015250606082013567ffffffffffffffff81111561389957600080fd5b6138a58482850161367d565b60608301525060806138b984828501613969565b60808301525092915050565b6000608082840312156138d757600080fd5b6138e1608061495b565b905060006138f1848285016135e5565b600083015250602061390584828501613969565b602083015250604082013567ffffffffffffffff81111561392557600080fd5b613931848285016135fa565b604083015250606082013567ffffffffffffffff81111561395157600080fd5b61395d8482850161367d565b60608301525092915050565b60008135905061397881614cc9565b92915050565b60006020828403121561399057600080fd5b600061399e848285016135e5565b91505092915050565b6000806000606084860312156139bc57600080fd5b60006139ca868287016135e5565b935050602084013567ffffffffffffffff8111156139e757600080fd5b6139f3868287016135fa565b925050604084013567ffffffffffffffff811115613a1057600080fd5b613a1c8682870161367d565b9150509250925092565b600080600080600060a08688031215613a3e57600080fd5b6000613a4c888289016135e5565b9550506020613a5d88828901613969565b945050604086013567ffffffffffffffff811115613a7a57600080fd5b613a86888289016135fa565b935050606086013567ffffffffffffffff811115613aa357600080fd5b613aaf8882890161367d565b925050608086013567ffffffffffffffff811115613acc57600080fd5b613ad88882890161378f565b9150509295509295909350565b60008060408385031215613af857600080fd5b600083013567ffffffffffffffff811115613b1257600080fd5b613b1e858286016135fa565b925050602083013567ffffffffffffffff811115613b3b57600080fd5b613b478582860161367d565b9150509250929050565b60008060408385031215613b6457600080fd5b600083013567ffffffffffffffff811115613b7e57600080fd5b613b8a8582860161367d565b9250506020613b9b858286016136f1565b9150509250929050565b600060208284031215613bb757600080fd5b6000613bc584828501613706565b91505092915050565b600080600060408486031215613be357600080fd5b6000613bf18682870161371b565b935050602084013567ffffffffffffffff811115613c0e57600080fd5b613c1a86828701613745565b92509250509250925092565b600060208284031215613c3857600080fd5b6000613c4684828501613730565b91505092915050565b60008060408385031215613c6257600080fd5b6000613c70858286016137e3565b9250506020613c81858286016137f8565b9150509250929050565b600060208284031215613c9d57600080fd5b600082013567ffffffffffffffff811115613cb757600080fd5b613cc38482850161380d565b91505092915050565b600060208284031215613cde57600080fd5b600082013567ffffffffffffffff811115613cf857600080fd5b613d04848285016138c5565b91505092915050565b6000613d198383613d43565b60208301905092915050565b613d2e81614b29565b82525050565b613d3d81614a7a565b82525050565b613d4c81614a7a565b82525050565b613d63613d5e82614a7a565b614be9565b82525050565b6000613d7482614a14565b613d7e8185614a37565b9350613d8983614a04565b8060005b83811015613dba578151613da18882613d0d565b9750613dac83614a2a565b925050600181019050613d8d565b5085935050505092915050565b613dd081614a8c565b82525050565b613ddf81614a98565b82525050565b613df6613df182614a98565b614bfb565b82525050565b6000613e0782614a1f565b613e118185614a42565b9350613e21818560208601614bb6565b613e2a81614c21565b840191505092915050565b6000613e4082614a1f565b613e4a8185614a53565b9350613e5a818560208601614bb6565b80840191505092915050565b613e6f81614b3b565b82525050565b613e7e81614b5f565b82525050565b6000613e91601b83614a5e565b91507f476174657761793a2063616e6e6f742073656e6420746f2030783000000000006000830152602082019050919050565b6000613ed1601c83614a6f565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b6000613f11602083614a5e565b91507f477561726465643a2063616e6e6f74206164642030783020677561726469616e6000830152602082019050919050565b6000613f51602f83614a5e565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b6000613fb7601783614a5e565b91507f476174657761793a2062617463682072657665727465640000000000000000006000830152602082019050919050565b6000613ff7603283614a5e565b91507f476174657761793a206e6f6e6365206973206c6f776572207468616e2063757260008301527f72656e74206163636f756e74206e6f6e636500000000000000000000000000006020830152604082019050919050565b600061405d602583614a5e565b91507f476174657761793a2063616e6e6f742073656e642066726f6d2030783020616360008301527f636f756e740000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006140c3602683614a5e565b91507f476174657761793a2063616e6e6f742064656c656761746520656d707479206260008301527f61746368657300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614129602883614a5e565b91507f476174657761793a2073656e646572206973206e6f7420746865206163636f7560008301527f6e74206f776e65720000000000000000000000000000000000000000000000006020830152604082019050919050565b600061418f601683614a5e565b91507f476174657761793a20696e76616c6964206261746368000000000000000000006000830152602082019050919050565b60006141cf602683614a5e565b91507f477561726465643a2074782e6f726967696e206973206e6f742074686520677560008301527f61726469616e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614235601f83614a5e565b91507f477561726465643a20677561726469616e20646f65736e2774206578697374006000830152602082019050919050565b6000614275602383614a5e565b91507f476174657761793a206261746368207472616e73616374696f6e20726576657260008301527f74656400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006142db601e83614a5e565b91507f536166654d6174684c69623a206164646974696f6e206f766572666c6f7700006000830152602082019050919050565b600061431b602083614a5e565b91507f477561726465643a20677561726469616e20616c7265616479206578697374736000830152602082019050919050565b600061435b602083614a5e565b91507f476174657761793a2063616e6e6f742073656e6420656d7074792062617463686000830152602082019050919050565b600061439b601b83614a5e565b91507f477561726465643a2063616e6e6f742072656d6f76652073656c6600000000006000830152602082019050919050565b60006143db601d83614a5e565b91507f476174657761793a20616c6c20626174636865732072657665727465640000006000830152602082019050919050565b61441781614b12565b82525050565b61442e61442982614b12565b614c17565b82525050565b61443d81614b1c565b82525050565b600061444f8287613d52565b60148201915061445f828661441d565b60208201915061446f8285613d69565b915061447b8284613e35565b915081905095945050505050565b60006144958288613d52565b6014820191506144a5828761441d565b6020820191506144b58286613d69565b91506144c18285613e35565b91506144cd828461441d565b6020820191508190509695505050505050565b60006144ec8284613e35565b915081905092915050565b60006145038286613e35565b915061450f8285613d52565b60148201915061451f8284613d52565b601482019150819050949350505050565b600061453c8285613e35565b91506145488284613e35565b91508190509392505050565b600061455f82613ec4565b915061456b8284613de5565b60208201915081905092915050565b6000614586828761441d565b6020820191506145968286613d52565b6014820191506145a68285613de5565b6020820191506145b68284613e35565b915081905095945050505050565b60006020820190506145d96000830184613d25565b92915050565b60006040820190506145f46000830185613d25565b6146016020830184613d34565b9392505050565b600060608201905061461d6000830186613d25565b818103602083015261462f8185613dfc565b905061463e6040830184613dc7565b949350505050565b600060408201905061465b6000830185613d34565b6146686020830184613d34565b9392505050565b60006020820190506146846000830184613dc7565b92915050565b600060208201905061469f6000830184613dd6565b92915050565b60006080820190506146ba6000830187613dd6565b6146c76020830186614434565b6146d46040830185613dd6565b6146e16060830184613dd6565b95945050505050565b60006020820190506146ff6000830184613e66565b92915050565b600060208201905061471a6000830184613e75565b92915050565b6000602082019050818103600083015261473981613e84565b9050919050565b6000602082019050818103600083015261475981613f04565b9050919050565b6000602082019050818103600083015261477981613f44565b9050919050565b6000602082019050818103600083015261479981613faa565b9050919050565b600060208201905081810360008301526147b981613fea565b9050919050565b600060208201905081810360008301526147d981614050565b9050919050565b600060208201905081810360008301526147f9816140b6565b9050919050565b600060208201905081810360008301526148198161411c565b9050919050565b6000602082019050818103600083015261483981614182565b9050919050565b60006020820190508181036000830152614859816141c2565b9050919050565b6000602082019050818103600083015261487981614228565b9050919050565b6000602082019050818103600083015261489981614268565b9050919050565b600060208201905081810360008301526148b9816142ce565b9050919050565b600060208201905081810360008301526148d98161430e565b9050919050565b600060208201905081810360008301526148f98161434e565b9050919050565b600060208201905081810360008301526149198161438e565b9050919050565b60006020820190508181036000830152614939816143ce565b9050919050565b6000602082019050614955600083018461440e565b92915050565b6000604051905081810181811067ffffffffffffffff8211171561497e57600080fd5b8060405250919050565b600067ffffffffffffffff82111561499f57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156149c757600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156149ef57600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000614a8582614af2565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b6000614ad982614a7a565b9050919050565b6000614aeb82614a7a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000614b3482614b83565b9050919050565b6000614b4682614b4d565b9050919050565b6000614b5882614af2565b9050919050565b6000614b6a82614b71565b9050919050565b6000614b7c82614af2565b9050919050565b6000614b8e82614b95565b9050919050565b6000614ba082614af2565b9050919050565b82818337600083830152505050565b60005b83811015614bd4578082015181840152602081019050614bb9565b83811115614be3576000848401525b50505050565b6000614bf482614c05565b9050919050565b6000819050919050565b6000614c1082614c32565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b614c4881614a7a565b8114614c5357600080fd5b50565b614c5f81614a8c565b8114614c6a57600080fd5b50565b614c7681614a98565b8114614c8157600080fd5b50565b614c8d81614aa2565b8114614c9857600080fd5b50565b614ca481614ace565b8114614caf57600080fd5b50565b614cbb81614ae0565b8114614cc657600080fd5b50565b614cd281614b12565b8114614cdd57600080fd5b5056fea164736f6c634300060c000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/Guarded.json b/artifacts/Guarded.json index 892fa1c1..1afbf595 100644 --- a/artifacts/Guarded.json +++ b/artifacts/Guarded.json @@ -54,6 +54,57 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__0b6945c4", + "type": "bytes8" + } + ], + "name": "c_0b6945c4", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__0b6945c4", + "type": "bytes8" + } + ], + "name": "c_false0b6945c4", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__0b6945c4", + "type": "bytes8" + } + ], + "name": "c_true0b6945c4", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { diff --git a/artifacts/HopFacet.json b/artifacts/HopFacet.json index dbac4386..104b86b3 100644 --- a/artifacts/HopFacet.json +++ b/artifacts/HopFacet.json @@ -130,6 +130,108 @@ "name": "HopTokenSwap", "type": "event" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9296fc39", + "type": "bytes8" + } + ], + "name": "c_9296fc39", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__99127806", + "type": "bytes8" + } + ], + "name": "c_99127806", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9296fc39", + "type": "bytes8" + } + ], + "name": "c_false9296fc39", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__99127806", + "type": "bytes8" + } + ], + "name": "c_false99127806", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9296fc39", + "type": "bytes8" + } + ], + "name": "c_true9296fc39", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__99127806", + "type": "bytes8" + } + ], + "name": "c_true99127806", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { @@ -214,8 +316,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50611740806100206000396000f3fe6080604052600436106100295760003560e01c80635254f5a91461002e578063fbdfb9071461004a575b600080fd5b61004860048036038101906100439190610f83565b610073565b005b34801561005657600080fd5b50610071600480360381019061006c9190610fad565b610409565b005b600061007d61046a565b90506001816000015414156100be576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181600001819055506100e88260400160208101906100de9190610f31565b8360a00135610497565b600060016100f46104d5565b14156101145782600001602081019061010d9190610f31565b905061012a565b8260200160208101906101279190610f31565b90505b82608001356101376104e8565b141561016f576040517f4ac09ad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101908360400160208101906101859190610f31565b828560a001356104f5565b60006101ad8460400160208101906101a89190610f31565b610660565b6101b85760006101be565b8360a001355b905060016101ca6104d5565b1415610272578173ffffffffffffffffffffffffffffffffffffffff1663deace8f58286608001358760600160208101906102059190610f31565b8860a001358961012001358a61014001356000806040518963ffffffff1660e01b815260040161023b9796959493929190611340565b6000604051808303818588803b15801561025457600080fd5b505af1158015610268573d6000803e3d6000fd5b505050505061031e565b8173ffffffffffffffffffffffffffffffffffffffff1663eea0d7b28286608001358760600160208101906102a79190610f31565b8860a001358960c001358a60e001358b61010001358c61012001358d61014001356040518a63ffffffff1660e01b81526004016102eb9897969594939291906113af565b6000604051808303818588803b15801561030457600080fd5b505af1158015610318573d6000803e3d6000fd5b50505050505b8360400160208101906103319190610f31565b73ffffffffffffffffffffffffffffffffffffffff1684606001602081019061035a9190610f31565b73ffffffffffffffffffffffffffffffffffffffff1685608001357f35ac5f1aa56e86e7f2e01562289e5bd298773763192f6433fde30f05932381738760000160208101906103a99190610f31565b8860200160208101906103bc9190610f31565b8960a001358a60c001358b60e001358c61010001358d61012001358e61014001356040516103f19897969594939291906111d7565b60405180910390a45050600081600001819055505050565b610411610698565b600061041b610733565b90508181600001819055507f09b9d2d59be87e537ec1f2f9325f524d04c29f20e2c60ce0c3c6435102c7882a61044f6104e8565b8360405161045e92919061142d565b60405180910390a15050565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6104d18282600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610760565b5050565b60006104df610733565b60000154905090565b6000804690508091505090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561052f5761065b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610596576040517f63ba9bff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016105d3929190611177565b60206040518083038186803b1580156105eb57600080fd5b505afa1580156105ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106239190610fd6565b9050818110156106595761065884847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610884565b5b505b505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b6106a06109e2565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610731576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610728906112a0565b60405180910390fd5b565b6000807f82ac262a0ca73826b2defa6066a5cbdaefe5f87d412e3568bfc9bec85eaa985790508091505090565b600082141561079b576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80156107df578134146107da576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61087f565b60003414610818576040517e3f45b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061082384610a0f565b905061083184333086610adb565b828161083c86610a0f565b6108469190611488565b1461087d576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505050565b600081148061091d575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016108cb929190611177565b60206040518083038186803b1580156108e357600080fd5b505afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b9190610fd6565b145b61095c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095390611320565b60405180910390fd5b6109dd8363095ea7b360e01b848460405160240161097b929190611255565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610bbb565b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610ad2578173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a7d919061115c565b60206040518083038186803b158015610a9557600080fd5b505afa158015610aa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acd9190610fd6565b610ad4565b475b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610b42576040517fd1bebf0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ba9576040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bb584848484610c82565b50505050565b6000610c1d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610d0b9092919063ffffffff16565b9050600081511115610c7d5780806020019051810190610c3d9190610f5a565b610c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7390611300565b60405180910390fd5b5b505050565b610d05846323b872dd60e01b858585604051602401610ca3939291906111a0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610bbb565b50505050565b6060610d1a8484600085610d23565b90509392505050565b606082471015610d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5f906112c0565b60405180910390fd5b610d7185610e37565b610db0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da7906112e0565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610dd99190611145565b60006040518083038185875af1925050503d8060008114610e16576040519150601f19603f3d011682016040523d82523d6000602084013e610e1b565b606091505b5091509150610e2b828286610e5a565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610e6a57829050610eba565b600083511115610e7d5782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb1919061127e565b60405180910390fd5b9392505050565b600081359050610ed0816116ee565b92915050565b600081519050610ee581611705565b92915050565b60006101608284031215610efe57600080fd5b81905092915050565b600081359050610f168161171c565b92915050565b600081519050610f2b8161171c565b92915050565b600060208284031215610f4357600080fd5b6000610f5184828501610ec1565b91505092915050565b600060208284031215610f6c57600080fd5b6000610f7a84828501610ed6565b91505092915050565b60006101608284031215610f9657600080fd5b6000610fa484828501610eeb565b91505092915050565b600060208284031215610fbf57600080fd5b6000610fcd84828501610f07565b91505092915050565b600060208284031215610fe857600080fd5b6000610ff684828501610f1c565b91505092915050565b611008816114bc565b82525050565b600061101982611456565b611023818561146c565b9350611033818560208601611516565b80840191505092915050565b61104881611504565b82525050565b600061105982611461565b6110638185611477565b9350611073818560208601611516565b61107c81611578565b840191505092915050565b6000611094602283611477565b915061109f82611589565b604082019050919050565b60006110b7602683611477565b91506110c2826115d8565b604082019050919050565b60006110da601d83611477565b91506110e582611627565b602082019050919050565b60006110fd602a83611477565b915061110882611650565b604082019050919050565b6000611120603683611477565b915061112b8261169f565b604082019050919050565b61113f816114fa565b82525050565b6000611151828461100e565b915081905092915050565b60006020820190506111716000830184610fff565b92915050565b600060408201905061118c6000830185610fff565b6111996020830184610fff565b9392505050565b60006060820190506111b56000830186610fff565b6111c26020830185610fff565b6111cf6040830184611136565b949350505050565b6000610100820190506111ed600083018b610fff565b6111fa602083018a610fff565b6112076040830189611136565b6112146060830188611136565b6112216080830187611136565b61122e60a0830186611136565b61123b60c0830185611136565b61124860e0830184611136565b9998505050505050505050565b600060408201905061126a6000830185610fff565b6112776020830184611136565b9392505050565b60006020820190508181036000830152611298818461104e565b905092915050565b600060208201905081810360008301526112b981611087565b9050919050565b600060208201905081810360008301526112d9816110aa565b9050919050565b600060208201905081810360008301526112f9816110cd565b9050919050565b60006020820190508181036000830152611319816110f0565b9050919050565b6000602082019050818103600083015261133981611113565b9050919050565b600060e082019050611355600083018a611136565b6113626020830189610fff565b61136f6040830188611136565b61137c6060830187611136565b6113896080830186611136565b61139660a0830185610fff565b6113a360c083018461103f565b98975050505050505050565b6000610100820190506113c5600083018b611136565b6113d2602083018a610fff565b6113df6040830189611136565b6113ec6060830188611136565b6113f96080830187611136565b61140660a0830186611136565b61141360c0830185611136565b61142060e0830184611136565b9998505050505050505050565b60006040820190506114426000830185611136565b61144f6020830184611136565b9392505050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000611493826114fa565b915061149e836114fa565b9250828210156114b1576114b0611549565b5b828203905092915050565b60006114c7826114da565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061150f826114fa565b9050919050565b60005b83811015611534578082015181840152602081019050611519565b83811115611543576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b6116f7816114bc565b811461170257600080fd5b50565b61170e816114ce565b811461171957600080fd5b50565b611725816114fa565b811461173057600080fd5b5056fea164736f6c6343000804000a", - "deployedBytecode": "0x6080604052600436106100295760003560e01c80635254f5a91461002e578063fbdfb9071461004a575b600080fd5b61004860048036038101906100439190610f83565b610073565b005b34801561005657600080fd5b50610071600480360381019061006c9190610fad565b610409565b005b600061007d61046a565b90506001816000015414156100be576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181600001819055506100e88260400160208101906100de9190610f31565b8360a00135610497565b600060016100f46104d5565b14156101145782600001602081019061010d9190610f31565b905061012a565b8260200160208101906101279190610f31565b90505b82608001356101376104e8565b141561016f576040517f4ac09ad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101908360400160208101906101859190610f31565b828560a001356104f5565b60006101ad8460400160208101906101a89190610f31565b610660565b6101b85760006101be565b8360a001355b905060016101ca6104d5565b1415610272578173ffffffffffffffffffffffffffffffffffffffff1663deace8f58286608001358760600160208101906102059190610f31565b8860a001358961012001358a61014001356000806040518963ffffffff1660e01b815260040161023b9796959493929190611340565b6000604051808303818588803b15801561025457600080fd5b505af1158015610268573d6000803e3d6000fd5b505050505061031e565b8173ffffffffffffffffffffffffffffffffffffffff1663eea0d7b28286608001358760600160208101906102a79190610f31565b8860a001358960c001358a60e001358b61010001358c61012001358d61014001356040518a63ffffffff1660e01b81526004016102eb9897969594939291906113af565b6000604051808303818588803b15801561030457600080fd5b505af1158015610318573d6000803e3d6000fd5b50505050505b8360400160208101906103319190610f31565b73ffffffffffffffffffffffffffffffffffffffff1684606001602081019061035a9190610f31565b73ffffffffffffffffffffffffffffffffffffffff1685608001357f35ac5f1aa56e86e7f2e01562289e5bd298773763192f6433fde30f05932381738760000160208101906103a99190610f31565b8860200160208101906103bc9190610f31565b8960a001358a60c001358b60e001358c61010001358d61012001358e61014001356040516103f19897969594939291906111d7565b60405180910390a45050600081600001819055505050565b610411610698565b600061041b610733565b90508181600001819055507f09b9d2d59be87e537ec1f2f9325f524d04c29f20e2c60ce0c3c6435102c7882a61044f6104e8565b8360405161045e92919061142d565b60405180910390a15050565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6104d18282600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610760565b5050565b60006104df610733565b60000154905090565b6000804690508091505090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561052f5761065b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610596576040517f63ba9bff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016105d3929190611177565b60206040518083038186803b1580156105eb57600080fd5b505afa1580156105ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106239190610fd6565b9050818110156106595761065884847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610884565b5b505b505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b6106a06109e2565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610731576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610728906112a0565b60405180910390fd5b565b6000807f82ac262a0ca73826b2defa6066a5cbdaefe5f87d412e3568bfc9bec85eaa985790508091505090565b600082141561079b576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80156107df578134146107da576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61087f565b60003414610818576040517e3f45b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061082384610a0f565b905061083184333086610adb565b828161083c86610a0f565b6108469190611488565b1461087d576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505050565b600081148061091d575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016108cb929190611177565b60206040518083038186803b1580156108e357600080fd5b505afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b9190610fd6565b145b61095c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095390611320565b60405180910390fd5b6109dd8363095ea7b360e01b848460405160240161097b929190611255565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610bbb565b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610ad2578173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a7d919061115c565b60206040518083038186803b158015610a9557600080fd5b505afa158015610aa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acd9190610fd6565b610ad4565b475b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610b42576040517fd1bebf0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ba9576040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bb584848484610c82565b50505050565b6000610c1d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610d0b9092919063ffffffff16565b9050600081511115610c7d5780806020019051810190610c3d9190610f5a565b610c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7390611300565b60405180910390fd5b5b505050565b610d05846323b872dd60e01b858585604051602401610ca3939291906111a0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610bbb565b50505050565b6060610d1a8484600085610d23565b90509392505050565b606082471015610d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5f906112c0565b60405180910390fd5b610d7185610e37565b610db0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da7906112e0565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610dd99190611145565b60006040518083038185875af1925050503d8060008114610e16576040519150601f19603f3d011682016040523d82523d6000602084013e610e1b565b606091505b5091509150610e2b828286610e5a565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610e6a57829050610eba565b600083511115610e7d5782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb1919061127e565b60405180910390fd5b9392505050565b600081359050610ed0816116ee565b92915050565b600081519050610ee581611705565b92915050565b60006101608284031215610efe57600080fd5b81905092915050565b600081359050610f168161171c565b92915050565b600081519050610f2b8161171c565b92915050565b600060208284031215610f4357600080fd5b6000610f5184828501610ec1565b91505092915050565b600060208284031215610f6c57600080fd5b6000610f7a84828501610ed6565b91505092915050565b60006101608284031215610f9657600080fd5b6000610fa484828501610eeb565b91505092915050565b600060208284031215610fbf57600080fd5b6000610fcd84828501610f07565b91505092915050565b600060208284031215610fe857600080fd5b6000610ff684828501610f1c565b91505092915050565b611008816114bc565b82525050565b600061101982611456565b611023818561146c565b9350611033818560208601611516565b80840191505092915050565b61104881611504565b82525050565b600061105982611461565b6110638185611477565b9350611073818560208601611516565b61107c81611578565b840191505092915050565b6000611094602283611477565b915061109f82611589565b604082019050919050565b60006110b7602683611477565b91506110c2826115d8565b604082019050919050565b60006110da601d83611477565b91506110e582611627565b602082019050919050565b60006110fd602a83611477565b915061110882611650565b604082019050919050565b6000611120603683611477565b915061112b8261169f565b604082019050919050565b61113f816114fa565b82525050565b6000611151828461100e565b915081905092915050565b60006020820190506111716000830184610fff565b92915050565b600060408201905061118c6000830185610fff565b6111996020830184610fff565b9392505050565b60006060820190506111b56000830186610fff565b6111c26020830185610fff565b6111cf6040830184611136565b949350505050565b6000610100820190506111ed600083018b610fff565b6111fa602083018a610fff565b6112076040830189611136565b6112146060830188611136565b6112216080830187611136565b61122e60a0830186611136565b61123b60c0830185611136565b61124860e0830184611136565b9998505050505050505050565b600060408201905061126a6000830185610fff565b6112776020830184611136565b9392505050565b60006020820190508181036000830152611298818461104e565b905092915050565b600060208201905081810360008301526112b981611087565b9050919050565b600060208201905081810360008301526112d9816110aa565b9050919050565b600060208201905081810360008301526112f9816110cd565b9050919050565b60006020820190508181036000830152611319816110f0565b9050919050565b6000602082019050818103600083015261133981611113565b9050919050565b600060e082019050611355600083018a611136565b6113626020830189610fff565b61136f6040830188611136565b61137c6060830187611136565b6113896080830186611136565b61139660a0830185610fff565b6113a360c083018461103f565b98975050505050505050565b6000610100820190506113c5600083018b611136565b6113d2602083018a610fff565b6113df6040830189611136565b6113ec6060830188611136565b6113f96080830187611136565b61140660a0830186611136565b61141360c0830185611136565b61142060e0830184611136565b9998505050505050505050565b60006040820190506114426000830185611136565b61144f6020830184611136565b9392505050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000611493826114fa565b915061149e836114fa565b9250828210156114b1576114b0611549565b5b828203905092915050565b60006114c7826114da565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061150f826114fa565b9050919050565b60005b83811015611534578082015181840152602081019050611519565b83811115611543576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b6116f7816114bc565b811461170257600080fd5b50565b61170e816114ce565b811461171957600080fd5b50565b611725816114fa565b811461173057600080fd5b5056fea164736f6c6343000804000a", + "bytecode": "0x608060405234801561001057600080fd5b5061252d806100206000396000f3fe60806040526004361061007b5760003560e01c80635254f5a91161004e5780635254f5a91461014c5780639d2b482d14610168578063ac0d2b13146101a5578063fbdfb907146101e25761007b565b806314917f991461008057806314fe06e2146100a957806324fd21a3146100d25780634a6f22c41461010f575b600080fd5b34801561008c57600080fd5b506100a760048036038101906100a29190611cda565b61020b565b005b3480156100b557600080fd5b506100d060048036038101906100cb9190611cda565b61020e565b005b3480156100de57600080fd5b506100f960048036038101906100f49190611cda565b610211565b604051610106919061200d565b60405180910390f35b34801561011b57600080fd5b5061013660048036038101906101319190611cda565b61021c565b604051610143919061200d565b60405180910390f35b61016660048036038101906101619190611d03565b610227565b005b34801561017457600080fd5b5061018f600480360381019061018a9190611cda565b61093b565b60405161019c919061200d565b60405180910390f35b3480156101b157600080fd5b506101cc60048036038101906101c79190611cda565b610942565b6040516101d9919061200d565b60405180910390f35b3480156101ee57600080fd5b5061020960048036038101906102049190611d2d565b610949565b005b50565b50565b600060019050919050565b600060019050919050565b61023b67661bb951cdf53d8960c01b61020e565b61024f6770f43b674d4e55d060c01b61020b565b61026367fdb58b8d5e8c5bd260c01b61020b565b61027767f88563faceb9065260c01b61020b565b6000610281610a4a565b905061029767f5511ed184b06f9d60c01b61020b565b6102ab675fe6356e9bb02e7e60c01b61020b565b6001816000015414156102fe576102cc67c2bf72a01148a95560c01b61020b565b6040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103126759328cc6ac1a5b8460c01b61020b565b610326676585023ebf8de8b060c01b61020b565b600181600001819055506103446794e629fc71d8c79e60c01b61020b565b61035867f7c4c5ed2ed29b8760c01b61020e565b61036c672c8916768aa11a0d60c01b61020e565b61038067c0a65b1e3e76c5f160c01b61020e565b61039366682286c57c645760c01b61020e565b6103b38260400160208101906103a99190611c88565b8360a00135610ac8565b6103c7675aa064e00b20e53260c01b61020e565b6103db676629fd295d85650e60c01b61020e565b60006103f1672af44cf5d351024c60c01b61020e565b6104056753fbdf5eb662728e60c01b61020e565b600161040f610b42565b141561045757610429673bb93a90f35cab4360c01b61020e565b61043d67eeb9315c311e0c4a60c01b61020e565b8260000160208101906104509190611c88565b9050610495565b61046b67dae42f06ddcbf88760c01b61020e565b61047f67c33298c7d476a93160c01b61020e565b8260200160208101906104929190611c88565b90505b6104a96780516103bbb46bff60c01b61020e565b6104bd67495a4110dd564c7960c01b61020e565b82608001356104ca610b91565b141561052a576104e4672ad2e94f535bb7c360c01b61020e565b6104f867a071858ad800078d60c01b61020e565b6040517f4ac09ad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61053e6771fbd3624530aca960c01b61020e565b610552677a27ef6a0f081e7460c01b61020e565b6105666751f57ad3e8af0ae660c01b61020e565b61058783604001602081019061057c9190611c88565b828560a00135610c17565b61059b6732bd3d5fb005932360c01b61020e565b6105af679ee94c753e40a9bd60c01b61020e565b60006105cc8460400160208101906105c79190611c88565b610eef565b80156105e857506105e7671c6cdb2e561b1b7a60c01b610211565b5b806106035750610602673aae476a62e89c5660c01b61093b565b5b61060e576000610614565b8360a001355b905061062a6705ffa9b8053bd55060c01b61020e565b61063e674c1bf98b0497add460c01b61020e565b6001610648610b42565b141561072c57610662675102be4bdc4b236560c01b61020e565b6106766792dcf2d8fc419e0b60c01b61020e565b61068a67c03078e49b8a444360c01b61020e565b8173ffffffffffffffffffffffffffffffffffffffff1663deace8f58286608001358760600160208101906106bf9190611c88565b8860a001358961012001358a61014001356000806040518963ffffffff1660e01b81526004016106f597969594939291906120ea565b6000604051808303818588803b15801561070e57600080fd5b505af1158015610722573d6000803e3d6000fd5b5050505050610814565b61074067fdf9a48dd9fc437a60c01b61020e565b61075467a7dee6e3ed91651860c01b61020e565b61076867f86051a336f1b40760c01b61020e565b8173ffffffffffffffffffffffffffffffffffffffff1663eea0d7b282866080013587606001602081019061079d9190611c88565b8860a001358960c001358a60e001358b61010001358c61012001358d61014001356040518a63ffffffff1660e01b81526004016107e1989796959493929190612159565b6000604051808303818588803b1580156107fa57600080fd5b505af115801561080e573d6000803e3d6000fd5b50505050505b61082867743931de60bec1cb60c01b61020e565b61083c670e27e12512b10ba560c01b61020e565b83604001602081019061084f9190611c88565b73ffffffffffffffffffffffffffffffffffffffff168460600160208101906108789190611c88565b73ffffffffffffffffffffffffffffffffffffffff1685608001357f35ac5f1aa56e86e7f2e01562289e5bd298773763192f6433fde30f05932381738760000160208101906108c79190611c88565b8860200160208101906108da9190611c88565b8960a001358a60c001358b60e001358c61010001358d61012001358e610140013560405161090f989796959493929190611f66565b60405180910390a4505061092d67441391ce80e99b6c60c01b61020b565b600081600001819055505050565b6000919050565b6000919050565b61095d67c5488db08bf3aa7e60c01b61020e565b61097167d7ab695f9ebcf25360c01b61020e565b61098567b16491a2c8df993a60c01b61020e565b61098d610f64565b6109a167239b563e050639e260c01b61020e565b6109b56751706ccc83c3e5bd60c01b61020e565b60006109bf611063565b90506109d5671994d64fd24a342e60c01b61020e565b8181600001819055506109f267495839473eebbf2060c01b61020e565b610a0667436eee75c6aa5af960c01b61020e565b7f09b9d2d59be87e537ec1f2f9325f524d04c29f20e2c60ce0c3c6435102c7882a610a2f610b91565b83604051610a3e9291906121d7565b60405180910390a15050565b6000610a6067fa11c344c1ec53a860c01b61020b565b610a74670fd7b7008acdbf5460c01b61020b565b610a88679fbd6d57c5d665d460c01b61020b565b60007fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b49050610ac167a9235c9a8268ed9060c01b61020b565b8091505090565b610adc6784e2b4191aab0e7160c01b6110e1565b610af067712f6b66126e0b6560c01b6110e1565b610b0467e5482082d9cb542560c01b6110e1565b610b3e8282600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146110e4565b5050565b6000610b586714c0c344270ea6ab60c01b61020e565b610b6c67a6bc01b0a9fd9f3460c01b61020e565b610b80673887afe91e7c57b060c01b61020e565b610b88611063565b60000154905090565b6000610ba7675f090b7904c6545560c01b61020e565b610bbb676dc269d1fb2d3c6560c01b61020e565b610bcf6705c0ac5722f1f16a60c01b61020e565b6000610be5673fd71ef25da613d360c01b61020e565b469050610bfc67e61d6ccc0a6fabcc60c01b61020e565b610c106717c21480dae85d1f60c01b61020e565b8091505090565b610c2b679ca08e8b0dc7164560c01b6110e1565b610c3f677404bbe72845116960c01b6110e1565b610c536753004255cfb9f81160c01b6110e1565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cb557610c9c67bccf623436530fb560c01b6110e1565b610cb0672f1ccbe7cc38641160c01b6110e1565b610eea565b610cc9671d77c326e3bb51a560c01b6110e1565b610cdd677d550d58d944335060c01b6110e1565b610cf16726446e7a1db47a7260c01b6110e1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d6c57610d3a67480cbdcd365f7cb860c01b6110e1565b6040517f63ba9bff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d806750e20f5aa90611eb60c01b6110e1565b610d9467df7812970f50c3b160c01b6110e1565b610da867e21ae98e185ebeb360c01b6110e1565b60008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610de5929190611f06565b60206040518083038186803b158015610dfd57600080fd5b505afa158015610e11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e359190611d56565b9050610e4b67de3d312e2c7294dc60c01b6110e1565b610e5f674e70391417d4424060c01b6110e1565b81811015610ed357610e7b675743a1c484c15d3e60c01b6110e1565b610e8f67bfb9af13a56e47bd60c01b6110e1565b610ea367995d48b5586277dc60c01b6110e1565b610ece84847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611410565b610ee8565b610ee767065587006cca868060c01b6110e1565b5b505b505050565b6000610f0567def6e9860ad508e960c01b6110e1565b610f19673a030cae1d937ded60c01b6110e1565b610f2d6766a8e87620041ca260c01b6110e1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b610f786721b40df6734b4e6460c01b61156e565b610f8c677276b6d1bbf7b68b60c01b61156e565b610fa067f8611dbcb55a1f7860c01b61156e565b610fb4676cedf54251a3375160c01b61156e565b610fbc611571565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461104d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110449061204a565b60405180910390fd5b61106167e452355b21bbd41e60c01b61156e565b565b600061107967049762d47eccc99560c01b61020e565b61108d677485aacd7ed494d760c01b61020e565b6110a1670dbb34693527921760c01b61020e565b60007f82ac262a0ca73826b2defa6066a5cbdaefe5f87d412e3568bfc9bec85eaa985790506110da67969465f63fd91b0960c01b61020e565b8091505090565b50565b6110f86739add2da1b0c35d560c01b6110e1565b61110c675c085b526ab8c57b60c01b6110e1565b61112067b3d2dd058c49644760c01b6110e1565b600082141561116f5761113d6705a8046c2df4f5c660c01b6110e1565b6040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611183678ef4e2c97a2bc62860c01b6110e1565b61119767cc697fa1840ca09660c01b6110e1565b6111ab6762088306b7db0d9360c01b6110e1565b8015611253576111c56796660f8106bc366160c01b6110e1565b6111d967fea9b8b23a82a46c60c01b6110e1565b6111ed671ab9f4b32ff9077960c01b6110e1565b81341461123a5761120867de026f7fec4a202a60c01b6110e1565b6040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61124e67deea53e0c61f3eb460c01b6110e1565b61140b565b6112676744732fb2539afe0860c01b6110e1565b61127b6745b5917460c8548c60c01b6110e1565b61128f67b61cda590281d4c760c01b6110e1565b600034146112dc576112ab670406a51ac2aeb89760c01b6110e1565b6040517e3f45b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112f06771a45bb6142330f460c01b6110e1565b611304676aed5fceffb1a5b160c01b6110e1565b611318671d42f77a5125292a60c01b6110e1565b6000611323846115ef565b9050611339675f2f73f1308f917760c01b6110e1565b61134d67e372a3dad5ac62de60c01b6110e1565b6113598433308661172f565b61136d67102e84bf56110f4360c01b6110e1565b61138167de23d6438fcaff2e60c01b6110e1565b828161138c866115ef565b6113969190612232565b146113f5576113af67b59535ced511891360c01b6110e1565b6113c367b891075f773c113a60c01b6110e1565b6040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61140967ab2bee94dc1c87d160c01b6110e1565b505b505050565b60008114806114a9575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401611457929190611f06565b60206040518083038186803b15801561146f57600080fd5b505afa158015611483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a79190611d56565b145b6114e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114df906120ca565b60405180910390fd5b6115698363095ea7b360e01b8484604051602401611507929190611fe4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506118eb565b505050565b50565b6000611587674f9afbb757d80e6360c01b61156e565b61159b674b823103125da15660c01b61156e565b6115af674ab715c231c1608d60c01b61156e565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90506115e867982d9bb86701efa860c01b61156e565b8091505090565b600061160567bb6d3fbf241bf67660c01b6110e1565b611619677ba8e1dcf768e44260c01b6110e1565b61162d674fd0fe73cee512ad60c01b6110e1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611679575061167867f6a472cb1776bcb560c01b6119b2565b5b80611694575061169367d904c8f1fbab9d1f60c01b6119bd565b5b611726578173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016116d19190611eeb565b60206040518083038186803b1580156116e957600080fd5b505afa1580156116fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117219190611d56565b611728565b475b9050919050565b61174367ef583e2039c405c960c01b6110e1565b61175767ace174e366a9f4fc60c01b6110e1565b61176b671bb3b9242bb58a1f60c01b6110e1565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156117e6576117b467434f07c0e3d2754a60c01b6110e1565b6040517fd1bebf0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117fa679391395d4ba7d68d60c01b6110e1565b61180e671a151b621bcceb6460c01b6110e1565b611822671d62177db93f304360c01b6110e1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561189d5761186b67bfa6da5dd21dbe1f60c01b6110e1565b6040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118b167971e37aa923e816660c01b6110e1565b6118c5675dd2e235ffab1cbb60c01b6110e1565b6118d9670980a3febde5381660c01b6110e1565b6118e5848484846119c4565b50505050565b600061194d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611a4d9092919063ffffffff16565b90506000815111156119ad578080602001905181019061196d9190611cb1565b6119ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a3906120aa565b60405180910390fd5b5b505050565b600060019050919050565b6000919050565b611a47846323b872dd60e01b8585856040516024016119e593929190611f2f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506118eb565b50505050565b6060611a5c8484600085611a65565b90509392505050565b606082471015611aaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa19061206a565b60405180910390fd5b611ab385611b79565b611af2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae99061208a565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611b1b9190611ed4565b60006040518083038185875af1925050503d8060008114611b58576040519150601f19603f3d011682016040523d82523d6000602084013e611b5d565b606091505b5091509150611b6d828286611b9c565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315611bac57829050611bfc565b600083511115611bbf5782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf39190612028565b60405180910390fd5b9392505050565b600081359050611c12816124c4565b92915050565b600081519050611c27816124db565b92915050565b600081359050611c3c816124f2565b92915050565b60006101608284031215611c5557600080fd5b81905092915050565b600081359050611c6d81612509565b92915050565b600081519050611c8281612509565b92915050565b600060208284031215611c9a57600080fd5b6000611ca884828501611c03565b91505092915050565b600060208284031215611cc357600080fd5b6000611cd184828501611c18565b91505092915050565b600060208284031215611cec57600080fd5b6000611cfa84828501611c2d565b91505092915050565b60006101608284031215611d1657600080fd5b6000611d2484828501611c42565b91505092915050565b600060208284031215611d3f57600080fd5b6000611d4d84828501611c5e565b91505092915050565b600060208284031215611d6857600080fd5b6000611d7684828501611c73565b91505092915050565b611d8881612266565b82525050565b611d9781612278565b82525050565b6000611da882612200565b611db28185612216565b9350611dc28185602086016122ec565b80840191505092915050565b611dd7816122da565b82525050565b6000611de88261220b565b611df28185612221565b9350611e028185602086016122ec565b611e0b8161234e565b840191505092915050565b6000611e23602283612221565b9150611e2e8261235f565b604082019050919050565b6000611e46602683612221565b9150611e51826123ae565b604082019050919050565b6000611e69601d83612221565b9150611e74826123fd565b602082019050919050565b6000611e8c602a83612221565b9150611e9782612426565b604082019050919050565b6000611eaf603683612221565b9150611eba82612475565b604082019050919050565b611ece816122d0565b82525050565b6000611ee08284611d9d565b915081905092915050565b6000602082019050611f006000830184611d7f565b92915050565b6000604082019050611f1b6000830185611d7f565b611f286020830184611d7f565b9392505050565b6000606082019050611f446000830186611d7f565b611f516020830185611d7f565b611f5e6040830184611ec5565b949350505050565b600061010082019050611f7c600083018b611d7f565b611f89602083018a611d7f565b611f966040830189611ec5565b611fa36060830188611ec5565b611fb06080830187611ec5565b611fbd60a0830186611ec5565b611fca60c0830185611ec5565b611fd760e0830184611ec5565b9998505050505050505050565b6000604082019050611ff96000830185611d7f565b6120066020830184611ec5565b9392505050565b60006020820190506120226000830184611d8e565b92915050565b600060208201905081810360008301526120428184611ddd565b905092915050565b6000602082019050818103600083015261206381611e16565b9050919050565b6000602082019050818103600083015261208381611e39565b9050919050565b600060208201905081810360008301526120a381611e5c565b9050919050565b600060208201905081810360008301526120c381611e7f565b9050919050565b600060208201905081810360008301526120e381611ea2565b9050919050565b600060e0820190506120ff600083018a611ec5565b61210c6020830189611d7f565b6121196040830188611ec5565b6121266060830187611ec5565b6121336080830186611ec5565b61214060a0830185611d7f565b61214d60c0830184611dce565b98975050505050505050565b60006101008201905061216f600083018b611ec5565b61217c602083018a611d7f565b6121896040830189611ec5565b6121966060830188611ec5565b6121a36080830187611ec5565b6121b060a0830186611ec5565b6121bd60c0830185611ec5565b6121ca60e0830184611ec5565b9998505050505050505050565b60006040820190506121ec6000830185611ec5565b6121f96020830184611ec5565b9392505050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061223d826122d0565b9150612248836122d0565b92508282101561225b5761225a61231f565b5b828203905092915050565b6000612271826122b0565b9050919050565b60008115159050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006122e5826122d0565b9050919050565b60005b8381101561230a5780820151818401526020810190506122ef565b83811115612319576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b6124cd81612266565b81146124d857600080fd5b50565b6124e481612278565b81146124ef57600080fd5b50565b6124fb81612284565b811461250657600080fd5b50565b612512816122d0565b811461251d57600080fd5b5056fea164736f6c6343000804000a", + "deployedBytecode": "0x60806040526004361061007b5760003560e01c80635254f5a91161004e5780635254f5a91461014c5780639d2b482d14610168578063ac0d2b13146101a5578063fbdfb907146101e25761007b565b806314917f991461008057806314fe06e2146100a957806324fd21a3146100d25780634a6f22c41461010f575b600080fd5b34801561008c57600080fd5b506100a760048036038101906100a29190611cda565b61020b565b005b3480156100b557600080fd5b506100d060048036038101906100cb9190611cda565b61020e565b005b3480156100de57600080fd5b506100f960048036038101906100f49190611cda565b610211565b604051610106919061200d565b60405180910390f35b34801561011b57600080fd5b5061013660048036038101906101319190611cda565b61021c565b604051610143919061200d565b60405180910390f35b61016660048036038101906101619190611d03565b610227565b005b34801561017457600080fd5b5061018f600480360381019061018a9190611cda565b61093b565b60405161019c919061200d565b60405180910390f35b3480156101b157600080fd5b506101cc60048036038101906101c79190611cda565b610942565b6040516101d9919061200d565b60405180910390f35b3480156101ee57600080fd5b5061020960048036038101906102049190611d2d565b610949565b005b50565b50565b600060019050919050565b600060019050919050565b61023b67661bb951cdf53d8960c01b61020e565b61024f6770f43b674d4e55d060c01b61020b565b61026367fdb58b8d5e8c5bd260c01b61020b565b61027767f88563faceb9065260c01b61020b565b6000610281610a4a565b905061029767f5511ed184b06f9d60c01b61020b565b6102ab675fe6356e9bb02e7e60c01b61020b565b6001816000015414156102fe576102cc67c2bf72a01148a95560c01b61020b565b6040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103126759328cc6ac1a5b8460c01b61020b565b610326676585023ebf8de8b060c01b61020b565b600181600001819055506103446794e629fc71d8c79e60c01b61020b565b61035867f7c4c5ed2ed29b8760c01b61020e565b61036c672c8916768aa11a0d60c01b61020e565b61038067c0a65b1e3e76c5f160c01b61020e565b61039366682286c57c645760c01b61020e565b6103b38260400160208101906103a99190611c88565b8360a00135610ac8565b6103c7675aa064e00b20e53260c01b61020e565b6103db676629fd295d85650e60c01b61020e565b60006103f1672af44cf5d351024c60c01b61020e565b6104056753fbdf5eb662728e60c01b61020e565b600161040f610b42565b141561045757610429673bb93a90f35cab4360c01b61020e565b61043d67eeb9315c311e0c4a60c01b61020e565b8260000160208101906104509190611c88565b9050610495565b61046b67dae42f06ddcbf88760c01b61020e565b61047f67c33298c7d476a93160c01b61020e565b8260200160208101906104929190611c88565b90505b6104a96780516103bbb46bff60c01b61020e565b6104bd67495a4110dd564c7960c01b61020e565b82608001356104ca610b91565b141561052a576104e4672ad2e94f535bb7c360c01b61020e565b6104f867a071858ad800078d60c01b61020e565b6040517f4ac09ad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61053e6771fbd3624530aca960c01b61020e565b610552677a27ef6a0f081e7460c01b61020e565b6105666751f57ad3e8af0ae660c01b61020e565b61058783604001602081019061057c9190611c88565b828560a00135610c17565b61059b6732bd3d5fb005932360c01b61020e565b6105af679ee94c753e40a9bd60c01b61020e565b60006105cc8460400160208101906105c79190611c88565b610eef565b80156105e857506105e7671c6cdb2e561b1b7a60c01b610211565b5b806106035750610602673aae476a62e89c5660c01b61093b565b5b61060e576000610614565b8360a001355b905061062a6705ffa9b8053bd55060c01b61020e565b61063e674c1bf98b0497add460c01b61020e565b6001610648610b42565b141561072c57610662675102be4bdc4b236560c01b61020e565b6106766792dcf2d8fc419e0b60c01b61020e565b61068a67c03078e49b8a444360c01b61020e565b8173ffffffffffffffffffffffffffffffffffffffff1663deace8f58286608001358760600160208101906106bf9190611c88565b8860a001358961012001358a61014001356000806040518963ffffffff1660e01b81526004016106f597969594939291906120ea565b6000604051808303818588803b15801561070e57600080fd5b505af1158015610722573d6000803e3d6000fd5b5050505050610814565b61074067fdf9a48dd9fc437a60c01b61020e565b61075467a7dee6e3ed91651860c01b61020e565b61076867f86051a336f1b40760c01b61020e565b8173ffffffffffffffffffffffffffffffffffffffff1663eea0d7b282866080013587606001602081019061079d9190611c88565b8860a001358960c001358a60e001358b61010001358c61012001358d61014001356040518a63ffffffff1660e01b81526004016107e1989796959493929190612159565b6000604051808303818588803b1580156107fa57600080fd5b505af115801561080e573d6000803e3d6000fd5b50505050505b61082867743931de60bec1cb60c01b61020e565b61083c670e27e12512b10ba560c01b61020e565b83604001602081019061084f9190611c88565b73ffffffffffffffffffffffffffffffffffffffff168460600160208101906108789190611c88565b73ffffffffffffffffffffffffffffffffffffffff1685608001357f35ac5f1aa56e86e7f2e01562289e5bd298773763192f6433fde30f05932381738760000160208101906108c79190611c88565b8860200160208101906108da9190611c88565b8960a001358a60c001358b60e001358c61010001358d61012001358e610140013560405161090f989796959493929190611f66565b60405180910390a4505061092d67441391ce80e99b6c60c01b61020b565b600081600001819055505050565b6000919050565b6000919050565b61095d67c5488db08bf3aa7e60c01b61020e565b61097167d7ab695f9ebcf25360c01b61020e565b61098567b16491a2c8df993a60c01b61020e565b61098d610f64565b6109a167239b563e050639e260c01b61020e565b6109b56751706ccc83c3e5bd60c01b61020e565b60006109bf611063565b90506109d5671994d64fd24a342e60c01b61020e565b8181600001819055506109f267495839473eebbf2060c01b61020e565b610a0667436eee75c6aa5af960c01b61020e565b7f09b9d2d59be87e537ec1f2f9325f524d04c29f20e2c60ce0c3c6435102c7882a610a2f610b91565b83604051610a3e9291906121d7565b60405180910390a15050565b6000610a6067fa11c344c1ec53a860c01b61020b565b610a74670fd7b7008acdbf5460c01b61020b565b610a88679fbd6d57c5d665d460c01b61020b565b60007fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b49050610ac167a9235c9a8268ed9060c01b61020b565b8091505090565b610adc6784e2b4191aab0e7160c01b6110e1565b610af067712f6b66126e0b6560c01b6110e1565b610b0467e5482082d9cb542560c01b6110e1565b610b3e8282600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146110e4565b5050565b6000610b586714c0c344270ea6ab60c01b61020e565b610b6c67a6bc01b0a9fd9f3460c01b61020e565b610b80673887afe91e7c57b060c01b61020e565b610b88611063565b60000154905090565b6000610ba7675f090b7904c6545560c01b61020e565b610bbb676dc269d1fb2d3c6560c01b61020e565b610bcf6705c0ac5722f1f16a60c01b61020e565b6000610be5673fd71ef25da613d360c01b61020e565b469050610bfc67e61d6ccc0a6fabcc60c01b61020e565b610c106717c21480dae85d1f60c01b61020e565b8091505090565b610c2b679ca08e8b0dc7164560c01b6110e1565b610c3f677404bbe72845116960c01b6110e1565b610c536753004255cfb9f81160c01b6110e1565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cb557610c9c67bccf623436530fb560c01b6110e1565b610cb0672f1ccbe7cc38641160c01b6110e1565b610eea565b610cc9671d77c326e3bb51a560c01b6110e1565b610cdd677d550d58d944335060c01b6110e1565b610cf16726446e7a1db47a7260c01b6110e1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d6c57610d3a67480cbdcd365f7cb860c01b6110e1565b6040517f63ba9bff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d806750e20f5aa90611eb60c01b6110e1565b610d9467df7812970f50c3b160c01b6110e1565b610da867e21ae98e185ebeb360c01b6110e1565b60008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610de5929190611f06565b60206040518083038186803b158015610dfd57600080fd5b505afa158015610e11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e359190611d56565b9050610e4b67de3d312e2c7294dc60c01b6110e1565b610e5f674e70391417d4424060c01b6110e1565b81811015610ed357610e7b675743a1c484c15d3e60c01b6110e1565b610e8f67bfb9af13a56e47bd60c01b6110e1565b610ea367995d48b5586277dc60c01b6110e1565b610ece84847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611410565b610ee8565b610ee767065587006cca868060c01b6110e1565b5b505b505050565b6000610f0567def6e9860ad508e960c01b6110e1565b610f19673a030cae1d937ded60c01b6110e1565b610f2d6766a8e87620041ca260c01b6110e1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b610f786721b40df6734b4e6460c01b61156e565b610f8c677276b6d1bbf7b68b60c01b61156e565b610fa067f8611dbcb55a1f7860c01b61156e565b610fb4676cedf54251a3375160c01b61156e565b610fbc611571565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461104d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110449061204a565b60405180910390fd5b61106167e452355b21bbd41e60c01b61156e565b565b600061107967049762d47eccc99560c01b61020e565b61108d677485aacd7ed494d760c01b61020e565b6110a1670dbb34693527921760c01b61020e565b60007f82ac262a0ca73826b2defa6066a5cbdaefe5f87d412e3568bfc9bec85eaa985790506110da67969465f63fd91b0960c01b61020e565b8091505090565b50565b6110f86739add2da1b0c35d560c01b6110e1565b61110c675c085b526ab8c57b60c01b6110e1565b61112067b3d2dd058c49644760c01b6110e1565b600082141561116f5761113d6705a8046c2df4f5c660c01b6110e1565b6040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611183678ef4e2c97a2bc62860c01b6110e1565b61119767cc697fa1840ca09660c01b6110e1565b6111ab6762088306b7db0d9360c01b6110e1565b8015611253576111c56796660f8106bc366160c01b6110e1565b6111d967fea9b8b23a82a46c60c01b6110e1565b6111ed671ab9f4b32ff9077960c01b6110e1565b81341461123a5761120867de026f7fec4a202a60c01b6110e1565b6040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61124e67deea53e0c61f3eb460c01b6110e1565b61140b565b6112676744732fb2539afe0860c01b6110e1565b61127b6745b5917460c8548c60c01b6110e1565b61128f67b61cda590281d4c760c01b6110e1565b600034146112dc576112ab670406a51ac2aeb89760c01b6110e1565b6040517e3f45b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112f06771a45bb6142330f460c01b6110e1565b611304676aed5fceffb1a5b160c01b6110e1565b611318671d42f77a5125292a60c01b6110e1565b6000611323846115ef565b9050611339675f2f73f1308f917760c01b6110e1565b61134d67e372a3dad5ac62de60c01b6110e1565b6113598433308661172f565b61136d67102e84bf56110f4360c01b6110e1565b61138167de23d6438fcaff2e60c01b6110e1565b828161138c866115ef565b6113969190612232565b146113f5576113af67b59535ced511891360c01b6110e1565b6113c367b891075f773c113a60c01b6110e1565b6040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61140967ab2bee94dc1c87d160c01b6110e1565b505b505050565b60008114806114a9575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401611457929190611f06565b60206040518083038186803b15801561146f57600080fd5b505afa158015611483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a79190611d56565b145b6114e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114df906120ca565b60405180910390fd5b6115698363095ea7b360e01b8484604051602401611507929190611fe4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506118eb565b505050565b50565b6000611587674f9afbb757d80e6360c01b61156e565b61159b674b823103125da15660c01b61156e565b6115af674ab715c231c1608d60c01b61156e565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90506115e867982d9bb86701efa860c01b61156e565b8091505090565b600061160567bb6d3fbf241bf67660c01b6110e1565b611619677ba8e1dcf768e44260c01b6110e1565b61162d674fd0fe73cee512ad60c01b6110e1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611679575061167867f6a472cb1776bcb560c01b6119b2565b5b80611694575061169367d904c8f1fbab9d1f60c01b6119bd565b5b611726578173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016116d19190611eeb565b60206040518083038186803b1580156116e957600080fd5b505afa1580156116fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117219190611d56565b611728565b475b9050919050565b61174367ef583e2039c405c960c01b6110e1565b61175767ace174e366a9f4fc60c01b6110e1565b61176b671bb3b9242bb58a1f60c01b6110e1565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156117e6576117b467434f07c0e3d2754a60c01b6110e1565b6040517fd1bebf0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117fa679391395d4ba7d68d60c01b6110e1565b61180e671a151b621bcceb6460c01b6110e1565b611822671d62177db93f304360c01b6110e1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561189d5761186b67bfa6da5dd21dbe1f60c01b6110e1565b6040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118b167971e37aa923e816660c01b6110e1565b6118c5675dd2e235ffab1cbb60c01b6110e1565b6118d9670980a3febde5381660c01b6110e1565b6118e5848484846119c4565b50505050565b600061194d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611a4d9092919063ffffffff16565b90506000815111156119ad578080602001905181019061196d9190611cb1565b6119ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a3906120aa565b60405180910390fd5b5b505050565b600060019050919050565b6000919050565b611a47846323b872dd60e01b8585856040516024016119e593929190611f2f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506118eb565b50505050565b6060611a5c8484600085611a65565b90509392505050565b606082471015611aaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa19061206a565b60405180910390fd5b611ab385611b79565b611af2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae99061208a565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611b1b9190611ed4565b60006040518083038185875af1925050503d8060008114611b58576040519150601f19603f3d011682016040523d82523d6000602084013e611b5d565b606091505b5091509150611b6d828286611b9c565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315611bac57829050611bfc565b600083511115611bbf5782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf39190612028565b60405180910390fd5b9392505050565b600081359050611c12816124c4565b92915050565b600081519050611c27816124db565b92915050565b600081359050611c3c816124f2565b92915050565b60006101608284031215611c5557600080fd5b81905092915050565b600081359050611c6d81612509565b92915050565b600081519050611c8281612509565b92915050565b600060208284031215611c9a57600080fd5b6000611ca884828501611c03565b91505092915050565b600060208284031215611cc357600080fd5b6000611cd184828501611c18565b91505092915050565b600060208284031215611cec57600080fd5b6000611cfa84828501611c2d565b91505092915050565b60006101608284031215611d1657600080fd5b6000611d2484828501611c42565b91505092915050565b600060208284031215611d3f57600080fd5b6000611d4d84828501611c5e565b91505092915050565b600060208284031215611d6857600080fd5b6000611d7684828501611c73565b91505092915050565b611d8881612266565b82525050565b611d9781612278565b82525050565b6000611da882612200565b611db28185612216565b9350611dc28185602086016122ec565b80840191505092915050565b611dd7816122da565b82525050565b6000611de88261220b565b611df28185612221565b9350611e028185602086016122ec565b611e0b8161234e565b840191505092915050565b6000611e23602283612221565b9150611e2e8261235f565b604082019050919050565b6000611e46602683612221565b9150611e51826123ae565b604082019050919050565b6000611e69601d83612221565b9150611e74826123fd565b602082019050919050565b6000611e8c602a83612221565b9150611e9782612426565b604082019050919050565b6000611eaf603683612221565b9150611eba82612475565b604082019050919050565b611ece816122d0565b82525050565b6000611ee08284611d9d565b915081905092915050565b6000602082019050611f006000830184611d7f565b92915050565b6000604082019050611f1b6000830185611d7f565b611f286020830184611d7f565b9392505050565b6000606082019050611f446000830186611d7f565b611f516020830185611d7f565b611f5e6040830184611ec5565b949350505050565b600061010082019050611f7c600083018b611d7f565b611f89602083018a611d7f565b611f966040830189611ec5565b611fa36060830188611ec5565b611fb06080830187611ec5565b611fbd60a0830186611ec5565b611fca60c0830185611ec5565b611fd760e0830184611ec5565b9998505050505050505050565b6000604082019050611ff96000830185611d7f565b6120066020830184611ec5565b9392505050565b60006020820190506120226000830184611d8e565b92915050565b600060208201905081810360008301526120428184611ddd565b905092915050565b6000602082019050818103600083015261206381611e16565b9050919050565b6000602082019050818103600083015261208381611e39565b9050919050565b600060208201905081810360008301526120a381611e5c565b9050919050565b600060208201905081810360008301526120c381611e7f565b9050919050565b600060208201905081810360008301526120e381611ea2565b9050919050565b600060e0820190506120ff600083018a611ec5565b61210c6020830189611d7f565b6121196040830188611ec5565b6121266060830187611ec5565b6121336080830186611ec5565b61214060a0830185611d7f565b61214d60c0830184611dce565b98975050505050505050565b60006101008201905061216f600083018b611ec5565b61217c602083018a611d7f565b6121896040830189611ec5565b6121966060830188611ec5565b6121a36080830187611ec5565b6121b060a0830186611ec5565b6121bd60c0830185611ec5565b6121ca60e0830184611ec5565b9998505050505050505050565b60006040820190506121ec6000830185611ec5565b6121f96020830184611ec5565b9392505050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061223d826122d0565b9150612248836122d0565b92508282101561225b5761225a61231f565b5b828203905092915050565b6000612271826122b0565b9050919050565b60008115159050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006122e5826122d0565b9050919050565b60005b8381101561230a5780820151818401526020810190506122ef565b83811115612319576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b6124cd81612266565b81146124d857600080fd5b50565b6124e481612278565b81146124ef57600080fd5b50565b6124fb81612284565b811461250657600080fd5b50565b612512816122d0565b811461251d57600080fd5b5056fea164736f6c6343000804000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/Initializable.json b/artifacts/Initializable.json index 7df2ae92..0365cf01 100644 --- a/artifacts/Initializable.json +++ b/artifacts/Initializable.json @@ -16,6 +16,57 @@ "name": "Initialized", "type": "event" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_098c0657", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_false098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_true098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [], "name": "isInitialized", diff --git a/artifacts/LibAsset.json b/artifacts/LibAsset.json index 74bbd398..47e3b90e 100644 --- a/artifacts/LibAsset.json +++ b/artifacts/LibAsset.json @@ -2,9 +2,61 @@ "_format": "hh-sol-artifact-1", "contractName": "LibAsset", "sourceName": "src/bridges/libs/LibAsset.sol", - "abi": [], - "bytecode": "0x602d6050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000804000a", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000804000a", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__724619c6", + "type": "bytes8" + } + ], + "name": "c_724619c6", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__724619c6", + "type": "bytes8" + } + ], + "name": "c_false724619c6", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__724619c6", + "type": "bytes8" + } + ], + "name": "c_true724619c6", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "bytecode": "0x6101a5610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80631133eca214610050578063d9e8719e14610080578063e12842d3146100b0575b600080fd5b61006a600480360381019061006591906100f6565b6100cc565b604051610077919061012e565b60405180910390f35b61009a600480360381019061009591906100f6565b6100d3565b6040516100a7919061012e565b60405180910390f35b6100ca60048036038101906100c591906100f6565b6100de565b005b6000919050565b600060019050919050565b50565b6000813590506100f081610181565b92915050565b60006020828403121561010857600080fd5b6000610116848285016100e1565b91505092915050565b61012881610149565b82525050565b6000602082019050610143600083018461011f565b92915050565b60008115159050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b61018a81610155565b811461019557600080fd5b5056fea164736f6c6343000804000a", + "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80631133eca214610050578063d9e8719e14610080578063e12842d3146100b0575b600080fd5b61006a600480360381019061006591906100f6565b6100cc565b604051610077919061012e565b60405180910390f35b61009a600480360381019061009591906100f6565b6100d3565b6040516100a7919061012e565b60405180910390f35b6100ca60048036038101906100c591906100f6565b6100de565b005b6000919050565b600060019050919050565b50565b6000813590506100f081610181565b92915050565b60006020828403121561010857600080fd5b6000610116848285016100e1565b91505092915050565b61012881610149565b82525050565b6000602082019050610143600083018461011f565b92915050565b60008115159050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b61018a81610155565b811461019557600080fd5b5056fea164736f6c6343000804000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/LibDiamond.json b/artifacts/LibDiamond.json index d17d5c88..d7e5d52d 100644 --- a/artifacts/LibDiamond.json +++ b/artifacts/LibDiamond.json @@ -63,10 +63,61 @@ ], "name": "OwnershipTransferred", "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f9a76502", + "type": "bytes8" + } + ], + "name": "c_f9a76502", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f9a76502", + "type": "bytes8" + } + ], + "name": "c_falsef9a76502", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__f9a76502", + "type": "bytes8" + } + ], + "name": "c_truef9a76502", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" } ], - "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e443216bcd038ab1823e4b419d4c6f195e30184d868d9d809f07908d8502743064736f6c63430008110033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e443216bcd038ab1823e4b419d4c6f195e30184d868d9d809f07908d8502743064736f6c63430008110033", + "bytecode": "0x6101d7610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806332446555146100505780637b7164e014610080578063968b8c8b1461009c575b600080fd5b61006a6004803603810190610065919061013e565b6100cc565b6040516100779190610186565b60405180910390f35b61009a6004803603810190610095919061013e565b6100d7565b005b6100b660048036038101906100b1919061013e565b6100da565b6040516100c39190610186565b60405180910390f35b600060019050919050565b50565b6000919050565b600080fd5b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b61011b816100e6565b811461012657600080fd5b50565b60008135905061013881610112565b92915050565b600060208284031215610154576101536100e1565b5b600061016284828501610129565b91505092915050565b60008115159050919050565b6101808161016b565b82525050565b600060208201905061019b6000830184610177565b9291505056fea2646970667358221220bd3ed9c770c81adfc18ce730de0b9c81b3318fa299d0960ffbc5ed6f9f672d7464736f6c63430008110033", + "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806332446555146100505780637b7164e014610080578063968b8c8b1461009c575b600080fd5b61006a6004803603810190610065919061013e565b6100cc565b6040516100779190610186565b60405180910390f35b61009a6004803603810190610095919061013e565b6100d7565b005b6100b660048036038101906100b1919061013e565b6100da565b6040516100c39190610186565b60405180910390f35b600060019050919050565b50565b6000919050565b600080fd5b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b61011b816100e6565b811461012657600080fd5b50565b60008135905061013881610112565b92915050565b600060208284031215610154576101536100e1565b5b600061016284828501610129565b91505092915050565b60008115159050919050565b6101808161016b565b82525050565b600060208201905061019b6000830184610177565b9291505056fea2646970667358221220bd3ed9c770c81adfc18ce730de0b9c81b3318fa299d0960ffbc5ed6f9f672d7464736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/OwnershipFacet.json b/artifacts/OwnershipFacet.json index 15801b13..7c61cbb9 100644 --- a/artifacts/OwnershipFacet.json +++ b/artifacts/OwnershipFacet.json @@ -3,6 +3,57 @@ "contractName": "OwnershipFacet", "sourceName": "src/bridges/facets/OwnershipFacet.sol", "abi": [ + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__2f222e9f", + "type": "bytes8" + } + ], + "name": "c_2f222e9f", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__2f222e9f", + "type": "bytes8" + } + ], + "name": "c_false2f222e9f", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__2f222e9f", + "type": "bytes8" + } + ], + "name": "c_true2f222e9f", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [], "name": "owner", @@ -30,8 +81,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b506103fd806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80638da5cb5b1461003b578063f2fde38b14610059575b600080fd5b610043610075565b60405161005091906102ab565b60405180910390f35b610073600480360381019061006e91906102f7565b610084565b005b600061007f610098565b905090565b61008c6100cb565b61009581610166565b50565b60006100a261023d565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6100d361023d565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161015b906103a7565b60405180910390fd5b565b600061017061023d565b905060008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102958261026a565b9050919050565b6102a58161028a565b82525050565b60006020820190506102c0600083018461029c565b92915050565b600080fd5b6102d48161028a565b81146102df57600080fd5b50565b6000813590506102f1816102cb565b92915050565b60006020828403121561030d5761030c6102c6565b5b600061031b848285016102e2565b91505092915050565b600082825260208201905092915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b6000610391602283610324565b915061039c82610335565b604082019050919050565b600060208201905081810360008301526103c081610384565b905091905056fea2646970667358221220f36d06e82e43b03b644ee35505424cb4798ec509840fa5dd4ab3863b4ebd66b364736f6c63430008110033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80638da5cb5b1461003b578063f2fde38b14610059575b600080fd5b610043610075565b60405161005091906102ab565b60405180910390f35b610073600480360381019061006e91906102f7565b610084565b005b600061007f610098565b905090565b61008c6100cb565b61009581610166565b50565b60006100a261023d565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6100d361023d565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161015b906103a7565b60405180910390fd5b565b600061017061023d565b905060008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102958261026a565b9050919050565b6102a58161028a565b82525050565b60006020820190506102c0600083018461029c565b92915050565b600080fd5b6102d48161028a565b81146102df57600080fd5b50565b6000813590506102f1816102cb565b92915050565b60006020828403121561030d5761030c6102c6565b5b600061031b848285016102e2565b91505092915050565b600082825260208201905092915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b6000610391602283610324565b915061039c82610335565b604082019050919050565b600060208201905081810360008301526103c081610384565b905091905056fea2646970667358221220f36d06e82e43b03b644ee35505424cb4798ec509840fa5dd4ab3863b4ebd66b364736f6c63430008110033", + "bytecode": "0x608060405234801561001057600080fd5b50610776806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063433a40cc1461005c57806345a7077e1461008c5780638da5cb5b146100a8578063e673e274146100c6578063f2fde38b146100f6575b600080fd5b61007660048036038101906100719190610585565b610112565b60405161008391906105cd565b60405180910390f35b6100a660048036038101906100a19190610585565b610119565b005b6100b061011c565b6040516100bd9190610629565b60405180910390f35b6100e060048036038101906100db9190610585565b610153565b6040516100ed91906105cd565b60405180910390f35b610110600480360381019061010b9190610670565b61015e565b005b6000919050565b50565b60006101326703b0bbf0cc27d6d060c01b610119565b61014667ddcbd84332b09d5c60c01b610119565b61014e6101d6565b905090565b600060019050919050565b6101726794c7fe791cf6e26660c01b610119565b61018667ecce47dee557841060c01b610119565b61019a67e6e44605ff8269ab60c01b610119565b6101a2610231565b6101b66703d113e82bc56e6960c01b610119565b6101ca6740d917c23072919760c01b610119565b6101d381610330565b50565b60006101ec677d1d35fb9d60316160c01b6104a7565b610200671bba0af24121cdd160c01b6104a7565b6102086104aa565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6102456721b40df6734b4e6460c01b6104a7565b610259677276b6d1bbf7b68b60c01b6104a7565b61026d67f8611dbcb55a1f7860c01b6104a7565b610281676cedf54251a3375160c01b6104a7565b6102896104aa565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461031a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031190610720565b60405180910390fd5b61032e67e452355b21bbd41e60c01b6104a7565b565b610344674f69fffccbea1a6060c01b6104a7565b61035867254a8afedf49a2bd60c01b6104a7565b61036c6764ae761eae80994a60c01b6104a7565b60006103766104aa565b905061038c6728cf10db04b3ce6a60c01b6104a7565b6103a067254c9c1d52a21ebf60c01b6104a7565b60008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506103dd67f8cb9d02f213dad260c01b6104a7565b828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061043467320b257c7ea8cea760c01b6104a7565b61044867a1ef30c006aa278260c01b6104a7565b8273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b50565b60006104c0674f9afbb757d80e6360c01b6104a7565b6104d4674b823103125da15660c01b6104a7565b6104e8674ab715c231c1608d60c01b6104a7565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061052167982d9bb86701efa860c01b6104a7565b8091505090565b600080fd5b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b6105628161052d565b811461056d57600080fd5b50565b60008135905061057f81610559565b92915050565b60006020828403121561059b5761059a610528565b5b60006105a984828501610570565b91505092915050565b60008115159050919050565b6105c7816105b2565b82525050565b60006020820190506105e260008301846105be565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610613826105e8565b9050919050565b61062381610608565b82525050565b600060208201905061063e600083018461061a565b92915050565b61064d81610608565b811461065857600080fd5b50565b60008135905061066a81610644565b92915050565b60006020828403121561068657610685610528565b5b60006106948482850161065b565b91505092915050565b600082825260208201905092915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b600061070a60228361069d565b9150610715826106ae565b604082019050919050565b60006020820190508181036000830152610739816106fd565b905091905056fea26469706673582212208059456773fa43aa47714f907ac29974f27210cf3e42cbe6a010339f2fef11cc64736f6c63430008110033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063433a40cc1461005c57806345a7077e1461008c5780638da5cb5b146100a8578063e673e274146100c6578063f2fde38b146100f6575b600080fd5b61007660048036038101906100719190610585565b610112565b60405161008391906105cd565b60405180910390f35b6100a660048036038101906100a19190610585565b610119565b005b6100b061011c565b6040516100bd9190610629565b60405180910390f35b6100e060048036038101906100db9190610585565b610153565b6040516100ed91906105cd565b60405180910390f35b610110600480360381019061010b9190610670565b61015e565b005b6000919050565b50565b60006101326703b0bbf0cc27d6d060c01b610119565b61014667ddcbd84332b09d5c60c01b610119565b61014e6101d6565b905090565b600060019050919050565b6101726794c7fe791cf6e26660c01b610119565b61018667ecce47dee557841060c01b610119565b61019a67e6e44605ff8269ab60c01b610119565b6101a2610231565b6101b66703d113e82bc56e6960c01b610119565b6101ca6740d917c23072919760c01b610119565b6101d381610330565b50565b60006101ec677d1d35fb9d60316160c01b6104a7565b610200671bba0af24121cdd160c01b6104a7565b6102086104aa565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6102456721b40df6734b4e6460c01b6104a7565b610259677276b6d1bbf7b68b60c01b6104a7565b61026d67f8611dbcb55a1f7860c01b6104a7565b610281676cedf54251a3375160c01b6104a7565b6102896104aa565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461031a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031190610720565b60405180910390fd5b61032e67e452355b21bbd41e60c01b6104a7565b565b610344674f69fffccbea1a6060c01b6104a7565b61035867254a8afedf49a2bd60c01b6104a7565b61036c6764ae761eae80994a60c01b6104a7565b60006103766104aa565b905061038c6728cf10db04b3ce6a60c01b6104a7565b6103a067254c9c1d52a21ebf60c01b6104a7565b60008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506103dd67f8cb9d02f213dad260c01b6104a7565b828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061043467320b257c7ea8cea760c01b6104a7565b61044867a1ef30c006aa278260c01b6104a7565b8273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b50565b60006104c0674f9afbb757d80e6360c01b6104a7565b6104d4674b823103125da15660c01b6104a7565b6104e8674ab715c231c1608d60c01b6104a7565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061052167982d9bb86701efa860c01b6104a7565b8091505090565b600080fd5b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b6105628161052d565b811461056d57600080fd5b50565b60008135905061057f81610559565b92915050565b60006020828403121561059b5761059a610528565b5b60006105a984828501610570565b91505092915050565b60008115159050919050565b6105c7816105b2565b82525050565b60006020820190506105e260008301846105be565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610613826105e8565b9050919050565b61062381610608565b82525050565b600060208201905061063e600083018461061a565b92915050565b61064d81610608565b811461065857600080fd5b50565b60008135905061066a81610644565b92915050565b60006020828403121561068657610685610528565b5b60006106948482850161065b565b91505092915050565b600082825260208201905092915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b600061070a60228361069d565b9150610715826106ae565b604082019050919050565b60006020820190508181036000830152610739816106fd565b905091905056fea26469706673582212208059456773fa43aa47714f907ac29974f27210cf3e42cbe6a010339f2fef11cc64736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/PaymentDepositAccount.json b/artifacts/PaymentDepositAccount.json index 34cb53a3..b81aebae 100644 --- a/artifacts/PaymentDepositAccount.json +++ b/artifacts/PaymentDepositAccount.json @@ -8,6 +8,108 @@ "stateMutability": "payable", "type": "constructor" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__495bfa8b", + "type": "bytes8" + } + ], + "name": "c_495bfa8b", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__90f8af33", + "type": "bytes8" + } + ], + "name": "c_90f8af33", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__495bfa8b", + "type": "bytes8" + } + ], + "name": "c_false495bfa8b", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__90f8af33", + "type": "bytes8" + } + ], + "name": "c_false90f8af33", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__495bfa8b", + "type": "bytes8" + } + ], + "name": "c_true495bfa8b", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__90f8af33", + "type": "bytes8" + } + ], + "name": "c_true90f8af33", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [], "name": "controller", @@ -55,8 +157,8 @@ "type": "receive" } ], - "bytecode": "0x6080604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103a4806100536000396000f3fe60806040526004361061002d5760003560e01c80633f579f4214610039578063f77c47911461016257610034565b3661003457005b600080fd5b34801561004557600080fd5b506100e76004803603606081101561005c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156100a357600080fd5b8201836020820111156100b557600080fd5b803590602001918460018302840111640100000000831117156100d757600080fd5b90919293919293905050506101a3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012757808201518184015260208101905061010c565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016e57600080fd5b50610177610347565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061036c602c913960400191505060405180910390fd5b606060008673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d80600081146102b9576040519150601f19603f3d011682016040523d82523d6000602084013e6102be565b606091505b5080935081925050508061033a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b8192505050949350505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a", - "deployedBytecode": "0x60806040526004361061002d5760003560e01c80633f579f4214610039578063f77c47911461016257610034565b3661003457005b600080fd5b34801561004557600080fd5b506100e76004803603606081101561005c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156100a357600080fd5b8201836020820111156100b557600080fd5b803590602001918460018302840111640100000000831117156100d757600080fd5b90919293919293905050506101a3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012757808201518184015260208101905061010c565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016e57600080fd5b50610177610347565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061036c602c913960400191505060405180910390fd5b606060008673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d80600081146102b9576040519150601f19603f3d011682016040523d82523d6000602084013e6102be565b606091505b5080935081925050508061033a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b8192505050949350505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a", + "bytecode": "0x608060405261001e674c05ed6aa1cd281960c01b61009760201b60201c565b610038675db0dfd7018850c360c01b61009760201b60201c565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610092679098f39fea0730f660c01b61009a60201b60201c565b61009d565b50565b50565b61080c806100ac6000396000f3fe60806040526004361061007f5760003560e01c8063bd04d1391161004e578063bd04d139146102f8578063c478196d14610364578063d1c43eae146103ba578063f77c47911461041057610086565b806326bebb521461008b5780633f579f42146100f7578063550648ff1461022057806356c2fc6c1461028c57610086565b3661008657005b600080fd5b34801561009757600080fd5b506100df600480360360208110156100ae57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610451565b60405180821515815260200191505060405180910390f35b34801561010357600080fd5b506101a56004803603606081101561011a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561016157600080fd5b82018360208201111561017357600080fd5b8035906020019184600183028401116401000000008311171561019557600080fd5b9091929391929390505050610458565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e55780820151818401526020810190506101ca565b50505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022c57600080fd5b506102746004803603602081101561024357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061078c565b60405180821515815260200191505060405180910390f35b34801561029857600080fd5b506102e0600480360360208110156102af57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610793565b60405180821515815260200191505060405180910390f35b34801561030457600080fd5b5061034c6004803603602081101561031b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061079e565b60405180821515815260200191505060405180910390f35b34801561037057600080fd5b506103b86004803603602081101561038757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107a9565b005b3480156103c657600080fd5b5061040e600480360360208110156103dd57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107ac565b005b34801561041c57600080fd5b506104256107af565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000919050565b606061046e6730a6ad52e198db9760c01b6107a9565b61048267f6266a592c249da560c01b6107ac565b6104966728279893f8537e1960c01b6107ac565b6104aa67d300d0a9ecbe6cac60c01b6107ac565b6104be678d5c0caa285e3ec560c01b6107ac565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610562576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806107d4602c913960400191505060405180910390fd5b6105766718b2e4dd03bc759a60c01b6107ac565b61058a67f8b65e28b897a44f60c01b6107ac565b61059e67a0e46df01f8c97cb60c01b6107a9565b6105b267aa5eebb2652f143c60c01b6107a9565b6105c6676d9ffa8149f3dea060c01b6107a9565b6105da678cb9bb07d4779f7e60c01b6107a9565b60606105f067f5ddfa157613111160c01b6107a9565b610604676c82c2c1207b3b7760c01b6107a9565b600061061a673ff4b340667b124160c01b6107a9565b8673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d8060008114610686576040519150601f19603f3d011682016040523d82523d6000602084013e61068b565b606091505b5080935081925050506106a86756fbd48014b71d8b60c01b6107a9565b6106bc67e31d8723036de13060c01b6107a9565b6106d067d6b834fbc1dbf84c60c01b6107a9565b80610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b61075767836ca2ae34585e2360c01b6107a9565b61076b67fc0747958022859a60c01b6107a9565b61077f67127f08829e3f368c60c01b6107a9565b8192505050949350505050565b6000919050565b600060019050919050565b600060019050919050565b50565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a", + "deployedBytecode": "0x60806040526004361061007f5760003560e01c8063bd04d1391161004e578063bd04d139146102f8578063c478196d14610364578063d1c43eae146103ba578063f77c47911461041057610086565b806326bebb521461008b5780633f579f42146100f7578063550648ff1461022057806356c2fc6c1461028c57610086565b3661008657005b600080fd5b34801561009757600080fd5b506100df600480360360208110156100ae57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610451565b60405180821515815260200191505060405180910390f35b34801561010357600080fd5b506101a56004803603606081101561011a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561016157600080fd5b82018360208201111561017357600080fd5b8035906020019184600183028401116401000000008311171561019557600080fd5b9091929391929390505050610458565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e55780820151818401526020810190506101ca565b50505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022c57600080fd5b506102746004803603602081101561024357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061078c565b60405180821515815260200191505060405180910390f35b34801561029857600080fd5b506102e0600480360360208110156102af57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610793565b60405180821515815260200191505060405180910390f35b34801561030457600080fd5b5061034c6004803603602081101561031b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061079e565b60405180821515815260200191505060405180910390f35b34801561037057600080fd5b506103b86004803603602081101561038757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107a9565b005b3480156103c657600080fd5b5061040e600480360360208110156103dd57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107ac565b005b34801561041c57600080fd5b506104256107af565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000919050565b606061046e6730a6ad52e198db9760c01b6107a9565b61048267f6266a592c249da560c01b6107ac565b6104966728279893f8537e1960c01b6107ac565b6104aa67d300d0a9ecbe6cac60c01b6107ac565b6104be678d5c0caa285e3ec560c01b6107ac565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610562576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806107d4602c913960400191505060405180910390fd5b6105766718b2e4dd03bc759a60c01b6107ac565b61058a67f8b65e28b897a44f60c01b6107ac565b61059e67a0e46df01f8c97cb60c01b6107a9565b6105b267aa5eebb2652f143c60c01b6107a9565b6105c6676d9ffa8149f3dea060c01b6107a9565b6105da678cb9bb07d4779f7e60c01b6107a9565b60606105f067f5ddfa157613111160c01b6107a9565b610604676c82c2c1207b3b7760c01b6107a9565b600061061a673ff4b340667b124160c01b6107a9565b8673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d8060008114610686576040519150601f19603f3d011682016040523d82523d6000602084013e61068b565b606091505b5080935081925050506106a86756fbd48014b71d8b60c01b6107a9565b6106bc67e31d8723036de13060c01b6107a9565b6106d067d6b834fbc1dbf84c60c01b6107a9565b80610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b61075767836ca2ae34585e2360c01b6107a9565b61076b67fc0747958022859a60c01b6107a9565b61077f67127f08829e3f368c60c01b6107a9565b8192505050949350505050565b6000919050565b600060019050919050565b600060019050919050565b50565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/PaymentRegistry.json b/artifacts/PaymentRegistry.json index b3d0f0bf..14ba4284 100644 --- a/artifacts/PaymentRegistry.json +++ b/artifacts/PaymentRegistry.json @@ -315,6 +315,261 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_098c0657", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__0b6945c4", + "type": "bytes8" + } + ], + "name": "c_0b6945c4", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__52615ca8", + "type": "bytes8" + } + ], + "name": "c_52615ca8", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__d18be0f9", + "type": "bytes8" + } + ], + "name": "c_d18be0f9", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__e6f7a58d", + "type": "bytes8" + } + ], + "name": "c_e6f7a58d", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_false098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__0b6945c4", + "type": "bytes8" + } + ], + "name": "c_false0b6945c4", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__52615ca8", + "type": "bytes8" + } + ], + "name": "c_false52615ca8", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__d18be0f9", + "type": "bytes8" + } + ], + "name": "c_falsed18be0f9", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__e6f7a58d", + "type": "bytes8" + } + ], + "name": "c_falsee6f7a58d", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_true098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__0b6945c4", + "type": "bytes8" + } + ], + "name": "c_true0b6945c4", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__52615ca8", + "type": "bytes8" + } + ], + "name": "c_true52615ca8", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__d18be0f9", + "type": "bytes8" + } + ], + "name": "c_trued18be0f9", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__e6f7a58d", + "type": "bytes8" + } + ], + "name": "c_truee6f7a58d", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [], "name": "chainId", @@ -905,8 +1160,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5032600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060004690508060028190555050614c138061006e6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80639130c06e116100de578063c36326e711610097578063da1b213d11610071578063da1b213d146104bb578063dc7d6c31146104d7578063df04338014610507578063e0fe396e146105235761018e565b8063c36326e71461043d578063d0f710d61461046d578063d2c83b9a1461049d5761018e565b80639130c06e146103915780639a85fae2146103ad5780639a8a0592146103c9578063a526d83b146103e7578063b0274a7314610403578063bdff4b3b1461041f5761018e565b80636121fcfc1161014b578063714041561161012557806371404156146102f757806384389a2b1461031357806387d31313146103435780638a1773ab146103615761018e565b80636121fcfc1461028f5780636524a947146102bf5780636866da52146102db5761018e565b80630c68ba2114610193578063116191b6146101c35780632e4f161e146101e15780632e7037a014610211578063392e53cd1461024157806360bf4df21461025f575b600080fd5b6101ad60048036038101906101a89190612f83565b61053f565b6040516101ba91906140a9565b60405180910390f35b6101cb610594565b6040516101d89190613e92565b60405180910390f35b6101fb60048036038101906101f69190612fe8565b6105ba565b60405161020891906140c4565b60405180910390f35b61022b600480360381019061022691906133f5565b6105d2565b60405161023891906140c4565b60405180910390f35b6102496105f2565b60405161025691906140a9565b60405180910390f35b61027960048036038101906102749190612f83565b61064a565b6040516102869190613e92565b60405180910390f35b6102a960048036038101906102a49190612f83565b61065c565b6040516102b691906140a9565b60405180910390f35b6102d960048036038101906102d49190612f83565b6106f7565b005b6102f560048036038101906102f0919061320c565b610703565b005b610311600480360381019061030c9190612f83565b610a28565b005b61032d6004803603810190610328919061341e565b610c40565b60405161033a91906140c4565b60405180910390f35b61034b610c6f565b6040516103589190614200565b60405180910390f35b61037b600480360381019061037691906132a1565b610c95565b604051610388919061449d565b60405180910390f35b6103ab60048036038101906103a69190612f83565b610cb5565b005b6103c760048036038101906103c2919061304b565b610fe9565b005b6103d16110f4565b6040516103de919061449d565b60405180910390f35b61040160048036038101906103fc9190612f83565b6110fa565b005b61041d60048036038101906104189190612f83565b611191565b005b6104276113ac565b604051610434919061449d565b60405180910390f35b61045760048036038101906104529190612fac565b6113b2565b604051610464919061449d565b60405180910390f35b610487600480360381019061048291906132ca565b61143c565b60405161049491906140a9565b60405180910390f35b6104a5611495565b6040516104b291906141e5565b60405180910390f35b6104d560048036038101906104d09190613121565b6114bb565b005b6104f160048036038101906104ec9190612fac565b6115c2565b6040516104fe919061449d565b60405180910390f35b610521600480360381019061051c919061304b565b61164c565b005b61053d60048036038101906105389190613363565b61174f565b005b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006105c885858585611955565b9050949350505050565b60006105eb82600001518360200151846040015161198e565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b6000610655826119e6565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b61070081611a84565b50565b600061070d611c94565b905060006107a3600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486611ca590919063ffffffff16565b9050600081116107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df9061435d565b60405180910390fd5b60006107f583888861198e565b90506108458186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611cd2565b610884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087b9061447d565b60405180910390fd5b85600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109128388611d3f565b610980600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848985611efc565b7f95f66b073d65f18e43f6b76c7ab8557787f5f766d86cab7c9c76f41be9f8abc6600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848989604051610a179493929190613f51565b60405180910390a150505050505050565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ab3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aaa9061433d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161415610b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b199061443d565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba4906143dd565b60405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b3282604051610c35929190613ec8565b60405180910390a150565b6000610c68826000015183602001518460400151856060015186608001518760a0015161218c565b9050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060086000838152602001908152602001600020600001549050919050565b6000610cbf611c94565b90506000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811415610d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d80906142fd565b60405180910390fd5b42811115610dcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc39061437d565b60405180910390fd5b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610f0d578173ffffffffffffffffffffffffffffffffffffffff16319050610f99565b8473ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401610f469190613e92565b60206040518083038186803b158015610f5e57600080fd5b505afa158015610f72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f969190613447565b90505b610fa582858784611efc565b7f5300d9a2838baade7cdc628c82cb80c1298853ba5f389d51e2b47330336aeffc82858784604051610fda9493929190613f51565b60405180910390a15050505050565b6000610ff3611c94565b905060008060006110928d858e8e8e8e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506121ed565b9250925092506110ac826110a5866119e6565b8e84611efc565b7f771bc0494e1a2fcbef19a8762845000d8c4500454c756a7370c955e39ed60fd483826040516110dd929190614140565b60405180910390a150505050505050505050505050565b60025481565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c9061433d565b60405180910390fd5b61118e81612691565b50565b600061119b611c94565b90506000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008114611264576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125b9061429d565b60405180910390fd5b61126d82611a84565b6112826006544261282090919063ffffffff16565b905080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fed3c8c6cdfc6d7b91dc9db3e1f54866587c26c3c3e0f9e32cd1944974be43a50600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683858460405161139f9493929190613f51565b60405180910390a1505050565b60065481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600061148c8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611cd2565b90509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006114c5611c94565b905060008060006115648e858f8f8f8f8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506121ed565b92509250925061157782858f848d612875565b7f8b67efde501ee9cd0e771f7436554c44a5c076239ff3a6fbb397646a4689c0f283828b6040516115aa93929190614169565b60405180910390a15050505050505050505050505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000611656611c94565b905060008060006116f58d858e8e8e8e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506121ed565b92509250925061170782858e84611efc565b7f6675346cd43846f7d47c310d39fb5c15bc7db66b3770338cdf1f133613a5ae988382604051611738929190614140565b60405180910390a150505050505050505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146117df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d69061427d565b60405180910390fd5b6000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008414156118bb576224ea006006819055506118c3565b836006819055505b61190d838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505061293a565b61191681612992565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e6326040516119459190613ead565b60405180910390a1505050505050565b60008484848460405160200161196e9493929190613cd9565b604051602081830303815290604052805190602001209050949350505050565b60006119dd7f3b3087c8f883f1f44cabe66444f5f9d96f69de6a88f364ea10959eef0331414a8585856040516020016119c993929190613d97565b6040516020818303038152906040526129d6565b90509392505050565b600080826040516020016119fa9190613cbe565b604051602081830303815290604052805190602001209050606060405180602001611a2490612cff565b6020820181038252601f19601f820116604052509050600060ff60f81b30848480519060200120604051602001611a5e9493929190613dd4565b6040516020818303038152906040528051906020012090508060001c9350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff16600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611c9157600081604051602001611b2e9190613cbe565b60405160208183030381529060405280519060200120905080604051611b5390612cff565b8190604051809103906000f5905080158015611b73573d6000803e3d6000fd5b50600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fd80572c0f2f24f2d9d726d831bd860ed82b12bafaf01cfb6e4d38fb23c4347e9600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683604051611c87929190613ef1565b60405180910390a1505b50565b6000611ca06028612a17565b905090565b6000611cca8383604051806060016040528060218152602001614be660219139612aac565b905092915050565b600080611ce88385612b0190919063ffffffff16565b90506000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611eee576000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fa19281a6f3163da06f6b82f3ecf0130493c52aba23cdc2a312f652742f0d1801600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383604051611ee193929190613f1a565b60405180910390a1611ef8565b611ef782611a84565b5b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612016578373ffffffffffffffffffffffffffffffffffffffff16633f579f428483600067ffffffffffffffff81118015611f6757600080fd5b506040519080825280601f01601f191660200182016040528015611f9a5781602001600182028036833780820191505090505b506040518463ffffffff1660e01b8152600401611fb99392919061406b565b600060405180830381600087803b158015611fd357600080fd5b505af1158015611fe7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906120109190613322565b50612186565b60608473ffffffffffffffffffffffffffffffffffffffff16633f579f4284600063a9059cbb60e01b8887604051602401612052929190614042565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518463ffffffff1660e01b81526004016120cd93929190614004565b600060405180830381600087803b1580156120e757600080fd5b505af11580156120fb573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906121249190613322565b905060008151111561218457808060200190518101906121449190613278565b612183576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217a9061431d565b60405180910390fd5b5b505b50505050565b60006121e17f745089e29f2abf28f618236a5dc04d214ac05ead3440ba532b69e9d160ba2e728888888888886040516020016121cd96959493929190613d27565b6040516020818303038152906040526129d6565b90509695505050505050565b6000806000806122018c8c8c8c8c8c61218c565b905060008651141561230057600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166359b52ef88d838b6040518463ffffffff1660e01b815260040161226c93929190613fcd565b60206040518083038186803b15801561228457600080fd5b505afa158015612298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122bc9190613278565b6122fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f29061447d565b60405180910390fd5b6124f1565b60006123158783612b0190919063ffffffff16565b90508073ffffffffffffffffffffffffffffffffffffffff168d73ffffffffffffffffffffffffffffffffffffffff16146124ef57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334d323a48e838c6040518463ffffffff1660e01b81526004016123a993929190613f96565b60206040518083038186803b1580156123c157600080fd5b505afa1580156123d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f99190613278565b806124af5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334d323a48e838c6040518463ffffffff1660e01b815260040161245e93929190613f96565b60206040518083038186803b15801561247657600080fd5b505afa15801561248a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ae9190613278565b5b6124ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e5906143bd565b60405180910390fd5b5b505b6124fb8186611cd2565b61253a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125319061447d565b60405180910390fd5b6125468c8c8c8c611955565b9350612571600860008681526020019081526020016000206000015488611ca590919063ffffffff16565b915060008214156125b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ae906142bd565b60405180910390fd5b8660086000868152602001908152602001600020600001819055506125dc8c8b611d3f565b600760008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692507f0d1cb77d1fe491f98926195d0b885509da18bc305dd1489f45610237d971ed46848d8d8d8d8c60405161267a969594939291906140df565b60405180910390a150985098509895505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612701576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126f89061425d565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561278d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127849061441d565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051612815929190613ec8565b60405180910390a150565b60008082840190508381101561286b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612862906143fd565b60405180910390fd5b8091505092915050565b600081116128b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128af9061423d565b60405180910390fd5b60006128cd8284611ca590919063ffffffff16565b905060008111612912576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129099061439d565b60405180910390fd5b61291e86868684611efc565b6129328661292b876119e6565b8685611efc565b505050505050565b6000815114156129525761294d32612691565b61298f565b60008151905060005b8181101561298c5761297f83828151811061297257fe5b6020026020010151612691565b808060010191505061295b565b50505b50565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000612a0f6002543085856040516020016129f49493929190613e48565b60405160208183030381529060405280519060200120612bbc565b905092915050565b60008060009050612a26612bec565b15612a9f576000836000369050039050612a9760003683906014850192612a4f9392919061455f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612c99565b915050612aa3565b3390505b80915050919050565b6000838311158290612af4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aeb919061421b565b60405180910390fd5b5082840390509392505050565b60008060009050604183511415612bb25760008060006020860151925060408601519150606086015160001a9050601b8160ff161015612b4257601b810190505b601b8160ff161480612b575750601c8160ff16145b15612bae5760018782858560405160008152602001604052604051612b7f94939291906141a0565b6020604051602081039080840390855afa158015612ba1573d6000803e3d6000fd5b5050506020604051035193505b5050505b8091505092915050565b600081604051602001612bcf9190613e22565b604051602081830303815290604052805190602001209050919050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612c9257602c60003690501015612c8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c84906142dd565b60405180910390fd5b600190505b8091505090565b6000806014835114612ce0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd79061445d565b60405180910390fd5b6c01000000000000000000000000602084015104905080915050919050565b6103f7806147ef83390190565b600081359050612d1b81614764565b92915050565b60008083601f840112612d3357600080fd5b8235905067ffffffffffffffff811115612d4c57600080fd5b602083019150836020820283011115612d6457600080fd5b9250929050565b600081519050612d7a8161477b565b92915050565b600081359050612d8f81614792565b92915050565b60008083601f840112612da757600080fd5b8235905067ffffffffffffffff811115612dc057600080fd5b602083019150836001820283011115612dd857600080fd5b9250929050565b600082601f830112612df057600080fd5b8151612e03612dfe826144e5565b6144b8565b91508082526020830160208301858383011115612e1f57600080fd5b612e2a8382846146d1565b50505092915050565b600081359050612e42816147a9565b92915050565b600081359050612e57816147c0565b92915050565b600060608284031215612e6f57600080fd5b612e7960606144b8565b90506000612e8984828501612d0c565b6000830152506020612e9d84828501612d0c565b6020830152506040612eb184828501612f59565b60408301525092915050565b600060c08284031215612ecf57600080fd5b612ed960c06144b8565b90506000612ee984828501612d0c565b6000830152506020612efd84828501612d0c565b6020830152506040612f1184828501612d0c565b6040830152506060612f2584828501612d80565b6060830152506080612f3984828501612f59565b60808301525060a0612f4d84828501612f59565b60a08301525092915050565b600081359050612f68816147d7565b92915050565b600081519050612f7d816147d7565b92915050565b600060208284031215612f9557600080fd5b6000612fa384828501612d0c565b91505092915050565b60008060408385031215612fbf57600080fd5b6000612fcd85828601612d0c565b9250506020612fde85828601612d0c565b9150509250929050565b60008060008060808587031215612ffe57600080fd5b600061300c87828801612d0c565b945050602061301d87828801612d0c565b935050604061302e87828801612d0c565b925050606061303f87828801612d80565b91505092959194509250565b600080600080600080600080600060e08a8c03121561306957600080fd5b60006130778c828d01612d0c565b99505060206130888c828d01612d0c565b98505060406130998c828d01612d80565b97505060606130aa8c828d01612f59565b96505060806130bb8c828d01612f59565b95505060a08a013567ffffffffffffffff8111156130d857600080fd5b6130e48c828d01612d95565b945094505060c08a013567ffffffffffffffff81111561310357600080fd5b61310f8c828d01612d95565b92509250509295985092959850929598565b6000806000806000806000806000806101008b8d03121561314157600080fd5b600061314f8d828e01612d0c565b9a505060206131608d828e01612d0c565b99505060406131718d828e01612d80565b98505060606131828d828e01612f59565b97505060806131938d828e01612f59565b96505060a06131a48d828e01612f59565b95505060c08b013567ffffffffffffffff8111156131c157600080fd5b6131cd8d828e01612d95565b945094505060e08b013567ffffffffffffffff8111156131ec57600080fd5b6131f88d828e01612d95565b92509250509295989b9194979a5092959850565b6000806000806060858703121561322257600080fd5b600061323087828801612d0c565b945050602061324187828801612f59565b935050604085013567ffffffffffffffff81111561325e57600080fd5b61326a87828801612d95565b925092505092959194509250565b60006020828403121561328a57600080fd5b600061329884828501612d6b565b91505092915050565b6000602082840312156132b357600080fd5b60006132c184828501612d80565b91505092915050565b6000806000604084860312156132df57600080fd5b60006132ed86828701612d80565b935050602084013567ffffffffffffffff81111561330a57600080fd5b61331686828701612d95565b92509250509250925092565b60006020828403121561333457600080fd5b600082015167ffffffffffffffff81111561334e57600080fd5b61335a84828501612ddf565b91505092915050565b60008060008060008060a0878903121561337c57600080fd5b600061338a89828a01612e33565b965050602061339b89828a01612e48565b95505060406133ac89828a01612f59565b945050606087013567ffffffffffffffff8111156133c957600080fd5b6133d589828a01612d21565b935093505060806133e889828a01612d0c565b9150509295509295509295565b60006060828403121561340757600080fd5b600061341584828501612e5d565b91505092915050565b600060c0828403121561343057600080fd5b600061343e84828501612ebd565b91505092915050565b60006020828403121561345957600080fd5b600061346784828501612f6e565b91505092915050565b61347981614641565b82525050565b61348881614592565b82525050565b61349f61349a82614592565b614704565b82525050565b6134ae816145a4565b82525050565b6134c56134c0826145b0565b614716565b82525050565b6134d4816145dc565b82525050565b6134eb6134e6826145dc565b614720565b82525050565b60006134fc82614511565b6135068185614527565b93506135168185602086016146d1565b61351f81614746565b840191505092915050565b600061353582614511565b61353f8185614538565b935061354f8185602086016146d1565b80840191505092915050565b61356481614653565b82525050565b61357381614677565b82525050565b6135828161469b565b82525050565b60006135938261451c565b61359d8185614543565b93506135ad8185602086016146d1565b6135b681614746565b840191505092915050565b60006135ce602683614543565b91507f5061796d656e7452656769737472793a20696e76616c6964206465706f73697460008301527f2076616c756500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613634601c83614554565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b6000613674602083614543565b91507f477561726465643a2063616e6e6f74206164642030783020677561726469616e6000830152602082019050919050565b60006136b4602f83614543565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b600061371a602f83614543565b91507f5061796d656e7452656769737472793a206465706f736974206578697420616c60008301527f72656164792072657175657374656400000000000000000000000000000000006020830152604082019050919050565b6000613780602683614543565b91507f5061796d656e7452656769737472793a20696e76616c6964207061796d656e7460008301527f2076616c756500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006137e6602283614543565b91507f47617465776179526563697069656e743a20696e76616c6964206d73672e646160008301527f74610000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061384c602b83614543565b91507f5061796d656e7452656769737472793a206465706f7369742065786974206e6f60008301527f74207265717565737465640000000000000000000000000000000000000000006020830152604082019050919050565b60006138b2602d83614543565b91507f5061796d656e7452656769737472793a204552433230546f6b656e207472616e60008301527f73666572207265766572746564000000000000000000000000000000000000006020830152604082019050919050565b6000613918602683614543565b91507f477561726465643a2074782e6f726967696e206973206e6f742074686520677560008301527f61726469616e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061397e601f83614543565b91507f5061796d656e7452656769737472793a20696e76616c696420616d6f756e74006000830152602082019050919050565b60006139be602483614543565b91507f5061796d656e7452656769737472793a206465706f7369742065786974206c6f60008301527f636b6564000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613a24602783614543565b91507f5061796d656e7452656769737472793a20696e76616c6964207769746864726160008301527f772076616c7565000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613a8a602983614543565b91507f5061796d656e7452656769737472793a20696e76616c69642073656e6465722060008301527f7369676e617475726500000000000000000000000000000000000000000000006020830152604082019050919050565b6000613af0601f83614543565b91507f477561726465643a20677561726469616e20646f65736e2774206578697374006000830152602082019050919050565b6000613b30601e83614543565b91507f536166654d6174684c69623a206164646974696f6e206f766572666c6f7700006000830152602082019050919050565b6000613b70602083614543565b91507f477561726465643a20677561726469616e20616c7265616479206578697374736000830152602082019050919050565b6000613bb0601b83614543565b91507f477561726465643a2063616e6e6f742072656d6f76652073656c6600000000006000830152602082019050919050565b6000613bf0601d83614543565b91507f42797465734c69623a20696e76616c69642064617461206c656e6774680000006000830152602082019050919050565b6000613c30602b83614543565b91507f5061796d656e7452656769737472793a20696e76616c6964206775617264696160008301527f6e207369676e61747572650000000000000000000000000000000000000000006020830152604082019050919050565b613c928161462a565b82525050565b613ca9613ca48261462a565b61473c565b82525050565b613cb881614634565b82525050565b6000613cca828461348e565b60148201915081905092915050565b6000613ce5828761348e565b601482019150613cf5828661348e565b601482019150613d05828561348e565b601482019150613d1582846134da565b60208201915081905095945050505050565b6000613d33828961348e565b601482019150613d43828861348e565b601482019150613d53828761348e565b601482019150613d6382866134da565b602082019150613d738285613c98565b602082019150613d838284613c98565b602082019150819050979650505050505050565b6000613da3828661348e565b601482019150613db3828561348e565b601482019150613dc38284613c98565b602082019150819050949350505050565b6000613de082876134b4565b600182019150613df0828661348e565b601482019150613e0082856134da565b602082019150613e1082846134da565b60208201915081905095945050505050565b6000613e2d82613627565b9150613e3982846134da565b60208201915081905092915050565b6000613e548287613c98565b602082019150613e64828661348e565b601482019150613e7482856134da565b602082019150613e84828461352a565b915081905095945050505050565b6000602082019050613ea7600083018461347f565b92915050565b6000602082019050613ec26000830184613470565b92915050565b6000604082019050613edd6000830185613470565b613eea602083018461347f565b9392505050565b6000604082019050613f06600083018561347f565b613f13602083018461347f565b9392505050565b6000606082019050613f2f600083018661347f565b613f3c602083018561347f565b613f49604083018461347f565b949350505050565b6000608082019050613f66600083018761347f565b613f73602083018661347f565b613f80604083018561347f565b613f8d6060830184613c89565b95945050505050565b6000606082019050613fab600083018661347f565b613fb8602083018561347f565b613fc56040830184613c89565b949350505050565b6000606082019050613fe2600083018661347f565b613fef60208301856134cb565b613ffc6040830184613c89565b949350505050565b6000606082019050614019600083018661347f565b6140266020830185613579565b818103604083015261403881846134f1565b9050949350505050565b6000604082019050614057600083018561347f565b6140646020830184613c89565b9392505050565b6000606082019050614080600083018661347f565b61408d6020830185613c89565b818103604083015261409f81846134f1565b9050949350505050565b60006020820190506140be60008301846134a5565b92915050565b60006020820190506140d960008301846134cb565b92915050565b600060c0820190506140f460008301896134cb565b614101602083018861347f565b61410e604083018761347f565b61411b606083018661347f565b61412860808301856134cb565b61413560a0830184613c89565b979650505050505050565b600060408201905061415560008301856134cb565b6141626020830184613c89565b9392505050565b600060608201905061417e60008301866134cb565b61418b6020830185613c89565b6141986040830184613c89565b949350505050565b60006080820190506141b560008301876134cb565b6141c26020830186613caf565b6141cf60408301856134cb565b6141dc60608301846134cb565b95945050505050565b60006020820190506141fa600083018461355b565b92915050565b6000602082019050614215600083018461356a565b92915050565b600060208201905081810360008301526142358184613588565b905092915050565b60006020820190508181036000830152614256816135c1565b9050919050565b6000602082019050818103600083015261427681613667565b9050919050565b60006020820190508181036000830152614296816136a7565b9050919050565b600060208201905081810360008301526142b68161370d565b9050919050565b600060208201905081810360008301526142d681613773565b9050919050565b600060208201905081810360008301526142f6816137d9565b9050919050565b600060208201905081810360008301526143168161383f565b9050919050565b60006020820190508181036000830152614336816138a5565b9050919050565b600060208201905081810360008301526143568161390b565b9050919050565b6000602082019050818103600083015261437681613971565b9050919050565b60006020820190508181036000830152614396816139b1565b9050919050565b600060208201905081810360008301526143b681613a17565b9050919050565b600060208201905081810360008301526143d681613a7d565b9050919050565b600060208201905081810360008301526143f681613ae3565b9050919050565b6000602082019050818103600083015261441681613b23565b9050919050565b6000602082019050818103600083015261443681613b63565b9050919050565b6000602082019050818103600083015261445681613ba3565b9050919050565b6000602082019050818103600083015261447681613be3565b9050919050565b6000602082019050818103600083015261449681613c23565b9050919050565b60006020820190506144b26000830184613c89565b92915050565b6000604051905081810181811067ffffffffffffffff821117156144db57600080fd5b8060405250919050565b600067ffffffffffffffff8211156144fc57600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000808585111561456f57600080fd5b8386111561457c57600080fd5b6001850283019150848603905094509492505050565b600061459d8261460a565b9050919050565b60008115159050919050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b60006145f182614592565b9050919050565b600061460382614592565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061464c826146ad565b9050919050565b600061465e82614665565b9050919050565b60006146708261460a565b9050919050565b600061468282614689565b9050919050565b60006146948261460a565b9050919050565b60006146a68261462a565b9050919050565b60006146b8826146bf565b9050919050565b60006146ca8261460a565b9050919050565b60005b838110156146ef5780820151818401526020810190506146d4565b838111156146fe576000848401525b50505050565b600061470f8261472a565b9050919050565b6000819050919050565b6000819050919050565b600061473582614757565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b61476d81614592565b811461477857600080fd5b50565b614784816145a4565b811461478f57600080fd5b50565b61479b816145dc565b81146147a657600080fd5b50565b6147b2816145e6565b81146147bd57600080fd5b50565b6147c9816145f8565b81146147d457600080fd5b50565b6147e08161462a565b81146147eb57600080fd5b5056fe6080604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103a4806100536000396000f3fe60806040526004361061002d5760003560e01c80633f579f4214610039578063f77c47911461016257610034565b3661003457005b600080fd5b34801561004557600080fd5b506100e76004803603606081101561005c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156100a357600080fd5b8201836020820111156100b557600080fd5b803590602001918460018302840111640100000000831117156100d757600080fd5b90919293919293905050506101a3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012757808201518184015260208101905061010c565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016e57600080fd5b50610177610347565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061036c602c913960400191505060405180910390fd5b606060008673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d80600081146102b9576040519150601f19603f3d011682016040523d82523d6000602084013e6102be565b606091505b5080935081925050508061033a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b8192505050949350505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a536166654d6174684c69623a207375627472616374696f6e206f766572666c6f77a164736f6c634300060c000a", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061018e5760003560e01c80639130c06e116100de578063c36326e711610097578063da1b213d11610071578063da1b213d146104bb578063dc7d6c31146104d7578063df04338014610507578063e0fe396e146105235761018e565b8063c36326e71461043d578063d0f710d61461046d578063d2c83b9a1461049d5761018e565b80639130c06e146103915780639a85fae2146103ad5780639a8a0592146103c9578063a526d83b146103e7578063b0274a7314610403578063bdff4b3b1461041f5761018e565b80636121fcfc1161014b578063714041561161012557806371404156146102f757806384389a2b1461031357806387d31313146103435780638a1773ab146103615761018e565b80636121fcfc1461028f5780636524a947146102bf5780636866da52146102db5761018e565b80630c68ba2114610193578063116191b6146101c35780632e4f161e146101e15780632e7037a014610211578063392e53cd1461024157806360bf4df21461025f575b600080fd5b6101ad60048036038101906101a89190612f83565b61053f565b6040516101ba91906140a9565b60405180910390f35b6101cb610594565b6040516101d89190613e92565b60405180910390f35b6101fb60048036038101906101f69190612fe8565b6105ba565b60405161020891906140c4565b60405180910390f35b61022b600480360381019061022691906133f5565b6105d2565b60405161023891906140c4565b60405180910390f35b6102496105f2565b60405161025691906140a9565b60405180910390f35b61027960048036038101906102749190612f83565b61064a565b6040516102869190613e92565b60405180910390f35b6102a960048036038101906102a49190612f83565b61065c565b6040516102b691906140a9565b60405180910390f35b6102d960048036038101906102d49190612f83565b6106f7565b005b6102f560048036038101906102f0919061320c565b610703565b005b610311600480360381019061030c9190612f83565b610a28565b005b61032d6004803603810190610328919061341e565b610c40565b60405161033a91906140c4565b60405180910390f35b61034b610c6f565b6040516103589190614200565b60405180910390f35b61037b600480360381019061037691906132a1565b610c95565b604051610388919061449d565b60405180910390f35b6103ab60048036038101906103a69190612f83565b610cb5565b005b6103c760048036038101906103c2919061304b565b610fe9565b005b6103d16110f4565b6040516103de919061449d565b60405180910390f35b61040160048036038101906103fc9190612f83565b6110fa565b005b61041d60048036038101906104189190612f83565b611191565b005b6104276113ac565b604051610434919061449d565b60405180910390f35b61045760048036038101906104529190612fac565b6113b2565b604051610464919061449d565b60405180910390f35b610487600480360381019061048291906132ca565b61143c565b60405161049491906140a9565b60405180910390f35b6104a5611495565b6040516104b291906141e5565b60405180910390f35b6104d560048036038101906104d09190613121565b6114bb565b005b6104f160048036038101906104ec9190612fac565b6115c2565b6040516104fe919061449d565b60405180910390f35b610521600480360381019061051c919061304b565b61164c565b005b61053d60048036038101906105389190613363565b61174f565b005b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006105c885858585611955565b9050949350505050565b60006105eb82600001518360200151846040015161198e565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b6000610655826119e6565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b61070081611a84565b50565b600061070d611c94565b905060006107a3600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486611ca590919063ffffffff16565b9050600081116107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df9061435d565b60405180910390fd5b60006107f583888861198e565b90506108458186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611cd2565b610884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087b9061447d565b60405180910390fd5b85600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109128388611d3f565b610980600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848985611efc565b7f95f66b073d65f18e43f6b76c7ab8557787f5f766d86cab7c9c76f41be9f8abc6600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848989604051610a179493929190613f51565b60405180910390a150505050505050565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ab3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aaa9061433d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161415610b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b199061443d565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba4906143dd565b60405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b3282604051610c35929190613ec8565b60405180910390a150565b6000610c68826000015183602001518460400151856060015186608001518760a0015161218c565b9050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060086000838152602001908152602001600020600001549050919050565b6000610cbf611c94565b90506000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811415610d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d80906142fd565b60405180910390fd5b42811115610dcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc39061437d565b60405180910390fd5b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610f0d578173ffffffffffffffffffffffffffffffffffffffff16319050610f99565b8473ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401610f469190613e92565b60206040518083038186803b158015610f5e57600080fd5b505afa158015610f72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f969190613447565b90505b610fa582858784611efc565b7f5300d9a2838baade7cdc628c82cb80c1298853ba5f389d51e2b47330336aeffc82858784604051610fda9493929190613f51565b60405180910390a15050505050565b6000610ff3611c94565b905060008060006110928d858e8e8e8e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506121ed565b9250925092506110ac826110a5866119e6565b8e84611efc565b7f771bc0494e1a2fcbef19a8762845000d8c4500454c756a7370c955e39ed60fd483826040516110dd929190614140565b60405180910390a150505050505050505050505050565b60025481565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c9061433d565b60405180910390fd5b61118e81612691565b50565b600061119b611c94565b90506000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008114611264576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125b9061429d565b60405180910390fd5b61126d82611a84565b6112826006544261282090919063ffffffff16565b905080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fed3c8c6cdfc6d7b91dc9db3e1f54866587c26c3c3e0f9e32cd1944974be43a50600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683858460405161139f9493929190613f51565b60405180910390a1505050565b60065481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600061148c8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611cd2565b90509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006114c5611c94565b905060008060006115648e858f8f8f8f8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506121ed565b92509250925061157782858f848d612875565b7f8b67efde501ee9cd0e771f7436554c44a5c076239ff3a6fbb397646a4689c0f283828b6040516115aa93929190614169565b60405180910390a15050505050505050505050505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000611656611c94565b905060008060006116f58d858e8e8e8e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506121ed565b92509250925061170782858e84611efc565b7f6675346cd43846f7d47c310d39fb5c15bc7db66b3770338cdf1f133613a5ae988382604051611738929190614140565b60405180910390a150505050505050505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146117df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d69061427d565b60405180910390fd5b6000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008414156118bb576224ea006006819055506118c3565b836006819055505b61190d838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505061293a565b61191681612992565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e6326040516119459190613ead565b60405180910390a1505050505050565b60008484848460405160200161196e9493929190613cd9565b604051602081830303815290604052805190602001209050949350505050565b60006119dd7f3b3087c8f883f1f44cabe66444f5f9d96f69de6a88f364ea10959eef0331414a8585856040516020016119c993929190613d97565b6040516020818303038152906040526129d6565b90509392505050565b600080826040516020016119fa9190613cbe565b604051602081830303815290604052805190602001209050606060405180602001611a2490612cff565b6020820181038252601f19601f820116604052509050600060ff60f81b30848480519060200120604051602001611a5e9493929190613dd4565b6040516020818303038152906040528051906020012090508060001c9350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff16600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611c9157600081604051602001611b2e9190613cbe565b60405160208183030381529060405280519060200120905080604051611b5390612cff565b8190604051809103906000f5905080158015611b73573d6000803e3d6000fd5b50600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fd80572c0f2f24f2d9d726d831bd860ed82b12bafaf01cfb6e4d38fb23c4347e9600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683604051611c87929190613ef1565b60405180910390a1505b50565b6000611ca06028612a17565b905090565b6000611cca8383604051806060016040528060218152602001614be660219139612aac565b905092915050565b600080611ce88385612b0190919063ffffffff16565b90506000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611eee576000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fa19281a6f3163da06f6b82f3ecf0130493c52aba23cdc2a312f652742f0d1801600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383604051611ee193929190613f1a565b60405180910390a1611ef8565b611ef782611a84565b5b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612016578373ffffffffffffffffffffffffffffffffffffffff16633f579f428483600067ffffffffffffffff81118015611f6757600080fd5b506040519080825280601f01601f191660200182016040528015611f9a5781602001600182028036833780820191505090505b506040518463ffffffff1660e01b8152600401611fb99392919061406b565b600060405180830381600087803b158015611fd357600080fd5b505af1158015611fe7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906120109190613322565b50612186565b60608473ffffffffffffffffffffffffffffffffffffffff16633f579f4284600063a9059cbb60e01b8887604051602401612052929190614042565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518463ffffffff1660e01b81526004016120cd93929190614004565b600060405180830381600087803b1580156120e757600080fd5b505af11580156120fb573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906121249190613322565b905060008151111561218457808060200190518101906121449190613278565b612183576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217a9061431d565b60405180910390fd5b5b505b50505050565b60006121e17f745089e29f2abf28f618236a5dc04d214ac05ead3440ba532b69e9d160ba2e728888888888886040516020016121cd96959493929190613d27565b6040516020818303038152906040526129d6565b90509695505050505050565b6000806000806122018c8c8c8c8c8c61218c565b905060008651141561230057600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166359b52ef88d838b6040518463ffffffff1660e01b815260040161226c93929190613fcd565b60206040518083038186803b15801561228457600080fd5b505afa158015612298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122bc9190613278565b6122fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f29061447d565b60405180910390fd5b6124f1565b60006123158783612b0190919063ffffffff16565b90508073ffffffffffffffffffffffffffffffffffffffff168d73ffffffffffffffffffffffffffffffffffffffff16146124ef57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334d323a48e838c6040518463ffffffff1660e01b81526004016123a993929190613f96565b60206040518083038186803b1580156123c157600080fd5b505afa1580156123d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f99190613278565b806124af5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334d323a48e838c6040518463ffffffff1660e01b815260040161245e93929190613f96565b60206040518083038186803b15801561247657600080fd5b505afa15801561248a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ae9190613278565b5b6124ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e5906143bd565b60405180910390fd5b5b505b6124fb8186611cd2565b61253a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125319061447d565b60405180910390fd5b6125468c8c8c8c611955565b9350612571600860008681526020019081526020016000206000015488611ca590919063ffffffff16565b915060008214156125b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ae906142bd565b60405180910390fd5b8660086000868152602001908152602001600020600001819055506125dc8c8b611d3f565b600760008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692507f0d1cb77d1fe491f98926195d0b885509da18bc305dd1489f45610237d971ed46848d8d8d8d8c60405161267a969594939291906140df565b60405180910390a150985098509895505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612701576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126f89061425d565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561278d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127849061441d565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051612815929190613ec8565b60405180910390a150565b60008082840190508381101561286b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612862906143fd565b60405180910390fd5b8091505092915050565b600081116128b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128af9061423d565b60405180910390fd5b60006128cd8284611ca590919063ffffffff16565b905060008111612912576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129099061439d565b60405180910390fd5b61291e86868684611efc565b6129328661292b876119e6565b8685611efc565b505050505050565b6000815114156129525761294d32612691565b61298f565b60008151905060005b8181101561298c5761297f83828151811061297257fe5b6020026020010151612691565b808060010191505061295b565b50505b50565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000612a0f6002543085856040516020016129f49493929190613e48565b60405160208183030381529060405280519060200120612bbc565b905092915050565b60008060009050612a26612bec565b15612a9f576000836000369050039050612a9760003683906014850192612a4f9392919061455f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612c99565b915050612aa3565b3390505b80915050919050565b6000838311158290612af4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aeb919061421b565b60405180910390fd5b5082840390509392505050565b60008060009050604183511415612bb25760008060006020860151925060408601519150606086015160001a9050601b8160ff161015612b4257601b810190505b601b8160ff161480612b575750601c8160ff16145b15612bae5760018782858560405160008152602001604052604051612b7f94939291906141a0565b6020604051602081039080840390855afa158015612ba1573d6000803e3d6000fd5b5050506020604051035193505b5050505b8091505092915050565b600081604051602001612bcf9190613e22565b604051602081830303815290604052805190602001209050919050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612c9257602c60003690501015612c8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c84906142dd565b60405180910390fd5b600190505b8091505090565b6000806014835114612ce0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd79061445d565b60405180910390fd5b6c01000000000000000000000000602084015104905080915050919050565b6103f7806147ef83390190565b600081359050612d1b81614764565b92915050565b60008083601f840112612d3357600080fd5b8235905067ffffffffffffffff811115612d4c57600080fd5b602083019150836020820283011115612d6457600080fd5b9250929050565b600081519050612d7a8161477b565b92915050565b600081359050612d8f81614792565b92915050565b60008083601f840112612da757600080fd5b8235905067ffffffffffffffff811115612dc057600080fd5b602083019150836001820283011115612dd857600080fd5b9250929050565b600082601f830112612df057600080fd5b8151612e03612dfe826144e5565b6144b8565b91508082526020830160208301858383011115612e1f57600080fd5b612e2a8382846146d1565b50505092915050565b600081359050612e42816147a9565b92915050565b600081359050612e57816147c0565b92915050565b600060608284031215612e6f57600080fd5b612e7960606144b8565b90506000612e8984828501612d0c565b6000830152506020612e9d84828501612d0c565b6020830152506040612eb184828501612f59565b60408301525092915050565b600060c08284031215612ecf57600080fd5b612ed960c06144b8565b90506000612ee984828501612d0c565b6000830152506020612efd84828501612d0c565b6020830152506040612f1184828501612d0c565b6040830152506060612f2584828501612d80565b6060830152506080612f3984828501612f59565b60808301525060a0612f4d84828501612f59565b60a08301525092915050565b600081359050612f68816147d7565b92915050565b600081519050612f7d816147d7565b92915050565b600060208284031215612f9557600080fd5b6000612fa384828501612d0c565b91505092915050565b60008060408385031215612fbf57600080fd5b6000612fcd85828601612d0c565b9250506020612fde85828601612d0c565b9150509250929050565b60008060008060808587031215612ffe57600080fd5b600061300c87828801612d0c565b945050602061301d87828801612d0c565b935050604061302e87828801612d0c565b925050606061303f87828801612d80565b91505092959194509250565b600080600080600080600080600060e08a8c03121561306957600080fd5b60006130778c828d01612d0c565b99505060206130888c828d01612d0c565b98505060406130998c828d01612d80565b97505060606130aa8c828d01612f59565b96505060806130bb8c828d01612f59565b95505060a08a013567ffffffffffffffff8111156130d857600080fd5b6130e48c828d01612d95565b945094505060c08a013567ffffffffffffffff81111561310357600080fd5b61310f8c828d01612d95565b92509250509295985092959850929598565b6000806000806000806000806000806101008b8d03121561314157600080fd5b600061314f8d828e01612d0c565b9a505060206131608d828e01612d0c565b99505060406131718d828e01612d80565b98505060606131828d828e01612f59565b97505060806131938d828e01612f59565b96505060a06131a48d828e01612f59565b95505060c08b013567ffffffffffffffff8111156131c157600080fd5b6131cd8d828e01612d95565b945094505060e08b013567ffffffffffffffff8111156131ec57600080fd5b6131f88d828e01612d95565b92509250509295989b9194979a5092959850565b6000806000806060858703121561322257600080fd5b600061323087828801612d0c565b945050602061324187828801612f59565b935050604085013567ffffffffffffffff81111561325e57600080fd5b61326a87828801612d95565b925092505092959194509250565b60006020828403121561328a57600080fd5b600061329884828501612d6b565b91505092915050565b6000602082840312156132b357600080fd5b60006132c184828501612d80565b91505092915050565b6000806000604084860312156132df57600080fd5b60006132ed86828701612d80565b935050602084013567ffffffffffffffff81111561330a57600080fd5b61331686828701612d95565b92509250509250925092565b60006020828403121561333457600080fd5b600082015167ffffffffffffffff81111561334e57600080fd5b61335a84828501612ddf565b91505092915050565b60008060008060008060a0878903121561337c57600080fd5b600061338a89828a01612e33565b965050602061339b89828a01612e48565b95505060406133ac89828a01612f59565b945050606087013567ffffffffffffffff8111156133c957600080fd5b6133d589828a01612d21565b935093505060806133e889828a01612d0c565b9150509295509295509295565b60006060828403121561340757600080fd5b600061341584828501612e5d565b91505092915050565b600060c0828403121561343057600080fd5b600061343e84828501612ebd565b91505092915050565b60006020828403121561345957600080fd5b600061346784828501612f6e565b91505092915050565b61347981614641565b82525050565b61348881614592565b82525050565b61349f61349a82614592565b614704565b82525050565b6134ae816145a4565b82525050565b6134c56134c0826145b0565b614716565b82525050565b6134d4816145dc565b82525050565b6134eb6134e6826145dc565b614720565b82525050565b60006134fc82614511565b6135068185614527565b93506135168185602086016146d1565b61351f81614746565b840191505092915050565b600061353582614511565b61353f8185614538565b935061354f8185602086016146d1565b80840191505092915050565b61356481614653565b82525050565b61357381614677565b82525050565b6135828161469b565b82525050565b60006135938261451c565b61359d8185614543565b93506135ad8185602086016146d1565b6135b681614746565b840191505092915050565b60006135ce602683614543565b91507f5061796d656e7452656769737472793a20696e76616c6964206465706f73697460008301527f2076616c756500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613634601c83614554565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b6000613674602083614543565b91507f477561726465643a2063616e6e6f74206164642030783020677561726469616e6000830152602082019050919050565b60006136b4602f83614543565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b600061371a602f83614543565b91507f5061796d656e7452656769737472793a206465706f736974206578697420616c60008301527f72656164792072657175657374656400000000000000000000000000000000006020830152604082019050919050565b6000613780602683614543565b91507f5061796d656e7452656769737472793a20696e76616c6964207061796d656e7460008301527f2076616c756500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006137e6602283614543565b91507f47617465776179526563697069656e743a20696e76616c6964206d73672e646160008301527f74610000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061384c602b83614543565b91507f5061796d656e7452656769737472793a206465706f7369742065786974206e6f60008301527f74207265717565737465640000000000000000000000000000000000000000006020830152604082019050919050565b60006138b2602d83614543565b91507f5061796d656e7452656769737472793a204552433230546f6b656e207472616e60008301527f73666572207265766572746564000000000000000000000000000000000000006020830152604082019050919050565b6000613918602683614543565b91507f477561726465643a2074782e6f726967696e206973206e6f742074686520677560008301527f61726469616e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061397e601f83614543565b91507f5061796d656e7452656769737472793a20696e76616c696420616d6f756e74006000830152602082019050919050565b60006139be602483614543565b91507f5061796d656e7452656769737472793a206465706f7369742065786974206c6f60008301527f636b6564000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613a24602783614543565b91507f5061796d656e7452656769737472793a20696e76616c6964207769746864726160008301527f772076616c7565000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613a8a602983614543565b91507f5061796d656e7452656769737472793a20696e76616c69642073656e6465722060008301527f7369676e617475726500000000000000000000000000000000000000000000006020830152604082019050919050565b6000613af0601f83614543565b91507f477561726465643a20677561726469616e20646f65736e2774206578697374006000830152602082019050919050565b6000613b30601e83614543565b91507f536166654d6174684c69623a206164646974696f6e206f766572666c6f7700006000830152602082019050919050565b6000613b70602083614543565b91507f477561726465643a20677561726469616e20616c7265616479206578697374736000830152602082019050919050565b6000613bb0601b83614543565b91507f477561726465643a2063616e6e6f742072656d6f76652073656c6600000000006000830152602082019050919050565b6000613bf0601d83614543565b91507f42797465734c69623a20696e76616c69642064617461206c656e6774680000006000830152602082019050919050565b6000613c30602b83614543565b91507f5061796d656e7452656769737472793a20696e76616c6964206775617264696160008301527f6e207369676e61747572650000000000000000000000000000000000000000006020830152604082019050919050565b613c928161462a565b82525050565b613ca9613ca48261462a565b61473c565b82525050565b613cb881614634565b82525050565b6000613cca828461348e565b60148201915081905092915050565b6000613ce5828761348e565b601482019150613cf5828661348e565b601482019150613d05828561348e565b601482019150613d1582846134da565b60208201915081905095945050505050565b6000613d33828961348e565b601482019150613d43828861348e565b601482019150613d53828761348e565b601482019150613d6382866134da565b602082019150613d738285613c98565b602082019150613d838284613c98565b602082019150819050979650505050505050565b6000613da3828661348e565b601482019150613db3828561348e565b601482019150613dc38284613c98565b602082019150819050949350505050565b6000613de082876134b4565b600182019150613df0828661348e565b601482019150613e0082856134da565b602082019150613e1082846134da565b60208201915081905095945050505050565b6000613e2d82613627565b9150613e3982846134da565b60208201915081905092915050565b6000613e548287613c98565b602082019150613e64828661348e565b601482019150613e7482856134da565b602082019150613e84828461352a565b915081905095945050505050565b6000602082019050613ea7600083018461347f565b92915050565b6000602082019050613ec26000830184613470565b92915050565b6000604082019050613edd6000830185613470565b613eea602083018461347f565b9392505050565b6000604082019050613f06600083018561347f565b613f13602083018461347f565b9392505050565b6000606082019050613f2f600083018661347f565b613f3c602083018561347f565b613f49604083018461347f565b949350505050565b6000608082019050613f66600083018761347f565b613f73602083018661347f565b613f80604083018561347f565b613f8d6060830184613c89565b95945050505050565b6000606082019050613fab600083018661347f565b613fb8602083018561347f565b613fc56040830184613c89565b949350505050565b6000606082019050613fe2600083018661347f565b613fef60208301856134cb565b613ffc6040830184613c89565b949350505050565b6000606082019050614019600083018661347f565b6140266020830185613579565b818103604083015261403881846134f1565b9050949350505050565b6000604082019050614057600083018561347f565b6140646020830184613c89565b9392505050565b6000606082019050614080600083018661347f565b61408d6020830185613c89565b818103604083015261409f81846134f1565b9050949350505050565b60006020820190506140be60008301846134a5565b92915050565b60006020820190506140d960008301846134cb565b92915050565b600060c0820190506140f460008301896134cb565b614101602083018861347f565b61410e604083018761347f565b61411b606083018661347f565b61412860808301856134cb565b61413560a0830184613c89565b979650505050505050565b600060408201905061415560008301856134cb565b6141626020830184613c89565b9392505050565b600060608201905061417e60008301866134cb565b61418b6020830185613c89565b6141986040830184613c89565b949350505050565b60006080820190506141b560008301876134cb565b6141c26020830186613caf565b6141cf60408301856134cb565b6141dc60608301846134cb565b95945050505050565b60006020820190506141fa600083018461355b565b92915050565b6000602082019050614215600083018461356a565b92915050565b600060208201905081810360008301526142358184613588565b905092915050565b60006020820190508181036000830152614256816135c1565b9050919050565b6000602082019050818103600083015261427681613667565b9050919050565b60006020820190508181036000830152614296816136a7565b9050919050565b600060208201905081810360008301526142b68161370d565b9050919050565b600060208201905081810360008301526142d681613773565b9050919050565b600060208201905081810360008301526142f6816137d9565b9050919050565b600060208201905081810360008301526143168161383f565b9050919050565b60006020820190508181036000830152614336816138a5565b9050919050565b600060208201905081810360008301526143568161390b565b9050919050565b6000602082019050818103600083015261437681613971565b9050919050565b60006020820190508181036000830152614396816139b1565b9050919050565b600060208201905081810360008301526143b681613a17565b9050919050565b600060208201905081810360008301526143d681613a7d565b9050919050565b600060208201905081810360008301526143f681613ae3565b9050919050565b6000602082019050818103600083015261441681613b23565b9050919050565b6000602082019050818103600083015261443681613b63565b9050919050565b6000602082019050818103600083015261445681613ba3565b9050919050565b6000602082019050818103600083015261447681613be3565b9050919050565b6000602082019050818103600083015261449681613c23565b9050919050565b60006020820190506144b26000830184613c89565b92915050565b6000604051905081810181811067ffffffffffffffff821117156144db57600080fd5b8060405250919050565b600067ffffffffffffffff8211156144fc57600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000808585111561456f57600080fd5b8386111561457c57600080fd5b6001850283019150848603905094509492505050565b600061459d8261460a565b9050919050565b60008115159050919050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b60006145f182614592565b9050919050565b600061460382614592565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061464c826146ad565b9050919050565b600061465e82614665565b9050919050565b60006146708261460a565b9050919050565b600061468282614689565b9050919050565b60006146948261460a565b9050919050565b60006146a68261462a565b9050919050565b60006146b8826146bf565b9050919050565b60006146ca8261460a565b9050919050565b60005b838110156146ef5780820151818401526020810190506146d4565b838111156146fe576000848401525b50505050565b600061470f8261472a565b9050919050565b6000819050919050565b6000819050919050565b600061473582614757565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b61476d81614592565b811461477857600080fd5b50565b614784816145a4565b811461478f57600080fd5b50565b61479b816145dc565b81146147a657600080fd5b50565b6147b2816145e6565b81146147bd57600080fd5b50565b6147c9816145f8565b81146147d457600080fd5b50565b6147e08161462a565b81146147eb57600080fd5b5056fe6080604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103a4806100536000396000f3fe60806040526004361061002d5760003560e01c80633f579f4214610039578063f77c47911461016257610034565b3661003457005b600080fd5b34801561004557600080fd5b506100e76004803603606081101561005c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156100a357600080fd5b8201836020820111156100b557600080fd5b803590602001918460018302840111640100000000831117156100d757600080fd5b90919293919293905050506101a3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012757808201518184015260208101905061010c565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016e57600080fd5b50610177610347565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061036c602c913960400191505060405180910390fd5b606060008673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d80600081146102b9576040519150601f19603f3d011682016040523d82523d6000602084013e6102be565b606091505b5080935081925050508061033a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b8192505050949350505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a536166654d6174684c69623a207375627472616374696f6e206f766572666c6f77a164736f6c634300060c000a", + "bytecode": "0x60806040523480156200001157600080fd5b506200002e67e6ad6dd6ee73072860c01b6200017e60201b60201c565b6200004a67bcc9be562f8a4b0a60c01b6200018160201b60201c565b6200006667579ae7209daca85260c01b6200018160201b60201c565b32600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000c3676b19898ae2f7725060c01b6200018460201b60201c565b620000df677c2d0c907f0deddc60c01b6200018460201b60201c565b620000fb67f0d1a438b0305bb160c01b6200018460201b60201c565b6000620001196737bb5abaf3e7d9d360c01b6200018460201b60201c565b46905062000138676f86a9c0c67bb39a60c01b6200018460201b60201c565b80600281905550506200015c674f33f857671bcade60c01b6200018760201b60201c565b6200017867e4c156c896cf481860c01b6200018a60201b60201c565b6200018d565b50565b50565b50565b50565b50565b617d65806200019d6000396000f3fe60806040523480156200001157600080fd5b50600436106200028c5760003560e01c80639a8a05921162000165578063bdff4b3b11620000d5578063d84fa10c1162000093578063d84fa10c1462000889578063da1b213d14620008bf578063dc7d6c3114620008df578063df0433801462000915578063e0fe396e1462000935578063f0af07211462000955576200028c565b8063bdff4b3b14620007a3578063c36326e714620007c5578063c454330514620007fb578063d0f710d61462000831578063d2c83b9a1462000867576200028c565b8063b0274a731162000123578063b0274a7314620006ed578063b41d3df0146200070d578063b852e8861462000743578063bccb31c61462000763578063bcd483641462000783576200028c565b80639a8a059214620006095780639f106f7e146200062b578063a3561e691462000661578063a526d83b1462000697578063ae1a7ece14620006b7576200028c565b80636121fcfc116200020157806384389a2b11620001bf57806384389a2b146200053b57806387d3131314620005715780638a1773ab14620005935780639130c06e14620005c95780639a85fae214620005e9576200028c565b80636121fcfc146200046f5780636524a94714620004a55780636866da5214620004c5578063692b0ad914620004e557806371404156146200051b576200028c565b80632e4f161e116200024f5780632e4f161e146200038b5780632e7037a014620003c1578063392e53cd14620003f75780633e260b13146200041957806360bf4df21462000439576200028c565b80630c68ba211462000291578063116191b614620002c757806329fbd95714620002e95780632c4bbae6146200031f5780632ca595091462000355575b600080fd5b620002af6004803603810190620002a99190620059f7565b62000975565b604051620002be919062006c71565b60405180910390f35b620002d162000a0c565b604051620002e0919062006a24565b60405180910390f35b62000307600480360381019062000301919062005ddf565b62000a32565b60405162000316919062006c71565b60405180910390f35b6200033d600480360381019062000337919062005ddf565b62000a3d565b6040516200034c919062006c71565b60405180910390f35b6200037360048036038101906200036d919062005ddf565b62000a44565b60405162000382919062006c71565b60405180910390f35b620003a96004803603810190620003a3919062005a64565b62000a4f565b604051620003b8919062006c8e565b60405180910390f35b620003df6004803603810190620003d9919062005eee565b62000aab565b604051620003ee919062006c8e565b60405180910390f35b6200040162000b0f565b60405162000410919062006c71565b60405180910390f35b62000437600480360381019062000431919062005ddf565b62000baa565b005b620004576004803603810190620004519190620059f7565b62000bad565b60405162000466919062006a24565b60405180910390f35b6200048d6004803603810190620004879190620059f7565b62000c03565b6040516200049c919062006c71565b60405180910390f35b620004c36004803603810190620004bd9190620059f7565b62000ce1565b005b620004e36004803603810190620004dd919062005cb5565b62000d31565b005b620005036004803603810190620004fd919062005ddf565b6200124e565b60405162000512919062006c71565b60405180910390f35b620005396004803603810190620005339190620059f7565b62001255565b005b62000559600480360381019062000553919062005f1a565b62001630565b60405162000568919062006c8e565b60405180910390f35b6200057b620016a3565b6040516200058a919062006dec565b60405180910390f35b620005b16004803603810190620005ab919062005d55565b620016c9565b604051620005c09190620070b3565b60405180910390f35b620005e76004803603810190620005e19190620059f7565b6200172b565b005b62000607600480360381019062000601919062005ad0565b62001cdc565b005b6200061362001eb7565b604051620006229190620070b3565b60405180910390f35b62000649600480360381019062000643919062005ddf565b62001ebd565b60405162000658919062006c71565b60405180910390f35b6200067f600480360381019062000679919062005ddf565b62001ec8565b6040516200068e919062006c71565b60405180910390f35b620006b56004803603810190620006af9190620059f7565b62001ecf565b005b620006d56004803603810190620006cf919062005ddf565b6200205d565b604051620006e4919062006c71565b60405180910390f35b6200070b6004803603810190620007059190620059f7565b62002068565b005b6200072b600480360381019062000725919062005ddf565b620023d8565b6040516200073a919062006c71565b60405180910390f35b6200076160048036038101906200075b919062005ddf565b620023df565b005b6200078160048036038101906200077b919062005ddf565b620023e2565b005b620007a160048036038101906200079b919062005ddf565b620023e5565b005b620007ad620023e8565b604051620007bc9190620070b3565b60405180910390f35b620007e36004803603810190620007dd919062005a23565b620023ee565b604051620007f29190620070b3565b60405180910390f35b62000819600480360381019062000813919062005ddf565b620024b9565b60405162000828919062006c71565b60405180910390f35b6200084f600480360381019062000849919062005d81565b620024c4565b6040516200085e919062006c71565b60405180910390f35b6200087162002561565b60405162000880919062006dcf565b60405180910390f35b620008a76004803603810190620008a1919062005ddf565b62002587565b604051620008b6919062006c71565b60405180910390f35b620008dd6004803603810190620008d7919062005bb7565b6200258e565b005b620008fd6004803603810190620008f7919062005a23565b62002763565b6040516200090c9190620070b3565b60405180910390f35b6200093360048036038101906200092d919062005ad0565b6200282f565b005b6200095360048036038101906200094d919062005e50565b62002a00565b005b6200097360048036038101906200096d919062005ddf565b62002e21565b005b60006200098d677ab52c65f999e01f60c01b620023e2565b620009a36710268b7b424a1bd560c01b620023e2565b620009b96713a157f311059a7b60c01b620023e2565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b6000919050565b600060019050919050565b600062000a67677a11c1b4df1ca1f560c01b620023df565b62000a7d6722438b178f0ae90360c01b620023df565b62000a9367f4d0ae7810213f3860c01b620023df565b62000aa18585858562002e24565b9050949350505050565b600062000ac3678731a65e96e05a9060c01b620023df565b62000ad96757f3223bdadf332960c01b620023df565b62000aef67a29afa2db961065360c01b620023df565b62000b0882600001518360200151846040015162002ea1565b9050919050565b600062000b2767e29fe2f351ca6b2760c01b62000baa565b62000b3d676f5dd3f08b97747760c01b62000baa565b62000b53673a9488d62818322a60c01b62000baa565b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b600062000bc567f6e1333f9d32e41160c01b620023df565b62000bdb67fdd9d53b8e33944460c01b620023df565b62000bf167698b486da51c956b60c01b620023df565b62000bfc8262002f3f565b9050919050565b600062000c1b677cc879258b9b8ce360c01b620023df565b62000c316745af80c83299f90360c01b620023df565b62000c4767e57f32ecefcae6cd60c01b620023df565b600073ffffffffffffffffffffffffffffffffffffffff16600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b62000cf767d0ced73497b7358460c01b620023df565b62000d0d67fbea73acffce279060c01b620023df565b62000d236770c90e3da20f7de760c01b620023df565b62000d2e81620030aa565b50565b62000d4767c0522379b364a6f360c01b620023df565b62000d5d675058ca825db00d7460c01b620023df565b62000d736782ed1bf7a8fcfd8360c01b620023df565b600062000d7f620033a4565b905062000d97674b653d1c8b6d592360c01b620023df565b62000dad676021df71f2b027d760c01b620023df565b600062000e43600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486620033f990919063ffffffff16565b905062000e5b673b5ac82d29c17eab60c01b620023df565b62000e7167e38d430a97e9424f60c01b620023df565b62000e87673beaf30c76a59ffa60c01b620023df565b6000811162000ecd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ec49062006f5f565b60405180910390fd5b62000ee3678eb8c265193ebb8560c01b620023df565b62000ef967de400f7d5441605260c01b620023df565b62000f0f673b1ce7a286e0eca760c01b620023df565b600062000f1e83888862002ea1565b905062000f3667560d1a6828b72dce60c01b620023df565b62000f4c67011239eb7c122c0760c01b620023df565b62000f62673a2c80a6aac4048460c01b620023df565b62000fb28186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506200346b565b62000ff4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000feb9062007091565b60405180910390fd5b6200100a6798c9308ac236396c60c01b620023df565b62001020679cfd1fa808aaac0e60c01b620023df565b85600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620010ba67fbb2fb2a9aacd34160c01b620023df565b620010d0679fe9956435bdbfe660c01b620023df565b620010dc838862003549565b620010f267d3c67012fd9edb9a60c01b620023df565b620011086719f7b46b98a45b5260c01b620023df565b62001178600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848985620037e8565b6200118e674ba2c71c2ee28c6b60c01b620023df565b620011a46717161c0e31e34fc360c01b620023df565b7f95f66b073d65f18e43f6b76c7ab8557787f5f766d86cab7c9c76f41be9f8abc6600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168489896040516200123d949392919062006af5565b60405180910390a150505050505050565b6000919050565b6200126b6747dd6d4e27a092d260c01b620023e2565b6200128167e0600b94c13d066760c01b620023e2565b620012976755e8cedcdd449e2360c01b620023e2565b620012ad67ab821ba7fedab67160c01b620023e2565b620012c367c540fbd78e0e2a4960c01b620023e2565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1662001351576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620013489062006f3d565b60405180910390fd5b6200136767d014260b312542b460c01b620023e2565b6200137d674e25985d1c99d1f260c01b620023e2565b6200139367736984febec5fd2560c01b620023e2565b620013a967cbb923c66996310360c01b620023e2565b620013bf672c114aff1103564b60c01b620023e2565b620013d567a76a63e34be2bddb60c01b620023e2565b620013eb67a220bc889ca09d2360c01b620023e2565b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614156200145d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162001454906200704d565b60405180910390fd5b62001473679467d7af09c5944d60c01b620023e2565b6200148967c28a58b1b15ad6de60c01b620023e2565b6200149f67c70b0fecc7c6d3b160c01b620023e2565b620014b567e7892f9392d41a6760c01b620023e2565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1662001543576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200153a9062006fe7565b60405180910390fd5b62001559675a0de441d13969aa60c01b620023e2565b6200156f674e473b0a29064fba60c01b620023e2565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620015dc67e398e5606400274660c01b620023e2565b620015f26738c3bd156a3471c260c01b620023e2565b7fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b32826040516200162592919062006a5e565b60405180910390a150565b60006200164867746e84890578918d60c01b620023df565b6200165e676d90e6054f970f8d60c01b620023df565b62001674674283df7d54888c2160c01b620023df565b6200169c826000015183602001518460400151856060015186608001518760a0015162003c0c565b9050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000620016e1674a92df0b2601d80060c01b620023df565b620016f76730e797ee2717b25c60c01b620023df565b6200170d6740cb4346e6f9bbb360c01b620023df565b60086000838152602001908152602001600020600001549050919050565b6200174167b773bc6ea061fbc160c01b620023df565b62001757671e47e14efabccbcb60c01b620023df565b6200176d671faed6e4e38b1a7560c01b620023df565b600062001779620033a4565b9050620017916736891da8159b98ba60c01b620023df565b620017a767178c9047312caef260c01b620023df565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050620018416733c36b59b7a185eb60c01b620023df565b6200185767c84ec4eb44f8e63760c01b620023df565b6200186d67d552fc88e56ef1b860c01b620023df565b6000811415620018b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620018ab9062006ef9565b60405180910390fd5b620018ca672035200410c747a960c01b620023df565b620018e0670add31c7a189e6db60c01b620023df565b620018f667a6bab72803d7aef560c01b620023df565b6200190c67be9a2f69e7267e4560c01b620023df565b4281111562001952576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620019499062006f81565b60405180910390fd5b62001968677d0e00efaa9167ce60c01b620023df565b6200197e673caa302eebf3b18860c01b620023df565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062001a1967ba24a6bd0393831960c01b620023df565b62001a2f6738a30af50c05383160c01b620023df565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905062001aac67c1ba8f26af786bdf60c01b620023df565b62001ac267da5b0a8094a1696060c01b620023df565b600062001ada67da6c8b42a66d376960c01b620023df565b62001af067d731e57aebb3f92460c01b620023df565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141562001b725762001b3c677885fed62b0c85ce60c01b620023df565b62001b5267e57216c6dd319f5360c01b620023df565b8173ffffffffffffffffffffffffffffffffffffffff1631905062001c30565b62001b886751812ef4de4274a260c01b620023df565b62001b9e67b3b395a9758b968860c01b620023df565b8473ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b815260040162001bd9919062006a24565b60206040518083038186803b15801562001bf257600080fd5b505afa15801562001c07573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c2d919062005f46565b90505b62001c466796229eb7fe105ae460c01b620023df565b62001c5c67ebeeb2b3f7b8192c60c01b620023df565b62001c6a82858784620037e8565b62001c8067e442679b547af84f60c01b620023df565b62001c96670e1c93412bd8455f60c01b620023df565b7f5300d9a2838baade7cdc628c82cb80c1298853ba5f389d51e2b47330336aeffc8285878460405162001ccd949392919062006af5565b60405180910390a15050505050565b62001cf2678547b4816985ff9f60c01b620023df565b62001d0867e91d0fa0d5165f1060c01b620023df565b62001d1e67ae27d5c6e5a1627860c01b620023df565b600062001d2a620033a4565b905062001d426726e48716281dd6cd60c01b620023df565b62001d58671f02d416ec828e0960c01b620023df565b600080600062001df78d858e8e8e8e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505062003cb3565b92509250925062001e13673bb0e2de1af97a3b60c01b620023df565b62001e2967bba97aa553e93d0060c01b620023df565b62001e418262001e398662002f3f565b8e84620037e8565b62001e57674a2b86621f73c58e60c01b620023df565b62001e6d67f8b1d1f90ea6458860c01b620023df565b7f771bc0494e1a2fcbef19a8762845000d8c4500454c756a7370c955e39ed60fd4838260405162001ea092919062006d18565b60405180910390a150505050505050505050505050565b60025481565b600060019050919050565b6000919050565b62001ee567c17b66a0b198af7b60c01b620023e2565b62001efb67e0600b94c13d066760c01b620023e2565b62001f116755e8cedcdd449e2360c01b620023e2565b62001f2767ab821ba7fedab67160c01b620023e2565b62001f3d67c540fbd78e0e2a4960c01b620023e2565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1662001fcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162001fc29062006f3d565b60405180910390fd5b62001fe167d014260b312542b460c01b620023e2565b62001ff7674e25985d1c99d1f260c01b620023e2565b6200200d67dfa24a8cc198350160c01b620023e2565b6200202367f9907d82cd18ee0760c01b620023e2565b6200203967dd37ee49f553c5a760c01b620023e2565b6200204f679ad66b1d98f77fdf60c01b620023e2565b6200205a8162004526565b50565b600060019050919050565b6200207e670469efd33c9235e360c01b620023df565b6200209467f0b2089551c0c81360c01b620023df565b620020aa6704d761f7374b77cd60c01b620023df565b6000620020b6620033a4565b9050620020ce67409657c6111ebeff60c01b620023df565b620020e4679358c4bdb889d18460c01b620023df565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506200217e67e923e341d617b92360c01b620023df565b6200219467b0e7ccea6c1aa7d260c01b620023df565b620021aa674d40fc3ef77568bb60c01b620023df565b60008114620021f0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620021e79062006e93565b60405180910390fd5b62002206679ebbb0402706d7af60c01b620023df565b6200221c6794c20c5a2ce1d39660c01b620023df565b6200223267beca2bc701238ab260c01b620023df565b6200223d82620030aa565b6200225367d033291f0eb9caf760c01b620023df565b6200226a60065442620047c590919063ffffffff16565b905062002282672aade004be31a38c60c01b620023df565b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200231c678164ea09279e604f60c01b620023df565b620023326789b93e679e8b87d160c01b620023df565b7fed3c8c6cdfc6d7b91dc9db3e1f54866587c26c3c3e0f9e32cd1944974be43a50600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838584604051620023cb949392919062006af5565b60405180910390a1505050565b6000919050565b50565b50565b50565b60065481565b600062002405664a2219036fd2a460c01b620023df565b6200241b675e6e6d17fe704f9760c01b620023df565b6200243167dbbc56fd7f3b5f8960c01b620023df565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600060019050919050565b6000620024dc670fa739e07c029f9060c01b620023e2565b620024f267406100042e7653bd60c01b620023e2565b620025086784104632bda8198f60c01b620023e2565b620025588484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506200346b565b90509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000919050565b620025a46740bae9637fb2f02060c01b620023df565b620025ba67eb691ee8670228b060c01b620023df565b620025d0673992eecbf7059d7a60c01b620023df565b6000620025dc620033a4565b9050620025f467c38dab0c9cbfffc060c01b620023df565b6200260a67ff6eebe0f8a2088860c01b620023df565b6000806000620026a98e858f8f8f8f8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505062003cb3565b925092509250620026c5670d40206c41a9e9f160c01b620023df565b620026db6732a3f4b543a6d49960c01b620023df565b620026ea82858f848d620048e4565b6200270067b7953e396f06f2f860c01b620023df565b620027166730471e94ce6c1fb260c01b620023df565b7f8b67efde501ee9cd0e771f7436554c44a5c076239ff3a6fbb397646a4689c0f283828b6040516200274b9392919062006d45565b60405180910390a15050505050505050505050505050565b60006200277b67446e049345b6dc0360c01b620023df565b6200279167958de0fc09af695660c01b620023df565b620027a76792ae15897a87ccb760c01b620023df565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6200284567bcbd9780179cfb1660c01b620023df565b6200285b67318240a4eb8b00cb60c01b620023df565b6200287167fc5cdd89fca1b27160c01b620023df565b60006200287d620033a4565b90506200289567a03d83d93ca8d80260c01b620023df565b620028ab6743d46cb5e50ef82b60c01b620023df565b60008060006200294a8d858e8e8e8e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505062003cb3565b92509250925062002966677ba957dbb80f30dd60c01b620023df565b6200297c67eb8cdd947a89fa6a60c01b620023df565b6200298a82858e84620037e8565b620029a0672efb5286ef6b799760c01b620023df565b620029b6679d0f67b91b85269360c01b620023df565b7f6675346cd43846f7d47c310d39fb5c15bc7db66b3770338cdf1f133613a5ae988382604051620029e992919062006d18565b60405180910390a150505050505050505050505050565b62002a16675d6a36075962234660c01b620023df565b62002a2c67d2ba19feb39e0b7f60c01b62000baa565b62002a42670c5ad53cdb9edd1560c01b62000baa565b62002a5867b6b588d2ebb9ae6960c01b62000baa565b62002a6e67c4ec9a90a885875260c01b62000baa565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161462002b01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162002af89062006e71565b60405180910390fd5b62002b1767c3785ba1534db95460c01b62000baa565b62002b2d67e4202927591248ef60c01b62000baa565b6000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062002b8567531cfa2817fbdc8660c01b62000baa565b62002b9b67de26df4d387f673160c01b620023df565b62002bb1674ebd43ec99830d3060c01b620023df565b62002bc767bb152469ff2c92e660c01b620023df565b85600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062002c1e67d35d915692b00daa60c01b620023df565b84600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062002c7567a817395cf9ca065c60c01b620023df565b62002c8b678615344e6972361e60c01b620023df565b600084141562002cd15762002cab67629416985776820d60c01b620023df565b62002cc1678885a164a9f3ec4260c01b620023df565b6224ea0060068190555062002d05565b62002ce76716f8786f8b5ecdbf60c01b620023df565b62002cfd67be06e23d7dfb9f2a60c01b620023df565b836006819055505b62002d1b675fb68d901bcd3a4a60c01b620023df565b62002d31679a8ebcf09fa7f9b860c01b620023df565b62002d7d838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505062004b01565b62002d936721ac7ab39c91777260c01b620023df565b62002da9670a38c83eb402380960c01b620023df565b62002db48162004c80565b62002dca6701520f419008b58e60c01b62000baa565b62002de06775364c04848b013b60c01b62000baa565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e63260405162002e11919062006a41565b60405180910390a1505050505050565b50565b600062002e3c670600b8dacbc0f5b060c01b620023df565b62002e5267a51a8e2c949b38d860c01b620023df565b62002e68670995b3651a997c6e60c01b620023df565b8484848460405160200162002e8194939291906200683d565b604051602081830303815290604052805190602001209050949350505050565b600062002eb967ab0839cc447a85be60c01b620023df565b62002ecf6757963282530d51cf60c01b620023df565b62002ee567943633a1f102620860c01b620023df565b62002f367f3b3087c8f883f1f44cabe66444f5f9d96f69de6a88f364ea10959eef0331414a85858560405160200162002f21939291906200690f565b60405160208183030381529060405262004cf0565b90509392505050565b600062002f5767a6241f48aba60f2360c01b620023df565b62002f6d6760801bc25d3681f060c01b620023df565b62002f8367032311da4b2958a160c01b620023df565b60008260405160200162002f98919062006820565b60405160208183030381529060405280519060200120905062002fc667d57236925b01eaef60c01b620023df565b62002fdc678d10ddc344cfc56660c01b620023df565b60606040518060200162002ff09062005727565b6020820181038252601f19601f8201166040525090506200301c6783bd86ecf08f2dd360c01b620023df565b62003032675bccd458cea2ca7e60c01b620023df565b600060ff60f81b3084848051906020012060405160200162003058949392919062006952565b6040516020818303038152906040528051906020012090506200308667d2153fdf44ab7c8a60c01b620023df565b6200309c679430141534c0f6f160c01b620023df565b8060001c9350505050919050565b620030c06733e6264130761ab860c01b620023df565b620030d667211cfd602532dd7360c01b620023df565b620030ec673b14d30a708bc54460c01b620023df565b600073ffffffffffffffffffffffffffffffffffffffff16600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156200338a576200319a67f83ecc64c556d1f760c01b620023df565b620031b067f6e1d3201424c63f60c01b620023df565b620031c6676267bb6430c32dbe60c01b620023df565b600081604051602001620031db919062006820565b6040516020818303038152906040528051906020012090506200320967538e7ffac01a39d760c01b620023df565b80604051620032189062005727565b8190604051809103906000f590508015801562003239573d6000803e3d6000fd5b50600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620032d0679d112f9daf47871e60c01b620023df565b620032e667986a0454bcd99e2560c01b620023df565b7fd80572c0f2f24f2d9d726d831bd860ed82b12bafaf01cfb6e4d38fb23c4347e9600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040516200337b92919062006a8b565b60405180910390a150620033a1565b620033a067d3ab13cff696adf660c01b620023df565b5b50565b6000620033bc677ac614d5268cc8ac60c01b62002e21565b620033d2670a6b7ac33c94c4ed60c01b62002e21565b620033e867e7ef433820a2765360c01b62002e21565b620033f4602862004d77565b905090565b60006200341167e0716c1000d7d1da60c01b62004f2f565b62003427674e44df08c8f0b5bb60c01b62004f2f565b6200343d679b7e32e8ae0c005160c01b62004f2f565b62003463838360405180606001604052806021815260200162007d386021913962004f32565b905092915050565b60006200348367fbe9af14abc78ca860c01b620023e2565b6200349967bd3616cf00f8ad2b60c01b620023e2565b620034af670aad941719c9b69b60c01b620023e2565b6000620034c683856200502490919063ffffffff16565b9050620034de6706f556c4601e7cd060c01b620023e2565b620034f467344e7bee2db8345860c01b620023e2565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b6200355f67b137a792eeffc94960c01b620023df565b62003575676cebd0716e109ec060c01b620023df565b6200358b67227b6ac9d83cb95360c01b620023df565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111562003796576200362a678791f8da1a3e1edf60c01b620023df565b6200364067a20c246c9c5e907f60c01b620023df565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620036db67f884f17fe3454b4f60c01b620023df565b620036f167c3d63cf5fa919f0460c01b620023df565b7fa19281a6f3163da06f6b82f3ecf0130493c52aba23cdc2a312f652742f0d1801600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383604051620037889392919062006ab8565b60405180910390a1620037e4565b620037ac6764fe4e265a60b8b260c01b620023df565b620037c267e8c510292ed038a160c01b620023df565b620037d86798a079e54e32501e60c01b620023df565b620037e382620030aa565b5b5050565b620037fe67425ae998c798c82e60c01b620023df565b6200381467e66cf7af275cf8b160c01b620023df565b6200382a67d8bd53129853df4f60c01b620023df565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562003990576200387667111891f7aa278fd260c01b620023df565b6200388c67241016650f63728860c01b620023df565b620038a2672a09400165e7657260c01b620023df565b8373ffffffffffffffffffffffffffffffffffffffff16633f579f428483600067ffffffffffffffff81118015620038d957600080fd5b506040519080825280601f01601f1916602001820160405280156200390d5781602001600182028036833780820191505090505b506040518463ffffffff1660e01b81526004016200392e9392919062006c2d565b600060405180830381600087803b1580156200394957600080fd5b505af11580156200395e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019062003989919062005e0b565b5062003c06565b620039a6677b4ef9f87d72b7a960c01b620023df565b620039bc67a88798cd3aa7d74a60c01b620023df565b620039d267d91d0c8e6448665a60c01b620023df565b60608473ffffffffffffffffffffffffffffffffffffffff16633f579f4284600063a9059cbb60e01b888760405160240162003a1092919062006c00565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518463ffffffff1660e01b815260040162003a8d9392919062006bbc565b600060405180830381600087803b15801562003aa857600080fd5b505af115801562003abd573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019062003ae8919062005e0b565b905062003b0067048c8450ee4bf7b760c01b620023df565b62003b1667201720d43ce7357560c01b620023df565b60008151111562003bed5762003b376720ffb51a4023618960c01b620023df565b62003b4d674c5a559407f7467360c01b620023df565b62003b6367d18f03c9226f332260c01b620023df565b62003b79675a5ec2d22eeefafd60c01b620023df565b8080602001905181019062003b8f919062005d29565b62003bd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162003bc89062006f1b565b60405180910390fd5b62003be76742a84bad8afeeb5c60c01b620023df565b62003c04565b62003c03670fe67714ff92436960c01b620023df565b5b505b50505050565b600062003c246751a80809ea045ef460c01b620023df565b62003c3a671ae84f9badc6251360c01b620023df565b62003c5067e4da76a2a2a1edc760c01b620023df565b62003ca77f745089e29f2abf28f618236a5dc04d214ac05ead3440ba532b69e9d160ba2e7288888888888860405160200162003c929695949392919062006893565b60405160208183030381529060405262004cf0565b90509695505050505050565b600080600062003cce6713f01d9025565f3960c01b620023df565b62003ce467ae5fd9cd87222a2b60c01b620023df565b62003cfa67152227d79de099c160c01b620023df565b600062003d0c8c8c8c8c8c8c62003c0c565b905062003d2467904fdcf2e56cec1360c01b620023df565b62003d3a674cb6148653b6f05c60c01b620023df565b60008651141562003eb05762003d5b6788da320677cf5e7d60c01b620023df565b62003d7167031a875bca0aaab360c01b620023df565b62003d87673a5cc07e4b44a6d560c01b620023df565b62003d9d67016d2c61f6dd6c2d60c01b620023df565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166359b52ef88d838b6040518463ffffffff1660e01b815260040162003dfe9392919062006b7f565b60206040518083038186803b15801562003e1757600080fd5b505afa15801562003e2c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003e52919062005d29565b62003e94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162003e8b9062007091565b60405180910390fd5b62003eaa67e8aefadc281bef2d60c01b620023df565b620041ea565b62003ec667d1ebedc8c05d2dc060c01b620023df565b62003edc67608da72d0095b9d160c01b620023df565b62003ef267cb30b3cc980493e660c01b620023df565b600062003f0987836200502490919063ffffffff16565b905062003f2167b9f9dace39395bba60c01b620023df565b62003f376719d2e2b0100cef0c60c01b620023df565b8073ffffffffffffffffffffffffffffffffffffffff168d73ffffffffffffffffffffffffffffffffffffffff1614620041d15762003f8167cf4babd7c1f5517660c01b620023df565b62003f9767e7be9dc6df87f59460c01b620023df565b62003fad6754ffef844048aeac60c01b620023df565b62003fc3678bad387c237a9c8260c01b620023df565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334d323a48e838c6040518463ffffffff1660e01b8152600401620040249392919062006b42565b60206040518083038186803b1580156200403d57600080fd5b505afa15801562004052573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004078919062005d29565b80156200409757506200409667e43e558222a48e9060c01b62000a44565b5b80620041735750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334d323a48e838c6040518463ffffffff1660e01b8152600401620040ff9392919062006b42565b60206040518083038186803b1580156200411857600080fd5b505afa1580156200412d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004153919062005d29565b8015620041725750620041716774a6a859f68a407460c01b62000a44565b5b5b620041b5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620041ac9062006fc5565b60405180910390fd5b620041cb670428b6277130e17d60c01b620023df565b620041e8565b620041e767b01b02d7a8b0a1ed60c01b620023df565b5b505b620042006793fbbda3cd7202e460c01b620023df565b6200421667344b7c04098b91b760c01b620023df565b6200422c675b66ad7740fae35760c01b620023df565b6200423881866200346b565b6200427a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620042719062007091565b60405180910390fd5b62004290675aadace45521e33360c01b620023df565b620042a6677f35810285c6353c60c01b620023df565b620042b48c8c8c8c62002e24565b9350620042cc671f486a3a2a1f3c0860c01b620023df565b620042f7600860008681526020019081526020016000206000015488620033f990919063ffffffff16565b91506200430f67075543c764304fab60c01b620023df565b6200432567ce6ce88fc4a1598e60c01b620023df565b6200433b677d0e86c7ce33d4f660c01b620023df565b600082141562004382576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620043799062006eb5565b60405180910390fd5b620043986750c2bd53c8b3f1e260c01b620023df565b620043ae6728b9cf703bd950f660c01b620023df565b866008600086815260200190815260200160002060000181905550620043df672f82c89e17c153f160c01b620023df565b620043f5678e33b0f493a5625360c01b620023df565b620044018c8b62003549565b6200441767573964feb8c10ce960c01b620023df565b600760008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925062004492675ae960e149ffdaca60c01b620023df565b620044a867b30c6d7c0b6f6ab860c01b620023df565b7f0d1cb77d1fe491f98926195d0b885509da18bc305dd1489f45610237d971ed46848d8d8d8d8c604051620044e39695949392919062006cab565b60405180910390a16200450167dafdb72d466fc30f60c01b620023df565b6200451767de0355caa72dcb9160c01b620023df565b50985098509895505050505050565b6200453c6703611a9e4063d8ea60c01b620023e2565b6200455267ee1baacaa033494260c01b620023e2565b620045686751e5840de998a97760c01b620023e2565b6200457e676f82de74e2e2e03560c01b620023e2565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620045f1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620045e89062006e4f565b60405180910390fd5b620046076717cb80dba7a8a0ea60c01b620023e2565b6200461d67e2f8fabe2a63d8b660c01b620023e2565b62004633677550a657f22d30dc60c01b620023e2565b62004649673c81d7073dbe6f3060c01b620023e2565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615620046d8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620046cf906200702b565b60405180910390fd5b620046ee67bc5a1f0994a7f54e60c01b620023e2565b62004704679a7f014629c7374960c01b620023e2565b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200477167d71c83e9f3188e9d60c01b620023e2565b6200478767e4bfbd26cb5c77e660c01b620023e2565b7fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051620047ba92919062006a5e565b60405180910390a150565b6000620047dd672797d9bbee8e685760c01b62004f2f565b620047f367e25930aa3032662f60c01b62004f2f565b62004809673b804ace3fd44ea060c01b62004f2f565b600082840190506200482667e0d809daafe36a0460c01b62004f2f565b6200483c67d0d7b021c1a6823260c01b62004f2f565b620048526741f1099b5fa09b9360c01b62004f2f565b8381101562004898576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200488f9062007009565b60405180910390fd5b620048ae6728a352a27e50889560c01b62004f2f565b620048c467f55e5f024a80111c60c01b62004f2f565b620048da67d865abdcb752192460c01b62004f2f565b8091505092915050565b620048fa6795769c0422dd2f3760c01b620023df565b6200491067dd92d87d27b8031560c01b620023df565b6200492667fc7095cb44e42da760c01b620023df565b6200493c674d2f9244eb82daf860c01b620023df565b6000811162004982576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620049799062006e2d565b60405180910390fd5b6200499867cea04fa968fc503360c01b620023df565b620049ae6713ae60570dc4ced160c01b620023df565b620049c46752a28bf08a5df63560c01b620023df565b6000620049db8284620033f990919063ffffffff16565b9050620049f36763423272cdb2553660c01b620023df565b62004a096716f88c019291390f60c01b620023df565b62004a1f67be2b24391508025160c01b620023df565b6000811162004a65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162004a5c9062006fa3565b60405180910390fd5b62004a7b6742c11e45abeb8eec60c01b620023df565b62004a9167f316021b46c8f80a60c01b620023df565b62004aa767d8f0bc071782644460c01b620023df565b62004ab586868684620037e8565b62004acb671a738fed97e4b59060c01b620023df565b62004ae1672c9b480f5094a0f660c01b620023df565b62004af98662004af18762002f3f565b8685620037e8565b505050505050565b62004b1767f4de5e8e73d6ad8760c01b620023e2565b62004b2d67db1ce0981035d84760c01b620023e2565b62004b4367e97a0a25809a3f0960c01b620023e2565b60008151141562004ba15762004b6467de11b839232da49160c01b620023e2565b62004b7a67b59bd2ea0c1c89a260c01b620023e2565b62004b9067652fe2786000e62060c01b620023e2565b62004b9b3262004526565b62004c7d565b62004bb767ad5f6f13dddc2ad960c01b620023e2565b62004bcd672af46088979bcb2160c01b620023e2565b62004be36796cb81cf0bf6606d60c01b620023e2565b60008151905062004bff672f4c11881b8dca8c60c01b620023e2565b62004c1567cec4e8db5057edad60c01b620023e2565b60005b8181101562004c7a5762004c37671a5cc94c8b734dd960c01b620023e2565b62004c4d67e437d14e98e20b2f60c01b620023e2565b62004c6c83828151811062004c5e57fe5b602002602001015162004526565b808060010191505062004c18565b50505b50565b62004c96670beab42e12728d3b60c01b62002e21565b62004cac675ecbac840a5512ec60c01b62002e21565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600062004d086771b334e2e3162d2e60c01b620023e5565b62004d1e6729046581cf97a49460c01b620023e5565b62004d34674f9e67c6b1f334b360c01b620023e5565b62004d6f60025430858560405160200162004d539493929190620069d2565b6040516020818303038152906040528051906020012062005370565b905092915050565b600062004d8f6787c8246a4b35d1f160c01b62002e21565b62004da567976a1e8d41064d2460c01b62002e21565b62004dbb671867d8bf077bb31160c01b62002e21565b600062004dd367bdfeda5454a1273960c01b62002e21565b62004de9677709e048711a13c960c01b62002e21565b62004df3620053e4565b1562004eca5762004e0f67d3c6f6b0bcac9b6e60c01b62002e21565b62004e25673b2573735f5d680260c01b62002e21565b62004e3b675089eb0622c78a2260c01b62002e21565b600083600036905003905062004e5c674bc94a8e9a6ee57960c01b62002e21565b62004ec16000368390601485019262004e789392919062007179565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050620055d0565b91505062004efa565b62004ee0677e45e81af2ec2edc60c01b62002e21565b62004ef667391e31dbfdfb407e60c01b62002e21565b3390505b62004f1067c4042e2c7c2c999760c01b62002e21565b62004f2667fc44c5cccf2cd16760c01b62002e21565b80915050919050565b50565b600062004f4a677d731b0c9f0e103a60c01b62004f2f565b62004f60672e44734f88495e8b60c01b62004f2f565b62004f76670d025d40fd1bee3e60c01b62004f2f565b62004f8c67025828287ef1fd1b60c01b62004f2f565b83831115829062004fd5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162004fcc919062006e09565b60405180910390fd5b5062004fec67e9c31dd44a0bf91260c01b62004f2f565b62005002675031ed2b8fb2561960c01b62004f2f565b6200501867301f4385f3c6735c60c01b62004f2f565b82840390509392505050565b60006200503c670d75db982ec4597160c01b62005716565b620050526725c2c60ab754182560c01b62005716565b62005068673eb64a254569ed0660c01b62005716565b60006200508067fb2a2286066e15e460c01b62005716565b6200509667a440db11ec9e986d60c01b62005716565b6041835114156200532357620050b76704a5aada48e2763260c01b62005716565b620050cd674b98cf1796e5c26660c01b62005716565b620050e367d2dfec7b159385fc60c01b62005716565b6000620050fb6772c2a840621b4aa760c01b62005716565b6200511167bfd411e6ba4d07c460c01b62005716565b60006200512967145d23f82764ba9960c01b62005716565b6200513f67acdff958a9c6c5dd60c01b62005716565b600062005157673b79e3a80932a6a160c01b62005716565b6020860151925060408601519150606086015160001a905062005185679b0cdee01a57ea2f60c01b62005716565b6200519b675dbf88583373227960c01b62005716565b601b8160ff161015620051e057620051be670dc9a1836eb51c3260c01b62005716565b620051d4677097d8456a6c3e1560c01b62005716565b601b81019050620051f7565b620051f66708b39c61216869e760c01b62005716565b5b6200520d672ea4d6db7d2138c560c01b62005716565b62005223679ad3f461195a5eee60c01b62005716565b601b8160ff161480156200524957506200524867a24e972b59dc7d0560c01b62005719565b5b80620052775750601c8160ff161480156200527657506200527567934bee4849491d9560c01b62005719565b5b5b15620053035762005293676d6a491fc6e072fa60c01b62005716565b620052a967aecd1690d1de9f1c60c01b62005716565b60018782858560405160008152602001604052604051620052ce949392919062006d82565b6020604051602081039080840390855afa158015620052f1573d6000803e3d6000fd5b5050506020604051035193506200531a565b6200531967513fbc3b3a0ad1c060c01b62005716565b5b5050506200533a565b620053396723d6d78de386c96660c01b62005716565b5b620053506707d0c4f11e72cfc960c01b62005716565b6200536667b9689b22f403636c60c01b62005716565b8091505092915050565b60006200538867f3d1beb9fba5b7be60c01b62005716565b6200539e676cd81a1865d6353260c01b62005716565b620053b4676810828c21da671e60c01b62005716565b81604051602001620053c79190620069a8565b604051602081830303815290604052805190602001209050919050565b6000620053fc6714ec9ba31585b6f760c01b62002e21565b620054126764d00f8ee4cbc0f460c01b62002e21565b620054286728aef4b71ffef7e260c01b62002e21565b600062005440677b6cf6392b8d09d960c01b62002e21565b6200545667da655f124163f4bc60c01b62002e21565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156200558657620054c3678c4556fd14dc507160c01b62002e21565b620054d9674811af4455ee520960c01b62002e21565b620054ef67ae36e4b52033411860c01b62002e21565b6200550567ffe63a27679b309260c01b62002e21565b602c6000369050101562005550576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620055479062006ed7565b60405180910390fd5b6200556667d1762b0b1ca636f360c01b62002e21565b6200557c6769c465f7e405b9f660c01b62002e21565b600190506200559d565b6200559c6710f40798097af22060c01b62002e21565b5b620055b3671855328cbdf7411660c01b62002e21565b620055c9670e4f1457e534f9ac60c01b62002e21565b8091505090565b6000620055e8670df8d76b8cabf76a60c01b62005724565b620055fe67e180fcce9e2bf4c560c01b62005724565b62005614670dcb70abe8e8bb0b60c01b62005724565b60006200562c67c9f13cc22eb780e060c01b62005724565b6200564267c60f8d891ff21de960c01b62005724565b620056586782bb9e679e55c73460c01b62005724565b60148351146200569f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162005696906200706f565b60405180910390fd5b620056b5679ea304b1b6348ade60c01b62005724565b620056cb67a0049b4768bf518260c01b62005724565b6c010000000000000000000000006020840151049050620056f7671f4dc55703cfba1860c01b62005724565b6200570d67afb63a07e82275e260c01b62005724565b80915050919050565b50565b600060019050919050565b50565b6108b8806200748083390190565b6000813590506200574681620073c9565b92915050565b60008083601f8401126200575f57600080fd5b8235905067ffffffffffffffff8111156200577957600080fd5b6020830191508360208202830111156200579257600080fd5b9250929050565b600081519050620057aa81620073e3565b92915050565b600081359050620057c181620073fd565b92915050565b600081359050620057d88162007417565b92915050565b60008083601f840112620057f157600080fd5b8235905067ffffffffffffffff8111156200580b57600080fd5b6020830191508360018202830111156200582457600080fd5b9250929050565b600082601f8301126200583d57600080fd5b8151620058546200584e82620070fe565b620070d0565b915080825260208301602083018583830111156200587157600080fd5b6200587e8382846200732f565b50505092915050565b600081359050620058988162007431565b92915050565b600081359050620058af816200744b565b92915050565b600060608284031215620058c857600080fd5b620058d46060620070d0565b90506000620058e68482850162005735565b6000830152506020620058fc8482850162005735565b60208301525060406200591284828501620059c9565b60408301525092915050565b600060c082840312156200593157600080fd5b6200593d60c0620070d0565b905060006200594f8482850162005735565b6000830152506020620059658482850162005735565b60208301525060406200597b8482850162005735565b60408301525060606200599184828501620057b0565b6060830152506080620059a784828501620059c9565b60808301525060a0620059bd84828501620059c9565b60a08301525092915050565b600081359050620059da8162007465565b92915050565b600081519050620059f18162007465565b92915050565b60006020828403121562005a0a57600080fd5b600062005a1a8482850162005735565b91505092915050565b6000806040838503121562005a3757600080fd5b600062005a478582860162005735565b925050602062005a5a8582860162005735565b9150509250929050565b6000806000806080858703121562005a7b57600080fd5b600062005a8b8782880162005735565b945050602062005a9e8782880162005735565b935050604062005ab18782880162005735565b925050606062005ac487828801620057b0565b91505092959194509250565b600080600080600080600080600060e08a8c03121562005aef57600080fd5b600062005aff8c828d0162005735565b995050602062005b128c828d0162005735565b985050604062005b258c828d01620057b0565b975050606062005b388c828d01620059c9565b965050608062005b4b8c828d01620059c9565b95505060a08a013567ffffffffffffffff81111562005b6957600080fd5b62005b778c828d01620057de565b945094505060c08a013567ffffffffffffffff81111562005b9757600080fd5b62005ba58c828d01620057de565b92509250509295985092959850929598565b6000806000806000806000806000806101008b8d03121562005bd857600080fd5b600062005be88d828e0162005735565b9a5050602062005bfb8d828e0162005735565b995050604062005c0e8d828e01620057b0565b985050606062005c218d828e01620059c9565b975050608062005c348d828e01620059c9565b96505060a062005c478d828e01620059c9565b95505060c08b013567ffffffffffffffff81111562005c6557600080fd5b62005c738d828e01620057de565b945094505060e08b013567ffffffffffffffff81111562005c9357600080fd5b62005ca18d828e01620057de565b92509250509295989b9194979a5092959850565b6000806000806060858703121562005ccc57600080fd5b600062005cdc8782880162005735565b945050602062005cef87828801620059c9565b935050604085013567ffffffffffffffff81111562005d0d57600080fd5b62005d1b87828801620057de565b925092505092959194509250565b60006020828403121562005d3c57600080fd5b600062005d4c8482850162005799565b91505092915050565b60006020828403121562005d6857600080fd5b600062005d7884828501620057b0565b91505092915050565b60008060006040848603121562005d9757600080fd5b600062005da786828701620057b0565b935050602084013567ffffffffffffffff81111562005dc557600080fd5b62005dd386828701620057de565b92509250509250925092565b60006020828403121562005df257600080fd5b600062005e0284828501620057c7565b91505092915050565b60006020828403121562005e1e57600080fd5b600082015167ffffffffffffffff81111562005e3957600080fd5b62005e47848285016200582b565b91505092915050565b60008060008060008060a0878903121562005e6a57600080fd5b600062005e7a89828a0162005887565b965050602062005e8d89828a016200589e565b955050604062005ea089828a01620059c9565b945050606087013567ffffffffffffffff81111562005ebe57600080fd5b62005ecc89828a016200574c565b9350935050608062005ee189828a0162005735565b9150509295509295509295565b60006060828403121562005f0157600080fd5b600062005f1184828501620058b5565b91505092915050565b600060c0828403121562005f2d57600080fd5b600062005f3d848285016200591e565b91505092915050565b60006020828403121562005f5957600080fd5b600062005f6984828501620059e0565b91505092915050565b62005f7d816200728f565b82525050565b62005f8e81620071ae565b82525050565b62005fa962005fa382620071ae565b62007365565b82525050565b62005fba81620071c2565b82525050565b62005fd562005fcf82620071ce565b62007379565b82525050565b62005fe681620071fa565b82525050565b6200600162005ffb82620071fa565b62007383565b82525050565b600062006014826200712b565b62006020818562007141565b9350620060328185602086016200732f565b6200603d81620073ab565b840191505092915050565b600062006055826200712b565b62006061818562007152565b9350620060738185602086016200732f565b80840191505092915050565b6200608a81620072a3565b82525050565b6200609b81620072cb565b82525050565b620060ac81620072f3565b82525050565b6000620060bf8262007136565b620060cb81856200715d565b9350620060dd8185602086016200732f565b620060e881620073ab565b840191505092915050565b6000620061026026836200715d565b91507f5061796d656e7452656769737472793a20696e76616c6964206465706f73697460008301527f2076616c756500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006200616a601c836200716e565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b6000620061ac6020836200715d565b91507f477561726465643a2063616e6e6f74206164642030783020677561726469616e6000830152602082019050919050565b6000620061ee602f836200715d565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b600062006256602f836200715d565b91507f5061796d656e7452656769737472793a206465706f736974206578697420616c60008301527f72656164792072657175657374656400000000000000000000000000000000006020830152604082019050919050565b6000620062be6026836200715d565b91507f5061796d656e7452656769737472793a20696e76616c6964207061796d656e7460008301527f2076616c756500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000620063266022836200715d565b91507f47617465776179526563697069656e743a20696e76616c6964206d73672e646160008301527f74610000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006200638e602b836200715d565b91507f5061796d656e7452656769737472793a206465706f7369742065786974206e6f60008301527f74207265717565737465640000000000000000000000000000000000000000006020830152604082019050919050565b6000620063f6602d836200715d565b91507f5061796d656e7452656769737472793a204552433230546f6b656e207472616e60008301527f73666572207265766572746564000000000000000000000000000000000000006020830152604082019050919050565b60006200645e6026836200715d565b91507f477561726465643a2074782e6f726967696e206973206e6f742074686520677560008301527f61726469616e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000620064c6601f836200715d565b91507f5061796d656e7452656769737472793a20696e76616c696420616d6f756e74006000830152602082019050919050565b6000620065086024836200715d565b91507f5061796d656e7452656769737472793a206465706f7369742065786974206c6f60008301527f636b6564000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000620065706027836200715d565b91507f5061796d656e7452656769737472793a20696e76616c6964207769746864726160008301527f772076616c7565000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000620065d86029836200715d565b91507f5061796d656e7452656769737472793a20696e76616c69642073656e6465722060008301527f7369676e617475726500000000000000000000000000000000000000000000006020830152604082019050919050565b600062006640601f836200715d565b91507f477561726465643a20677561726469616e20646f65736e2774206578697374006000830152602082019050919050565b600062006682601e836200715d565b91507f536166654d6174684c69623a206164646974696f6e206f766572666c6f7700006000830152602082019050919050565b6000620066c46020836200715d565b91507f477561726465643a20677561726469616e20616c7265616479206578697374736000830152602082019050919050565b600062006706601b836200715d565b91507f477561726465643a2063616e6e6f742072656d6f76652073656c6600000000006000830152602082019050919050565b600062006748601d836200715d565b91507f42797465734c69623a20696e76616c69642064617461206c656e6774680000006000830152602082019050919050565b60006200678a602b836200715d565b91507f5061796d656e7452656769737472793a20696e76616c6964206775617264696160008301527f6e207369676e61747572650000000000000000000000000000000000000000006020830152604082019050919050565b620067ee8162007278565b82525050565b62006809620068038262007278565b620073a1565b82525050565b6200681a8162007282565b82525050565b60006200682e828462005f94565b60148201915081905092915050565b60006200684b828762005f94565b6014820191506200685d828662005f94565b6014820191506200686f828562005f94565b60148201915062006881828462005fec565b60208201915081905095945050505050565b6000620068a1828962005f94565b601482019150620068b3828862005f94565b601482019150620068c5828762005f94565b601482019150620068d7828662005fec565b602082019150620068e98285620067f4565b602082019150620068fb8284620067f4565b602082019150819050979650505050505050565b60006200691d828662005f94565b6014820191506200692f828562005f94565b601482019150620069418284620067f4565b602082019150819050949350505050565b600062006960828762005fc0565b60018201915062006972828662005f94565b60148201915062006984828562005fec565b60208201915062006996828462005fec565b60208201915081905095945050505050565b6000620069b5826200615b565b9150620069c3828462005fec565b60208201915081905092915050565b6000620069e08287620067f4565b602082019150620069f2828662005f94565b60148201915062006a04828562005fec565b60208201915062006a16828462006048565b915081905095945050505050565b600060208201905062006a3b600083018462005f83565b92915050565b600060208201905062006a58600083018462005f72565b92915050565b600060408201905062006a75600083018562005f72565b62006a84602083018462005f83565b9392505050565b600060408201905062006aa2600083018562005f83565b62006ab1602083018462005f83565b9392505050565b600060608201905062006acf600083018662005f83565b62006ade602083018562005f83565b62006aed604083018462005f83565b949350505050565b600060808201905062006b0c600083018762005f83565b62006b1b602083018662005f83565b62006b2a604083018562005f83565b62006b396060830184620067e3565b95945050505050565b600060608201905062006b59600083018662005f83565b62006b68602083018562005f83565b62006b776040830184620067e3565b949350505050565b600060608201905062006b96600083018662005f83565b62006ba5602083018562005fdb565b62006bb46040830184620067e3565b949350505050565b600060608201905062006bd3600083018662005f83565b62006be26020830185620060a1565b818103604083015262006bf6818462006007565b9050949350505050565b600060408201905062006c17600083018562005f83565b62006c266020830184620067e3565b9392505050565b600060608201905062006c44600083018662005f83565b62006c536020830185620067e3565b818103604083015262006c67818462006007565b9050949350505050565b600060208201905062006c88600083018462005faf565b92915050565b600060208201905062006ca5600083018462005fdb565b92915050565b600060c08201905062006cc2600083018962005fdb565b62006cd1602083018862005f83565b62006ce0604083018762005f83565b62006cef606083018662005f83565b62006cfe608083018562005fdb565b62006d0d60a0830184620067e3565b979650505050505050565b600060408201905062006d2f600083018562005fdb565b62006d3e6020830184620067e3565b9392505050565b600060608201905062006d5c600083018662005fdb565b62006d6b6020830185620067e3565b62006d7a6040830184620067e3565b949350505050565b600060808201905062006d99600083018762005fdb565b62006da860208301866200680f565b62006db7604083018562005fdb565b62006dc6606083018462005fdb565b95945050505050565b600060208201905062006de660008301846200607f565b92915050565b600060208201905062006e03600083018462006090565b92915050565b6000602082019050818103600083015262006e258184620060b2565b905092915050565b6000602082019050818103600083015262006e4881620060f3565b9050919050565b6000602082019050818103600083015262006e6a816200619d565b9050919050565b6000602082019050818103600083015262006e8c81620061df565b9050919050565b6000602082019050818103600083015262006eae8162006247565b9050919050565b6000602082019050818103600083015262006ed081620062af565b9050919050565b6000602082019050818103600083015262006ef28162006317565b9050919050565b6000602082019050818103600083015262006f14816200637f565b9050919050565b6000602082019050818103600083015262006f3681620063e7565b9050919050565b6000602082019050818103600083015262006f58816200644f565b9050919050565b6000602082019050818103600083015262006f7a81620064b7565b9050919050565b6000602082019050818103600083015262006f9c81620064f9565b9050919050565b6000602082019050818103600083015262006fbe8162006561565b9050919050565b6000602082019050818103600083015262006fe081620065c9565b9050919050565b60006020820190508181036000830152620070028162006631565b9050919050565b60006020820190508181036000830152620070248162006673565b9050919050565b600060208201905081810360008301526200704681620066b5565b9050919050565b600060208201905081810360008301526200706881620066f7565b9050919050565b600060208201905081810360008301526200708a8162006739565b9050919050565b60006020820190508181036000830152620070ac816200677b565b9050919050565b6000602082019050620070ca6000830184620067e3565b92915050565b6000604051905081810181811067ffffffffffffffff82111715620070f457600080fd5b8060405250919050565b600067ffffffffffffffff8211156200711657600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600080858511156200718a57600080fd5b838611156200719857600080fd5b6001850283019150848603905094509492505050565b6000620071bb8262007258565b9050919050565b60008115159050919050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b60006200723d82620071ae565b9050919050565b60006200725182620071ae565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006200729c8262007307565b9050919050565b6000620072b082620072b7565b9050919050565b6000620072c48262007258565b9050919050565b6000620072d882620072df565b9050919050565b6000620072ec8262007258565b9050919050565b6000620073008262007278565b9050919050565b600062007314826200731b565b9050919050565b6000620073288262007258565b9050919050565b60005b838110156200734f57808201518184015260208101905062007332565b838111156200735f576000848401525b50505050565b600062007372826200738d565b9050919050565b6000819050919050565b6000819050919050565b60006200739a82620073bc565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b620073d481620071ae565b8114620073e057600080fd5b50565b620073ee81620071c2565b8114620073fa57600080fd5b50565b6200740881620071fa565b81146200741457600080fd5b50565b620074228162007204565b81146200742e57600080fd5b50565b6200743c8162007230565b81146200744857600080fd5b50565b620074568162007244565b81146200746257600080fd5b50565b620074708162007278565b81146200747c57600080fd5b5056fe608060405261001e674c05ed6aa1cd281960c01b61009760201b60201c565b610038675db0dfd7018850c360c01b61009760201b60201c565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610092679098f39fea0730f660c01b61009a60201b60201c565b61009d565b50565b50565b61080c806100ac6000396000f3fe60806040526004361061007f5760003560e01c8063bd04d1391161004e578063bd04d139146102f8578063c478196d14610364578063d1c43eae146103ba578063f77c47911461041057610086565b806326bebb521461008b5780633f579f42146100f7578063550648ff1461022057806356c2fc6c1461028c57610086565b3661008657005b600080fd5b34801561009757600080fd5b506100df600480360360208110156100ae57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610451565b60405180821515815260200191505060405180910390f35b34801561010357600080fd5b506101a56004803603606081101561011a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561016157600080fd5b82018360208201111561017357600080fd5b8035906020019184600183028401116401000000008311171561019557600080fd5b9091929391929390505050610458565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e55780820151818401526020810190506101ca565b50505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022c57600080fd5b506102746004803603602081101561024357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061078c565b60405180821515815260200191505060405180910390f35b34801561029857600080fd5b506102e0600480360360208110156102af57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610793565b60405180821515815260200191505060405180910390f35b34801561030457600080fd5b5061034c6004803603602081101561031b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061079e565b60405180821515815260200191505060405180910390f35b34801561037057600080fd5b506103b86004803603602081101561038757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107a9565b005b3480156103c657600080fd5b5061040e600480360360208110156103dd57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107ac565b005b34801561041c57600080fd5b506104256107af565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000919050565b606061046e6730a6ad52e198db9760c01b6107a9565b61048267f6266a592c249da560c01b6107ac565b6104966728279893f8537e1960c01b6107ac565b6104aa67d300d0a9ecbe6cac60c01b6107ac565b6104be678d5c0caa285e3ec560c01b6107ac565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610562576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806107d4602c913960400191505060405180910390fd5b6105766718b2e4dd03bc759a60c01b6107ac565b61058a67f8b65e28b897a44f60c01b6107ac565b61059e67a0e46df01f8c97cb60c01b6107a9565b6105b267aa5eebb2652f143c60c01b6107a9565b6105c6676d9ffa8149f3dea060c01b6107a9565b6105da678cb9bb07d4779f7e60c01b6107a9565b60606105f067f5ddfa157613111160c01b6107a9565b610604676c82c2c1207b3b7760c01b6107a9565b600061061a673ff4b340667b124160c01b6107a9565b8673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d8060008114610686576040519150601f19603f3d011682016040523d82523d6000602084013e61068b565b606091505b5080935081925050506106a86756fbd48014b71d8b60c01b6107a9565b6106bc67e31d8723036de13060c01b6107a9565b6106d067d6b834fbc1dbf84c60c01b6107a9565b80610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b61075767836ca2ae34585e2360c01b6107a9565b61076b67fc0747958022859a60c01b6107a9565b61077f67127f08829e3f368c60c01b6107a9565b8192505050949350505050565b6000919050565b600060019050919050565b600060019050919050565b50565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a536166654d6174684c69623a207375627472616374696f6e206f766572666c6f77a164736f6c634300060c000a", + "deployedBytecode": "0x60806040523480156200001157600080fd5b50600436106200028c5760003560e01c80639a8a05921162000165578063bdff4b3b11620000d5578063d84fa10c1162000093578063d84fa10c1462000889578063da1b213d14620008bf578063dc7d6c3114620008df578063df0433801462000915578063e0fe396e1462000935578063f0af07211462000955576200028c565b8063bdff4b3b14620007a3578063c36326e714620007c5578063c454330514620007fb578063d0f710d61462000831578063d2c83b9a1462000867576200028c565b8063b0274a731162000123578063b0274a7314620006ed578063b41d3df0146200070d578063b852e8861462000743578063bccb31c61462000763578063bcd483641462000783576200028c565b80639a8a059214620006095780639f106f7e146200062b578063a3561e691462000661578063a526d83b1462000697578063ae1a7ece14620006b7576200028c565b80636121fcfc116200020157806384389a2b11620001bf57806384389a2b146200053b57806387d3131314620005715780638a1773ab14620005935780639130c06e14620005c95780639a85fae214620005e9576200028c565b80636121fcfc146200046f5780636524a94714620004a55780636866da5214620004c5578063692b0ad914620004e557806371404156146200051b576200028c565b80632e4f161e116200024f5780632e4f161e146200038b5780632e7037a014620003c1578063392e53cd14620003f75780633e260b13146200041957806360bf4df21462000439576200028c565b80630c68ba211462000291578063116191b614620002c757806329fbd95714620002e95780632c4bbae6146200031f5780632ca595091462000355575b600080fd5b620002af6004803603810190620002a99190620059f7565b62000975565b604051620002be919062006c71565b60405180910390f35b620002d162000a0c565b604051620002e0919062006a24565b60405180910390f35b62000307600480360381019062000301919062005ddf565b62000a32565b60405162000316919062006c71565b60405180910390f35b6200033d600480360381019062000337919062005ddf565b62000a3d565b6040516200034c919062006c71565b60405180910390f35b6200037360048036038101906200036d919062005ddf565b62000a44565b60405162000382919062006c71565b60405180910390f35b620003a96004803603810190620003a3919062005a64565b62000a4f565b604051620003b8919062006c8e565b60405180910390f35b620003df6004803603810190620003d9919062005eee565b62000aab565b604051620003ee919062006c8e565b60405180910390f35b6200040162000b0f565b60405162000410919062006c71565b60405180910390f35b62000437600480360381019062000431919062005ddf565b62000baa565b005b620004576004803603810190620004519190620059f7565b62000bad565b60405162000466919062006a24565b60405180910390f35b6200048d6004803603810190620004879190620059f7565b62000c03565b6040516200049c919062006c71565b60405180910390f35b620004c36004803603810190620004bd9190620059f7565b62000ce1565b005b620004e36004803603810190620004dd919062005cb5565b62000d31565b005b620005036004803603810190620004fd919062005ddf565b6200124e565b60405162000512919062006c71565b60405180910390f35b620005396004803603810190620005339190620059f7565b62001255565b005b62000559600480360381019062000553919062005f1a565b62001630565b60405162000568919062006c8e565b60405180910390f35b6200057b620016a3565b6040516200058a919062006dec565b60405180910390f35b620005b16004803603810190620005ab919062005d55565b620016c9565b604051620005c09190620070b3565b60405180910390f35b620005e76004803603810190620005e19190620059f7565b6200172b565b005b62000607600480360381019062000601919062005ad0565b62001cdc565b005b6200061362001eb7565b604051620006229190620070b3565b60405180910390f35b62000649600480360381019062000643919062005ddf565b62001ebd565b60405162000658919062006c71565b60405180910390f35b6200067f600480360381019062000679919062005ddf565b62001ec8565b6040516200068e919062006c71565b60405180910390f35b620006b56004803603810190620006af9190620059f7565b62001ecf565b005b620006d56004803603810190620006cf919062005ddf565b6200205d565b604051620006e4919062006c71565b60405180910390f35b6200070b6004803603810190620007059190620059f7565b62002068565b005b6200072b600480360381019062000725919062005ddf565b620023d8565b6040516200073a919062006c71565b60405180910390f35b6200076160048036038101906200075b919062005ddf565b620023df565b005b6200078160048036038101906200077b919062005ddf565b620023e2565b005b620007a160048036038101906200079b919062005ddf565b620023e5565b005b620007ad620023e8565b604051620007bc9190620070b3565b60405180910390f35b620007e36004803603810190620007dd919062005a23565b620023ee565b604051620007f29190620070b3565b60405180910390f35b62000819600480360381019062000813919062005ddf565b620024b9565b60405162000828919062006c71565b60405180910390f35b6200084f600480360381019062000849919062005d81565b620024c4565b6040516200085e919062006c71565b60405180910390f35b6200087162002561565b60405162000880919062006dcf565b60405180910390f35b620008a76004803603810190620008a1919062005ddf565b62002587565b604051620008b6919062006c71565b60405180910390f35b620008dd6004803603810190620008d7919062005bb7565b6200258e565b005b620008fd6004803603810190620008f7919062005a23565b62002763565b6040516200090c9190620070b3565b60405180910390f35b6200093360048036038101906200092d919062005ad0565b6200282f565b005b6200095360048036038101906200094d919062005e50565b62002a00565b005b6200097360048036038101906200096d919062005ddf565b62002e21565b005b60006200098d677ab52c65f999e01f60c01b620023e2565b620009a36710268b7b424a1bd560c01b620023e2565b620009b96713a157f311059a7b60c01b620023e2565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b6000919050565b600060019050919050565b600062000a67677a11c1b4df1ca1f560c01b620023df565b62000a7d6722438b178f0ae90360c01b620023df565b62000a9367f4d0ae7810213f3860c01b620023df565b62000aa18585858562002e24565b9050949350505050565b600062000ac3678731a65e96e05a9060c01b620023df565b62000ad96757f3223bdadf332960c01b620023df565b62000aef67a29afa2db961065360c01b620023df565b62000b0882600001518360200151846040015162002ea1565b9050919050565b600062000b2767e29fe2f351ca6b2760c01b62000baa565b62000b3d676f5dd3f08b97747760c01b62000baa565b62000b53673a9488d62818322a60c01b62000baa565b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b600062000bc567f6e1333f9d32e41160c01b620023df565b62000bdb67fdd9d53b8e33944460c01b620023df565b62000bf167698b486da51c956b60c01b620023df565b62000bfc8262002f3f565b9050919050565b600062000c1b677cc879258b9b8ce360c01b620023df565b62000c316745af80c83299f90360c01b620023df565b62000c4767e57f32ecefcae6cd60c01b620023df565b600073ffffffffffffffffffffffffffffffffffffffff16600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b62000cf767d0ced73497b7358460c01b620023df565b62000d0d67fbea73acffce279060c01b620023df565b62000d236770c90e3da20f7de760c01b620023df565b62000d2e81620030aa565b50565b62000d4767c0522379b364a6f360c01b620023df565b62000d5d675058ca825db00d7460c01b620023df565b62000d736782ed1bf7a8fcfd8360c01b620023df565b600062000d7f620033a4565b905062000d97674b653d1c8b6d592360c01b620023df565b62000dad676021df71f2b027d760c01b620023df565b600062000e43600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486620033f990919063ffffffff16565b905062000e5b673b5ac82d29c17eab60c01b620023df565b62000e7167e38d430a97e9424f60c01b620023df565b62000e87673beaf30c76a59ffa60c01b620023df565b6000811162000ecd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ec49062006f5f565b60405180910390fd5b62000ee3678eb8c265193ebb8560c01b620023df565b62000ef967de400f7d5441605260c01b620023df565b62000f0f673b1ce7a286e0eca760c01b620023df565b600062000f1e83888862002ea1565b905062000f3667560d1a6828b72dce60c01b620023df565b62000f4c67011239eb7c122c0760c01b620023df565b62000f62673a2c80a6aac4048460c01b620023df565b62000fb28186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506200346b565b62000ff4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000feb9062007091565b60405180910390fd5b6200100a6798c9308ac236396c60c01b620023df565b62001020679cfd1fa808aaac0e60c01b620023df565b85600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620010ba67fbb2fb2a9aacd34160c01b620023df565b620010d0679fe9956435bdbfe660c01b620023df565b620010dc838862003549565b620010f267d3c67012fd9edb9a60c01b620023df565b620011086719f7b46b98a45b5260c01b620023df565b62001178600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848985620037e8565b6200118e674ba2c71c2ee28c6b60c01b620023df565b620011a46717161c0e31e34fc360c01b620023df565b7f95f66b073d65f18e43f6b76c7ab8557787f5f766d86cab7c9c76f41be9f8abc6600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168489896040516200123d949392919062006af5565b60405180910390a150505050505050565b6000919050565b6200126b6747dd6d4e27a092d260c01b620023e2565b6200128167e0600b94c13d066760c01b620023e2565b620012976755e8cedcdd449e2360c01b620023e2565b620012ad67ab821ba7fedab67160c01b620023e2565b620012c367c540fbd78e0e2a4960c01b620023e2565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1662001351576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620013489062006f3d565b60405180910390fd5b6200136767d014260b312542b460c01b620023e2565b6200137d674e25985d1c99d1f260c01b620023e2565b6200139367736984febec5fd2560c01b620023e2565b620013a967cbb923c66996310360c01b620023e2565b620013bf672c114aff1103564b60c01b620023e2565b620013d567a76a63e34be2bddb60c01b620023e2565b620013eb67a220bc889ca09d2360c01b620023e2565b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614156200145d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162001454906200704d565b60405180910390fd5b62001473679467d7af09c5944d60c01b620023e2565b6200148967c28a58b1b15ad6de60c01b620023e2565b6200149f67c70b0fecc7c6d3b160c01b620023e2565b620014b567e7892f9392d41a6760c01b620023e2565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1662001543576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200153a9062006fe7565b60405180910390fd5b62001559675a0de441d13969aa60c01b620023e2565b6200156f674e473b0a29064fba60c01b620023e2565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620015dc67e398e5606400274660c01b620023e2565b620015f26738c3bd156a3471c260c01b620023e2565b7fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b32826040516200162592919062006a5e565b60405180910390a150565b60006200164867746e84890578918d60c01b620023df565b6200165e676d90e6054f970f8d60c01b620023df565b62001674674283df7d54888c2160c01b620023df565b6200169c826000015183602001518460400151856060015186608001518760a0015162003c0c565b9050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000620016e1674a92df0b2601d80060c01b620023df565b620016f76730e797ee2717b25c60c01b620023df565b6200170d6740cb4346e6f9bbb360c01b620023df565b60086000838152602001908152602001600020600001549050919050565b6200174167b773bc6ea061fbc160c01b620023df565b62001757671e47e14efabccbcb60c01b620023df565b6200176d671faed6e4e38b1a7560c01b620023df565b600062001779620033a4565b9050620017916736891da8159b98ba60c01b620023df565b620017a767178c9047312caef260c01b620023df565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050620018416733c36b59b7a185eb60c01b620023df565b6200185767c84ec4eb44f8e63760c01b620023df565b6200186d67d552fc88e56ef1b860c01b620023df565b6000811415620018b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620018ab9062006ef9565b60405180910390fd5b620018ca672035200410c747a960c01b620023df565b620018e0670add31c7a189e6db60c01b620023df565b620018f667a6bab72803d7aef560c01b620023df565b6200190c67be9a2f69e7267e4560c01b620023df565b4281111562001952576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620019499062006f81565b60405180910390fd5b62001968677d0e00efaa9167ce60c01b620023df565b6200197e673caa302eebf3b18860c01b620023df565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062001a1967ba24a6bd0393831960c01b620023df565b62001a2f6738a30af50c05383160c01b620023df565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905062001aac67c1ba8f26af786bdf60c01b620023df565b62001ac267da5b0a8094a1696060c01b620023df565b600062001ada67da6c8b42a66d376960c01b620023df565b62001af067d731e57aebb3f92460c01b620023df565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141562001b725762001b3c677885fed62b0c85ce60c01b620023df565b62001b5267e57216c6dd319f5360c01b620023df565b8173ffffffffffffffffffffffffffffffffffffffff1631905062001c30565b62001b886751812ef4de4274a260c01b620023df565b62001b9e67b3b395a9758b968860c01b620023df565b8473ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b815260040162001bd9919062006a24565b60206040518083038186803b15801562001bf257600080fd5b505afa15801562001c07573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c2d919062005f46565b90505b62001c466796229eb7fe105ae460c01b620023df565b62001c5c67ebeeb2b3f7b8192c60c01b620023df565b62001c6a82858784620037e8565b62001c8067e442679b547af84f60c01b620023df565b62001c96670e1c93412bd8455f60c01b620023df565b7f5300d9a2838baade7cdc628c82cb80c1298853ba5f389d51e2b47330336aeffc8285878460405162001ccd949392919062006af5565b60405180910390a15050505050565b62001cf2678547b4816985ff9f60c01b620023df565b62001d0867e91d0fa0d5165f1060c01b620023df565b62001d1e67ae27d5c6e5a1627860c01b620023df565b600062001d2a620033a4565b905062001d426726e48716281dd6cd60c01b620023df565b62001d58671f02d416ec828e0960c01b620023df565b600080600062001df78d858e8e8e8e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505062003cb3565b92509250925062001e13673bb0e2de1af97a3b60c01b620023df565b62001e2967bba97aa553e93d0060c01b620023df565b62001e418262001e398662002f3f565b8e84620037e8565b62001e57674a2b86621f73c58e60c01b620023df565b62001e6d67f8b1d1f90ea6458860c01b620023df565b7f771bc0494e1a2fcbef19a8762845000d8c4500454c756a7370c955e39ed60fd4838260405162001ea092919062006d18565b60405180910390a150505050505050505050505050565b60025481565b600060019050919050565b6000919050565b62001ee567c17b66a0b198af7b60c01b620023e2565b62001efb67e0600b94c13d066760c01b620023e2565b62001f116755e8cedcdd449e2360c01b620023e2565b62001f2767ab821ba7fedab67160c01b620023e2565b62001f3d67c540fbd78e0e2a4960c01b620023e2565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1662001fcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162001fc29062006f3d565b60405180910390fd5b62001fe167d014260b312542b460c01b620023e2565b62001ff7674e25985d1c99d1f260c01b620023e2565b6200200d67dfa24a8cc198350160c01b620023e2565b6200202367f9907d82cd18ee0760c01b620023e2565b6200203967dd37ee49f553c5a760c01b620023e2565b6200204f679ad66b1d98f77fdf60c01b620023e2565b6200205a8162004526565b50565b600060019050919050565b6200207e670469efd33c9235e360c01b620023df565b6200209467f0b2089551c0c81360c01b620023df565b620020aa6704d761f7374b77cd60c01b620023df565b6000620020b6620033a4565b9050620020ce67409657c6111ebeff60c01b620023df565b620020e4679358c4bdb889d18460c01b620023df565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506200217e67e923e341d617b92360c01b620023df565b6200219467b0e7ccea6c1aa7d260c01b620023df565b620021aa674d40fc3ef77568bb60c01b620023df565b60008114620021f0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620021e79062006e93565b60405180910390fd5b62002206679ebbb0402706d7af60c01b620023df565b6200221c6794c20c5a2ce1d39660c01b620023df565b6200223267beca2bc701238ab260c01b620023df565b6200223d82620030aa565b6200225367d033291f0eb9caf760c01b620023df565b6200226a60065442620047c590919063ffffffff16565b905062002282672aade004be31a38c60c01b620023df565b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200231c678164ea09279e604f60c01b620023df565b620023326789b93e679e8b87d160c01b620023df565b7fed3c8c6cdfc6d7b91dc9db3e1f54866587c26c3c3e0f9e32cd1944974be43a50600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838584604051620023cb949392919062006af5565b60405180910390a1505050565b6000919050565b50565b50565b50565b60065481565b600062002405664a2219036fd2a460c01b620023df565b6200241b675e6e6d17fe704f9760c01b620023df565b6200243167dbbc56fd7f3b5f8960c01b620023df565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600060019050919050565b6000620024dc670fa739e07c029f9060c01b620023e2565b620024f267406100042e7653bd60c01b620023e2565b620025086784104632bda8198f60c01b620023e2565b620025588484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506200346b565b90509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000919050565b620025a46740bae9637fb2f02060c01b620023df565b620025ba67eb691ee8670228b060c01b620023df565b620025d0673992eecbf7059d7a60c01b620023df565b6000620025dc620033a4565b9050620025f467c38dab0c9cbfffc060c01b620023df565b6200260a67ff6eebe0f8a2088860c01b620023df565b6000806000620026a98e858f8f8f8f8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505062003cb3565b925092509250620026c5670d40206c41a9e9f160c01b620023df565b620026db6732a3f4b543a6d49960c01b620023df565b620026ea82858f848d620048e4565b6200270067b7953e396f06f2f860c01b620023df565b620027166730471e94ce6c1fb260c01b620023df565b7f8b67efde501ee9cd0e771f7436554c44a5c076239ff3a6fbb397646a4689c0f283828b6040516200274b9392919062006d45565b60405180910390a15050505050505050505050505050565b60006200277b67446e049345b6dc0360c01b620023df565b6200279167958de0fc09af695660c01b620023df565b620027a76792ae15897a87ccb760c01b620023df565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6200284567bcbd9780179cfb1660c01b620023df565b6200285b67318240a4eb8b00cb60c01b620023df565b6200287167fc5cdd89fca1b27160c01b620023df565b60006200287d620033a4565b90506200289567a03d83d93ca8d80260c01b620023df565b620028ab6743d46cb5e50ef82b60c01b620023df565b60008060006200294a8d858e8e8e8e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505062003cb3565b92509250925062002966677ba957dbb80f30dd60c01b620023df565b6200297c67eb8cdd947a89fa6a60c01b620023df565b6200298a82858e84620037e8565b620029a0672efb5286ef6b799760c01b620023df565b620029b6679d0f67b91b85269360c01b620023df565b7f6675346cd43846f7d47c310d39fb5c15bc7db66b3770338cdf1f133613a5ae988382604051620029e992919062006d18565b60405180910390a150505050505050505050505050565b62002a16675d6a36075962234660c01b620023df565b62002a2c67d2ba19feb39e0b7f60c01b62000baa565b62002a42670c5ad53cdb9edd1560c01b62000baa565b62002a5867b6b588d2ebb9ae6960c01b62000baa565b62002a6e67c4ec9a90a885875260c01b62000baa565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161462002b01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162002af89062006e71565b60405180910390fd5b62002b1767c3785ba1534db95460c01b62000baa565b62002b2d67e4202927591248ef60c01b62000baa565b6000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062002b8567531cfa2817fbdc8660c01b62000baa565b62002b9b67de26df4d387f673160c01b620023df565b62002bb1674ebd43ec99830d3060c01b620023df565b62002bc767bb152469ff2c92e660c01b620023df565b85600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062002c1e67d35d915692b00daa60c01b620023df565b84600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062002c7567a817395cf9ca065c60c01b620023df565b62002c8b678615344e6972361e60c01b620023df565b600084141562002cd15762002cab67629416985776820d60c01b620023df565b62002cc1678885a164a9f3ec4260c01b620023df565b6224ea0060068190555062002d05565b62002ce76716f8786f8b5ecdbf60c01b620023df565b62002cfd67be06e23d7dfb9f2a60c01b620023df565b836006819055505b62002d1b675fb68d901bcd3a4a60c01b620023df565b62002d31679a8ebcf09fa7f9b860c01b620023df565b62002d7d838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505062004b01565b62002d936721ac7ab39c91777260c01b620023df565b62002da9670a38c83eb402380960c01b620023df565b62002db48162004c80565b62002dca6701520f419008b58e60c01b62000baa565b62002de06775364c04848b013b60c01b62000baa565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e63260405162002e11919062006a41565b60405180910390a1505050505050565b50565b600062002e3c670600b8dacbc0f5b060c01b620023df565b62002e5267a51a8e2c949b38d860c01b620023df565b62002e68670995b3651a997c6e60c01b620023df565b8484848460405160200162002e8194939291906200683d565b604051602081830303815290604052805190602001209050949350505050565b600062002eb967ab0839cc447a85be60c01b620023df565b62002ecf6757963282530d51cf60c01b620023df565b62002ee567943633a1f102620860c01b620023df565b62002f367f3b3087c8f883f1f44cabe66444f5f9d96f69de6a88f364ea10959eef0331414a85858560405160200162002f21939291906200690f565b60405160208183030381529060405262004cf0565b90509392505050565b600062002f5767a6241f48aba60f2360c01b620023df565b62002f6d6760801bc25d3681f060c01b620023df565b62002f8367032311da4b2958a160c01b620023df565b60008260405160200162002f98919062006820565b60405160208183030381529060405280519060200120905062002fc667d57236925b01eaef60c01b620023df565b62002fdc678d10ddc344cfc56660c01b620023df565b60606040518060200162002ff09062005727565b6020820181038252601f19601f8201166040525090506200301c6783bd86ecf08f2dd360c01b620023df565b62003032675bccd458cea2ca7e60c01b620023df565b600060ff60f81b3084848051906020012060405160200162003058949392919062006952565b6040516020818303038152906040528051906020012090506200308667d2153fdf44ab7c8a60c01b620023df565b6200309c679430141534c0f6f160c01b620023df565b8060001c9350505050919050565b620030c06733e6264130761ab860c01b620023df565b620030d667211cfd602532dd7360c01b620023df565b620030ec673b14d30a708bc54460c01b620023df565b600073ffffffffffffffffffffffffffffffffffffffff16600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156200338a576200319a67f83ecc64c556d1f760c01b620023df565b620031b067f6e1d3201424c63f60c01b620023df565b620031c6676267bb6430c32dbe60c01b620023df565b600081604051602001620031db919062006820565b6040516020818303038152906040528051906020012090506200320967538e7ffac01a39d760c01b620023df565b80604051620032189062005727565b8190604051809103906000f590508015801562003239573d6000803e3d6000fd5b50600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620032d0679d112f9daf47871e60c01b620023df565b620032e667986a0454bcd99e2560c01b620023df565b7fd80572c0f2f24f2d9d726d831bd860ed82b12bafaf01cfb6e4d38fb23c4347e9600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040516200337b92919062006a8b565b60405180910390a150620033a1565b620033a067d3ab13cff696adf660c01b620023df565b5b50565b6000620033bc677ac614d5268cc8ac60c01b62002e21565b620033d2670a6b7ac33c94c4ed60c01b62002e21565b620033e867e7ef433820a2765360c01b62002e21565b620033f4602862004d77565b905090565b60006200341167e0716c1000d7d1da60c01b62004f2f565b62003427674e44df08c8f0b5bb60c01b62004f2f565b6200343d679b7e32e8ae0c005160c01b62004f2f565b62003463838360405180606001604052806021815260200162007d386021913962004f32565b905092915050565b60006200348367fbe9af14abc78ca860c01b620023e2565b6200349967bd3616cf00f8ad2b60c01b620023e2565b620034af670aad941719c9b69b60c01b620023e2565b6000620034c683856200502490919063ffffffff16565b9050620034de6706f556c4601e7cd060c01b620023e2565b620034f467344e7bee2db8345860c01b620023e2565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b6200355f67b137a792eeffc94960c01b620023df565b62003575676cebd0716e109ec060c01b620023df565b6200358b67227b6ac9d83cb95360c01b620023df565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111562003796576200362a678791f8da1a3e1edf60c01b620023df565b6200364067a20c246c9c5e907f60c01b620023df565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620036db67f884f17fe3454b4f60c01b620023df565b620036f167c3d63cf5fa919f0460c01b620023df565b7fa19281a6f3163da06f6b82f3ecf0130493c52aba23cdc2a312f652742f0d1801600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383604051620037889392919062006ab8565b60405180910390a1620037e4565b620037ac6764fe4e265a60b8b260c01b620023df565b620037c267e8c510292ed038a160c01b620023df565b620037d86798a079e54e32501e60c01b620023df565b620037e382620030aa565b5b5050565b620037fe67425ae998c798c82e60c01b620023df565b6200381467e66cf7af275cf8b160c01b620023df565b6200382a67d8bd53129853df4f60c01b620023df565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562003990576200387667111891f7aa278fd260c01b620023df565b6200388c67241016650f63728860c01b620023df565b620038a2672a09400165e7657260c01b620023df565b8373ffffffffffffffffffffffffffffffffffffffff16633f579f428483600067ffffffffffffffff81118015620038d957600080fd5b506040519080825280601f01601f1916602001820160405280156200390d5781602001600182028036833780820191505090505b506040518463ffffffff1660e01b81526004016200392e9392919062006c2d565b600060405180830381600087803b1580156200394957600080fd5b505af11580156200395e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019062003989919062005e0b565b5062003c06565b620039a6677b4ef9f87d72b7a960c01b620023df565b620039bc67a88798cd3aa7d74a60c01b620023df565b620039d267d91d0c8e6448665a60c01b620023df565b60608473ffffffffffffffffffffffffffffffffffffffff16633f579f4284600063a9059cbb60e01b888760405160240162003a1092919062006c00565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518463ffffffff1660e01b815260040162003a8d9392919062006bbc565b600060405180830381600087803b15801562003aa857600080fd5b505af115801562003abd573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019062003ae8919062005e0b565b905062003b0067048c8450ee4bf7b760c01b620023df565b62003b1667201720d43ce7357560c01b620023df565b60008151111562003bed5762003b376720ffb51a4023618960c01b620023df565b62003b4d674c5a559407f7467360c01b620023df565b62003b6367d18f03c9226f332260c01b620023df565b62003b79675a5ec2d22eeefafd60c01b620023df565b8080602001905181019062003b8f919062005d29565b62003bd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162003bc89062006f1b565b60405180910390fd5b62003be76742a84bad8afeeb5c60c01b620023df565b62003c04565b62003c03670fe67714ff92436960c01b620023df565b5b505b50505050565b600062003c246751a80809ea045ef460c01b620023df565b62003c3a671ae84f9badc6251360c01b620023df565b62003c5067e4da76a2a2a1edc760c01b620023df565b62003ca77f745089e29f2abf28f618236a5dc04d214ac05ead3440ba532b69e9d160ba2e7288888888888860405160200162003c929695949392919062006893565b60405160208183030381529060405262004cf0565b90509695505050505050565b600080600062003cce6713f01d9025565f3960c01b620023df565b62003ce467ae5fd9cd87222a2b60c01b620023df565b62003cfa67152227d79de099c160c01b620023df565b600062003d0c8c8c8c8c8c8c62003c0c565b905062003d2467904fdcf2e56cec1360c01b620023df565b62003d3a674cb6148653b6f05c60c01b620023df565b60008651141562003eb05762003d5b6788da320677cf5e7d60c01b620023df565b62003d7167031a875bca0aaab360c01b620023df565b62003d87673a5cc07e4b44a6d560c01b620023df565b62003d9d67016d2c61f6dd6c2d60c01b620023df565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166359b52ef88d838b6040518463ffffffff1660e01b815260040162003dfe9392919062006b7f565b60206040518083038186803b15801562003e1757600080fd5b505afa15801562003e2c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003e52919062005d29565b62003e94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162003e8b9062007091565b60405180910390fd5b62003eaa67e8aefadc281bef2d60c01b620023df565b620041ea565b62003ec667d1ebedc8c05d2dc060c01b620023df565b62003edc67608da72d0095b9d160c01b620023df565b62003ef267cb30b3cc980493e660c01b620023df565b600062003f0987836200502490919063ffffffff16565b905062003f2167b9f9dace39395bba60c01b620023df565b62003f376719d2e2b0100cef0c60c01b620023df565b8073ffffffffffffffffffffffffffffffffffffffff168d73ffffffffffffffffffffffffffffffffffffffff1614620041d15762003f8167cf4babd7c1f5517660c01b620023df565b62003f9767e7be9dc6df87f59460c01b620023df565b62003fad6754ffef844048aeac60c01b620023df565b62003fc3678bad387c237a9c8260c01b620023df565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334d323a48e838c6040518463ffffffff1660e01b8152600401620040249392919062006b42565b60206040518083038186803b1580156200403d57600080fd5b505afa15801562004052573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004078919062005d29565b80156200409757506200409667e43e558222a48e9060c01b62000a44565b5b80620041735750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334d323a48e838c6040518463ffffffff1660e01b8152600401620040ff9392919062006b42565b60206040518083038186803b1580156200411857600080fd5b505afa1580156200412d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004153919062005d29565b8015620041725750620041716774a6a859f68a407460c01b62000a44565b5b5b620041b5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620041ac9062006fc5565b60405180910390fd5b620041cb670428b6277130e17d60c01b620023df565b620041e8565b620041e767b01b02d7a8b0a1ed60c01b620023df565b5b505b620042006793fbbda3cd7202e460c01b620023df565b6200421667344b7c04098b91b760c01b620023df565b6200422c675b66ad7740fae35760c01b620023df565b6200423881866200346b565b6200427a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620042719062007091565b60405180910390fd5b62004290675aadace45521e33360c01b620023df565b620042a6677f35810285c6353c60c01b620023df565b620042b48c8c8c8c62002e24565b9350620042cc671f486a3a2a1f3c0860c01b620023df565b620042f7600860008681526020019081526020016000206000015488620033f990919063ffffffff16565b91506200430f67075543c764304fab60c01b620023df565b6200432567ce6ce88fc4a1598e60c01b620023df565b6200433b677d0e86c7ce33d4f660c01b620023df565b600082141562004382576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620043799062006eb5565b60405180910390fd5b620043986750c2bd53c8b3f1e260c01b620023df565b620043ae6728b9cf703bd950f660c01b620023df565b866008600086815260200190815260200160002060000181905550620043df672f82c89e17c153f160c01b620023df565b620043f5678e33b0f493a5625360c01b620023df565b620044018c8b62003549565b6200441767573964feb8c10ce960c01b620023df565b600760008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925062004492675ae960e149ffdaca60c01b620023df565b620044a867b30c6d7c0b6f6ab860c01b620023df565b7f0d1cb77d1fe491f98926195d0b885509da18bc305dd1489f45610237d971ed46848d8d8d8d8c604051620044e39695949392919062006cab565b60405180910390a16200450167dafdb72d466fc30f60c01b620023df565b6200451767de0355caa72dcb9160c01b620023df565b50985098509895505050505050565b6200453c6703611a9e4063d8ea60c01b620023e2565b6200455267ee1baacaa033494260c01b620023e2565b620045686751e5840de998a97760c01b620023e2565b6200457e676f82de74e2e2e03560c01b620023e2565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620045f1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620045e89062006e4f565b60405180910390fd5b620046076717cb80dba7a8a0ea60c01b620023e2565b6200461d67e2f8fabe2a63d8b660c01b620023e2565b62004633677550a657f22d30dc60c01b620023e2565b62004649673c81d7073dbe6f3060c01b620023e2565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615620046d8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620046cf906200702b565b60405180910390fd5b620046ee67bc5a1f0994a7f54e60c01b620023e2565b62004704679a7f014629c7374960c01b620023e2565b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200477167d71c83e9f3188e9d60c01b620023e2565b6200478767e4bfbd26cb5c77e660c01b620023e2565b7fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051620047ba92919062006a5e565b60405180910390a150565b6000620047dd672797d9bbee8e685760c01b62004f2f565b620047f367e25930aa3032662f60c01b62004f2f565b62004809673b804ace3fd44ea060c01b62004f2f565b600082840190506200482667e0d809daafe36a0460c01b62004f2f565b6200483c67d0d7b021c1a6823260c01b62004f2f565b620048526741f1099b5fa09b9360c01b62004f2f565b8381101562004898576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200488f9062007009565b60405180910390fd5b620048ae6728a352a27e50889560c01b62004f2f565b620048c467f55e5f024a80111c60c01b62004f2f565b620048da67d865abdcb752192460c01b62004f2f565b8091505092915050565b620048fa6795769c0422dd2f3760c01b620023df565b6200491067dd92d87d27b8031560c01b620023df565b6200492667fc7095cb44e42da760c01b620023df565b6200493c674d2f9244eb82daf860c01b620023df565b6000811162004982576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620049799062006e2d565b60405180910390fd5b6200499867cea04fa968fc503360c01b620023df565b620049ae6713ae60570dc4ced160c01b620023df565b620049c46752a28bf08a5df63560c01b620023df565b6000620049db8284620033f990919063ffffffff16565b9050620049f36763423272cdb2553660c01b620023df565b62004a096716f88c019291390f60c01b620023df565b62004a1f67be2b24391508025160c01b620023df565b6000811162004a65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162004a5c9062006fa3565b60405180910390fd5b62004a7b6742c11e45abeb8eec60c01b620023df565b62004a9167f316021b46c8f80a60c01b620023df565b62004aa767d8f0bc071782644460c01b620023df565b62004ab586868684620037e8565b62004acb671a738fed97e4b59060c01b620023df565b62004ae1672c9b480f5094a0f660c01b620023df565b62004af98662004af18762002f3f565b8685620037e8565b505050505050565b62004b1767f4de5e8e73d6ad8760c01b620023e2565b62004b2d67db1ce0981035d84760c01b620023e2565b62004b4367e97a0a25809a3f0960c01b620023e2565b60008151141562004ba15762004b6467de11b839232da49160c01b620023e2565b62004b7a67b59bd2ea0c1c89a260c01b620023e2565b62004b9067652fe2786000e62060c01b620023e2565b62004b9b3262004526565b62004c7d565b62004bb767ad5f6f13dddc2ad960c01b620023e2565b62004bcd672af46088979bcb2160c01b620023e2565b62004be36796cb81cf0bf6606d60c01b620023e2565b60008151905062004bff672f4c11881b8dca8c60c01b620023e2565b62004c1567cec4e8db5057edad60c01b620023e2565b60005b8181101562004c7a5762004c37671a5cc94c8b734dd960c01b620023e2565b62004c4d67e437d14e98e20b2f60c01b620023e2565b62004c6c83828151811062004c5e57fe5b602002602001015162004526565b808060010191505062004c18565b50505b50565b62004c96670beab42e12728d3b60c01b62002e21565b62004cac675ecbac840a5512ec60c01b62002e21565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600062004d086771b334e2e3162d2e60c01b620023e5565b62004d1e6729046581cf97a49460c01b620023e5565b62004d34674f9e67c6b1f334b360c01b620023e5565b62004d6f60025430858560405160200162004d539493929190620069d2565b6040516020818303038152906040528051906020012062005370565b905092915050565b600062004d8f6787c8246a4b35d1f160c01b62002e21565b62004da567976a1e8d41064d2460c01b62002e21565b62004dbb671867d8bf077bb31160c01b62002e21565b600062004dd367bdfeda5454a1273960c01b62002e21565b62004de9677709e048711a13c960c01b62002e21565b62004df3620053e4565b1562004eca5762004e0f67d3c6f6b0bcac9b6e60c01b62002e21565b62004e25673b2573735f5d680260c01b62002e21565b62004e3b675089eb0622c78a2260c01b62002e21565b600083600036905003905062004e5c674bc94a8e9a6ee57960c01b62002e21565b62004ec16000368390601485019262004e789392919062007179565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050620055d0565b91505062004efa565b62004ee0677e45e81af2ec2edc60c01b62002e21565b62004ef667391e31dbfdfb407e60c01b62002e21565b3390505b62004f1067c4042e2c7c2c999760c01b62002e21565b62004f2667fc44c5cccf2cd16760c01b62002e21565b80915050919050565b50565b600062004f4a677d731b0c9f0e103a60c01b62004f2f565b62004f60672e44734f88495e8b60c01b62004f2f565b62004f76670d025d40fd1bee3e60c01b62004f2f565b62004f8c67025828287ef1fd1b60c01b62004f2f565b83831115829062004fd5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162004fcc919062006e09565b60405180910390fd5b5062004fec67e9c31dd44a0bf91260c01b62004f2f565b62005002675031ed2b8fb2561960c01b62004f2f565b6200501867301f4385f3c6735c60c01b62004f2f565b82840390509392505050565b60006200503c670d75db982ec4597160c01b62005716565b620050526725c2c60ab754182560c01b62005716565b62005068673eb64a254569ed0660c01b62005716565b60006200508067fb2a2286066e15e460c01b62005716565b6200509667a440db11ec9e986d60c01b62005716565b6041835114156200532357620050b76704a5aada48e2763260c01b62005716565b620050cd674b98cf1796e5c26660c01b62005716565b620050e367d2dfec7b159385fc60c01b62005716565b6000620050fb6772c2a840621b4aa760c01b62005716565b6200511167bfd411e6ba4d07c460c01b62005716565b60006200512967145d23f82764ba9960c01b62005716565b6200513f67acdff958a9c6c5dd60c01b62005716565b600062005157673b79e3a80932a6a160c01b62005716565b6020860151925060408601519150606086015160001a905062005185679b0cdee01a57ea2f60c01b62005716565b6200519b675dbf88583373227960c01b62005716565b601b8160ff161015620051e057620051be670dc9a1836eb51c3260c01b62005716565b620051d4677097d8456a6c3e1560c01b62005716565b601b81019050620051f7565b620051f66708b39c61216869e760c01b62005716565b5b6200520d672ea4d6db7d2138c560c01b62005716565b62005223679ad3f461195a5eee60c01b62005716565b601b8160ff161480156200524957506200524867a24e972b59dc7d0560c01b62005719565b5b80620052775750601c8160ff161480156200527657506200527567934bee4849491d9560c01b62005719565b5b5b15620053035762005293676d6a491fc6e072fa60c01b62005716565b620052a967aecd1690d1de9f1c60c01b62005716565b60018782858560405160008152602001604052604051620052ce949392919062006d82565b6020604051602081039080840390855afa158015620052f1573d6000803e3d6000fd5b5050506020604051035193506200531a565b6200531967513fbc3b3a0ad1c060c01b62005716565b5b5050506200533a565b620053396723d6d78de386c96660c01b62005716565b5b620053506707d0c4f11e72cfc960c01b62005716565b6200536667b9689b22f403636c60c01b62005716565b8091505092915050565b60006200538867f3d1beb9fba5b7be60c01b62005716565b6200539e676cd81a1865d6353260c01b62005716565b620053b4676810828c21da671e60c01b62005716565b81604051602001620053c79190620069a8565b604051602081830303815290604052805190602001209050919050565b6000620053fc6714ec9ba31585b6f760c01b62002e21565b620054126764d00f8ee4cbc0f460c01b62002e21565b620054286728aef4b71ffef7e260c01b62002e21565b600062005440677b6cf6392b8d09d960c01b62002e21565b6200545667da655f124163f4bc60c01b62002e21565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156200558657620054c3678c4556fd14dc507160c01b62002e21565b620054d9674811af4455ee520960c01b62002e21565b620054ef67ae36e4b52033411860c01b62002e21565b6200550567ffe63a27679b309260c01b62002e21565b602c6000369050101562005550576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620055479062006ed7565b60405180910390fd5b6200556667d1762b0b1ca636f360c01b62002e21565b6200557c6769c465f7e405b9f660c01b62002e21565b600190506200559d565b6200559c6710f40798097af22060c01b62002e21565b5b620055b3671855328cbdf7411660c01b62002e21565b620055c9670e4f1457e534f9ac60c01b62002e21565b8091505090565b6000620055e8670df8d76b8cabf76a60c01b62005724565b620055fe67e180fcce9e2bf4c560c01b62005724565b62005614670dcb70abe8e8bb0b60c01b62005724565b60006200562c67c9f13cc22eb780e060c01b62005724565b6200564267c60f8d891ff21de960c01b62005724565b620056586782bb9e679e55c73460c01b62005724565b60148351146200569f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162005696906200706f565b60405180910390fd5b620056b5679ea304b1b6348ade60c01b62005724565b620056cb67a0049b4768bf518260c01b62005724565b6c010000000000000000000000006020840151049050620056f7671f4dc55703cfba1860c01b62005724565b6200570d67afb63a07e82275e260c01b62005724565b80915050919050565b50565b600060019050919050565b50565b6108b8806200748083390190565b6000813590506200574681620073c9565b92915050565b60008083601f8401126200575f57600080fd5b8235905067ffffffffffffffff8111156200577957600080fd5b6020830191508360208202830111156200579257600080fd5b9250929050565b600081519050620057aa81620073e3565b92915050565b600081359050620057c181620073fd565b92915050565b600081359050620057d88162007417565b92915050565b60008083601f840112620057f157600080fd5b8235905067ffffffffffffffff8111156200580b57600080fd5b6020830191508360018202830111156200582457600080fd5b9250929050565b600082601f8301126200583d57600080fd5b8151620058546200584e82620070fe565b620070d0565b915080825260208301602083018583830111156200587157600080fd5b6200587e8382846200732f565b50505092915050565b600081359050620058988162007431565b92915050565b600081359050620058af816200744b565b92915050565b600060608284031215620058c857600080fd5b620058d46060620070d0565b90506000620058e68482850162005735565b6000830152506020620058fc8482850162005735565b60208301525060406200591284828501620059c9565b60408301525092915050565b600060c082840312156200593157600080fd5b6200593d60c0620070d0565b905060006200594f8482850162005735565b6000830152506020620059658482850162005735565b60208301525060406200597b8482850162005735565b60408301525060606200599184828501620057b0565b6060830152506080620059a784828501620059c9565b60808301525060a0620059bd84828501620059c9565b60a08301525092915050565b600081359050620059da8162007465565b92915050565b600081519050620059f18162007465565b92915050565b60006020828403121562005a0a57600080fd5b600062005a1a8482850162005735565b91505092915050565b6000806040838503121562005a3757600080fd5b600062005a478582860162005735565b925050602062005a5a8582860162005735565b9150509250929050565b6000806000806080858703121562005a7b57600080fd5b600062005a8b8782880162005735565b945050602062005a9e8782880162005735565b935050604062005ab18782880162005735565b925050606062005ac487828801620057b0565b91505092959194509250565b600080600080600080600080600060e08a8c03121562005aef57600080fd5b600062005aff8c828d0162005735565b995050602062005b128c828d0162005735565b985050604062005b258c828d01620057b0565b975050606062005b388c828d01620059c9565b965050608062005b4b8c828d01620059c9565b95505060a08a013567ffffffffffffffff81111562005b6957600080fd5b62005b778c828d01620057de565b945094505060c08a013567ffffffffffffffff81111562005b9757600080fd5b62005ba58c828d01620057de565b92509250509295985092959850929598565b6000806000806000806000806000806101008b8d03121562005bd857600080fd5b600062005be88d828e0162005735565b9a5050602062005bfb8d828e0162005735565b995050604062005c0e8d828e01620057b0565b985050606062005c218d828e01620059c9565b975050608062005c348d828e01620059c9565b96505060a062005c478d828e01620059c9565b95505060c08b013567ffffffffffffffff81111562005c6557600080fd5b62005c738d828e01620057de565b945094505060e08b013567ffffffffffffffff81111562005c9357600080fd5b62005ca18d828e01620057de565b92509250509295989b9194979a5092959850565b6000806000806060858703121562005ccc57600080fd5b600062005cdc8782880162005735565b945050602062005cef87828801620059c9565b935050604085013567ffffffffffffffff81111562005d0d57600080fd5b62005d1b87828801620057de565b925092505092959194509250565b60006020828403121562005d3c57600080fd5b600062005d4c8482850162005799565b91505092915050565b60006020828403121562005d6857600080fd5b600062005d7884828501620057b0565b91505092915050565b60008060006040848603121562005d9757600080fd5b600062005da786828701620057b0565b935050602084013567ffffffffffffffff81111562005dc557600080fd5b62005dd386828701620057de565b92509250509250925092565b60006020828403121562005df257600080fd5b600062005e0284828501620057c7565b91505092915050565b60006020828403121562005e1e57600080fd5b600082015167ffffffffffffffff81111562005e3957600080fd5b62005e47848285016200582b565b91505092915050565b60008060008060008060a0878903121562005e6a57600080fd5b600062005e7a89828a0162005887565b965050602062005e8d89828a016200589e565b955050604062005ea089828a01620059c9565b945050606087013567ffffffffffffffff81111562005ebe57600080fd5b62005ecc89828a016200574c565b9350935050608062005ee189828a0162005735565b9150509295509295509295565b60006060828403121562005f0157600080fd5b600062005f1184828501620058b5565b91505092915050565b600060c0828403121562005f2d57600080fd5b600062005f3d848285016200591e565b91505092915050565b60006020828403121562005f5957600080fd5b600062005f6984828501620059e0565b91505092915050565b62005f7d816200728f565b82525050565b62005f8e81620071ae565b82525050565b62005fa962005fa382620071ae565b62007365565b82525050565b62005fba81620071c2565b82525050565b62005fd562005fcf82620071ce565b62007379565b82525050565b62005fe681620071fa565b82525050565b6200600162005ffb82620071fa565b62007383565b82525050565b600062006014826200712b565b62006020818562007141565b9350620060328185602086016200732f565b6200603d81620073ab565b840191505092915050565b600062006055826200712b565b62006061818562007152565b9350620060738185602086016200732f565b80840191505092915050565b6200608a81620072a3565b82525050565b6200609b81620072cb565b82525050565b620060ac81620072f3565b82525050565b6000620060bf8262007136565b620060cb81856200715d565b9350620060dd8185602086016200732f565b620060e881620073ab565b840191505092915050565b6000620061026026836200715d565b91507f5061796d656e7452656769737472793a20696e76616c6964206465706f73697460008301527f2076616c756500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006200616a601c836200716e565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b6000620061ac6020836200715d565b91507f477561726465643a2063616e6e6f74206164642030783020677561726469616e6000830152602082019050919050565b6000620061ee602f836200715d565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b600062006256602f836200715d565b91507f5061796d656e7452656769737472793a206465706f736974206578697420616c60008301527f72656164792072657175657374656400000000000000000000000000000000006020830152604082019050919050565b6000620062be6026836200715d565b91507f5061796d656e7452656769737472793a20696e76616c6964207061796d656e7460008301527f2076616c756500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000620063266022836200715d565b91507f47617465776179526563697069656e743a20696e76616c6964206d73672e646160008301527f74610000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006200638e602b836200715d565b91507f5061796d656e7452656769737472793a206465706f7369742065786974206e6f60008301527f74207265717565737465640000000000000000000000000000000000000000006020830152604082019050919050565b6000620063f6602d836200715d565b91507f5061796d656e7452656769737472793a204552433230546f6b656e207472616e60008301527f73666572207265766572746564000000000000000000000000000000000000006020830152604082019050919050565b60006200645e6026836200715d565b91507f477561726465643a2074782e6f726967696e206973206e6f742074686520677560008301527f61726469616e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000620064c6601f836200715d565b91507f5061796d656e7452656769737472793a20696e76616c696420616d6f756e74006000830152602082019050919050565b6000620065086024836200715d565b91507f5061796d656e7452656769737472793a206465706f7369742065786974206c6f60008301527f636b6564000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000620065706027836200715d565b91507f5061796d656e7452656769737472793a20696e76616c6964207769746864726160008301527f772076616c7565000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000620065d86029836200715d565b91507f5061796d656e7452656769737472793a20696e76616c69642073656e6465722060008301527f7369676e617475726500000000000000000000000000000000000000000000006020830152604082019050919050565b600062006640601f836200715d565b91507f477561726465643a20677561726469616e20646f65736e2774206578697374006000830152602082019050919050565b600062006682601e836200715d565b91507f536166654d6174684c69623a206164646974696f6e206f766572666c6f7700006000830152602082019050919050565b6000620066c46020836200715d565b91507f477561726465643a20677561726469616e20616c7265616479206578697374736000830152602082019050919050565b600062006706601b836200715d565b91507f477561726465643a2063616e6e6f742072656d6f76652073656c6600000000006000830152602082019050919050565b600062006748601d836200715d565b91507f42797465734c69623a20696e76616c69642064617461206c656e6774680000006000830152602082019050919050565b60006200678a602b836200715d565b91507f5061796d656e7452656769737472793a20696e76616c6964206775617264696160008301527f6e207369676e61747572650000000000000000000000000000000000000000006020830152604082019050919050565b620067ee8162007278565b82525050565b62006809620068038262007278565b620073a1565b82525050565b6200681a8162007282565b82525050565b60006200682e828462005f94565b60148201915081905092915050565b60006200684b828762005f94565b6014820191506200685d828662005f94565b6014820191506200686f828562005f94565b60148201915062006881828462005fec565b60208201915081905095945050505050565b6000620068a1828962005f94565b601482019150620068b3828862005f94565b601482019150620068c5828762005f94565b601482019150620068d7828662005fec565b602082019150620068e98285620067f4565b602082019150620068fb8284620067f4565b602082019150819050979650505050505050565b60006200691d828662005f94565b6014820191506200692f828562005f94565b601482019150620069418284620067f4565b602082019150819050949350505050565b600062006960828762005fc0565b60018201915062006972828662005f94565b60148201915062006984828562005fec565b60208201915062006996828462005fec565b60208201915081905095945050505050565b6000620069b5826200615b565b9150620069c3828462005fec565b60208201915081905092915050565b6000620069e08287620067f4565b602082019150620069f2828662005f94565b60148201915062006a04828562005fec565b60208201915062006a16828462006048565b915081905095945050505050565b600060208201905062006a3b600083018462005f83565b92915050565b600060208201905062006a58600083018462005f72565b92915050565b600060408201905062006a75600083018562005f72565b62006a84602083018462005f83565b9392505050565b600060408201905062006aa2600083018562005f83565b62006ab1602083018462005f83565b9392505050565b600060608201905062006acf600083018662005f83565b62006ade602083018562005f83565b62006aed604083018462005f83565b949350505050565b600060808201905062006b0c600083018762005f83565b62006b1b602083018662005f83565b62006b2a604083018562005f83565b62006b396060830184620067e3565b95945050505050565b600060608201905062006b59600083018662005f83565b62006b68602083018562005f83565b62006b776040830184620067e3565b949350505050565b600060608201905062006b96600083018662005f83565b62006ba5602083018562005fdb565b62006bb46040830184620067e3565b949350505050565b600060608201905062006bd3600083018662005f83565b62006be26020830185620060a1565b818103604083015262006bf6818462006007565b9050949350505050565b600060408201905062006c17600083018562005f83565b62006c266020830184620067e3565b9392505050565b600060608201905062006c44600083018662005f83565b62006c536020830185620067e3565b818103604083015262006c67818462006007565b9050949350505050565b600060208201905062006c88600083018462005faf565b92915050565b600060208201905062006ca5600083018462005fdb565b92915050565b600060c08201905062006cc2600083018962005fdb565b62006cd1602083018862005f83565b62006ce0604083018762005f83565b62006cef606083018662005f83565b62006cfe608083018562005fdb565b62006d0d60a0830184620067e3565b979650505050505050565b600060408201905062006d2f600083018562005fdb565b62006d3e6020830184620067e3565b9392505050565b600060608201905062006d5c600083018662005fdb565b62006d6b6020830185620067e3565b62006d7a6040830184620067e3565b949350505050565b600060808201905062006d99600083018762005fdb565b62006da860208301866200680f565b62006db7604083018562005fdb565b62006dc6606083018462005fdb565b95945050505050565b600060208201905062006de660008301846200607f565b92915050565b600060208201905062006e03600083018462006090565b92915050565b6000602082019050818103600083015262006e258184620060b2565b905092915050565b6000602082019050818103600083015262006e4881620060f3565b9050919050565b6000602082019050818103600083015262006e6a816200619d565b9050919050565b6000602082019050818103600083015262006e8c81620061df565b9050919050565b6000602082019050818103600083015262006eae8162006247565b9050919050565b6000602082019050818103600083015262006ed081620062af565b9050919050565b6000602082019050818103600083015262006ef28162006317565b9050919050565b6000602082019050818103600083015262006f14816200637f565b9050919050565b6000602082019050818103600083015262006f3681620063e7565b9050919050565b6000602082019050818103600083015262006f58816200644f565b9050919050565b6000602082019050818103600083015262006f7a81620064b7565b9050919050565b6000602082019050818103600083015262006f9c81620064f9565b9050919050565b6000602082019050818103600083015262006fbe8162006561565b9050919050565b6000602082019050818103600083015262006fe081620065c9565b9050919050565b60006020820190508181036000830152620070028162006631565b9050919050565b60006020820190508181036000830152620070248162006673565b9050919050565b600060208201905081810360008301526200704681620066b5565b9050919050565b600060208201905081810360008301526200706881620066f7565b9050919050565b600060208201905081810360008301526200708a8162006739565b9050919050565b60006020820190508181036000830152620070ac816200677b565b9050919050565b6000602082019050620070ca6000830184620067e3565b92915050565b6000604051905081810181811067ffffffffffffffff82111715620070f457600080fd5b8060405250919050565b600067ffffffffffffffff8211156200711657600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600080858511156200718a57600080fd5b838611156200719857600080fd5b6001850283019150848603905094509492505050565b6000620071bb8262007258565b9050919050565b60008115159050919050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b60006200723d82620071ae565b9050919050565b60006200725182620071ae565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006200729c8262007307565b9050919050565b6000620072b082620072b7565b9050919050565b6000620072c48262007258565b9050919050565b6000620072d882620072df565b9050919050565b6000620072ec8262007258565b9050919050565b6000620073008262007278565b9050919050565b600062007314826200731b565b9050919050565b6000620073288262007258565b9050919050565b60005b838110156200734f57808201518184015260208101905062007332565b838111156200735f576000848401525b50505050565b600062007372826200738d565b9050919050565b6000819050919050565b6000819050919050565b60006200739a82620073bc565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b620073d481620071ae565b8114620073e057600080fd5b50565b620073ee81620071c2565b8114620073fa57600080fd5b50565b6200740881620071fa565b81146200741457600080fd5b50565b620074228162007204565b81146200742e57600080fd5b50565b6200743c8162007230565b81146200744857600080fd5b50565b620074568162007244565b81146200746257600080fd5b50565b620074708162007278565b81146200747c57600080fd5b5056fe608060405261001e674c05ed6aa1cd281960c01b61009760201b60201c565b610038675db0dfd7018850c360c01b61009760201b60201c565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610092679098f39fea0730f660c01b61009a60201b60201c565b61009d565b50565b50565b61080c806100ac6000396000f3fe60806040526004361061007f5760003560e01c8063bd04d1391161004e578063bd04d139146102f8578063c478196d14610364578063d1c43eae146103ba578063f77c47911461041057610086565b806326bebb521461008b5780633f579f42146100f7578063550648ff1461022057806356c2fc6c1461028c57610086565b3661008657005b600080fd5b34801561009757600080fd5b506100df600480360360208110156100ae57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610451565b60405180821515815260200191505060405180910390f35b34801561010357600080fd5b506101a56004803603606081101561011a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561016157600080fd5b82018360208201111561017357600080fd5b8035906020019184600183028401116401000000008311171561019557600080fd5b9091929391929390505050610458565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e55780820151818401526020810190506101ca565b50505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022c57600080fd5b506102746004803603602081101561024357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061078c565b60405180821515815260200191505060405180910390f35b34801561029857600080fd5b506102e0600480360360208110156102af57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610793565b60405180821515815260200191505060405180910390f35b34801561030457600080fd5b5061034c6004803603602081101561031b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061079e565b60405180821515815260200191505060405180910390f35b34801561037057600080fd5b506103b86004803603602081101561038757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107a9565b005b3480156103c657600080fd5b5061040e600480360360208110156103dd57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107ac565b005b34801561041c57600080fd5b506104256107af565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000919050565b606061046e6730a6ad52e198db9760c01b6107a9565b61048267f6266a592c249da560c01b6107ac565b6104966728279893f8537e1960c01b6107ac565b6104aa67d300d0a9ecbe6cac60c01b6107ac565b6104be678d5c0caa285e3ec560c01b6107ac565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610562576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806107d4602c913960400191505060405180910390fd5b6105766718b2e4dd03bc759a60c01b6107ac565b61058a67f8b65e28b897a44f60c01b6107ac565b61059e67a0e46df01f8c97cb60c01b6107a9565b6105b267aa5eebb2652f143c60c01b6107a9565b6105c6676d9ffa8149f3dea060c01b6107a9565b6105da678cb9bb07d4779f7e60c01b6107a9565b60606105f067f5ddfa157613111160c01b6107a9565b610604676c82c2c1207b3b7760c01b6107a9565b600061061a673ff4b340667b124160c01b6107a9565b8673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d8060008114610686576040519150601f19603f3d011682016040523d82523d6000602084013e61068b565b606091505b5080935081925050506106a86756fbd48014b71d8b60c01b6107a9565b6106bc67e31d8723036de13060c01b6107a9565b6106d067d6b834fbc1dbf84c60c01b6107a9565b80610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b61075767836ca2ae34585e2360c01b6107a9565b61076b67fc0747958022859a60c01b6107a9565b61077f67127f08829e3f368c60c01b6107a9565b8192505050949350505050565b6000919050565b600060019050919050565b600060019050919050565b50565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a536166654d6174684c69623a207375627472616374696f6e206f766572666c6f77a164736f6c634300060c000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/PersonalAccountImplementationV1.json b/artifacts/PersonalAccountImplementationV1.json index 9c4abb3d..47c975c2 100644 --- a/artifacts/PersonalAccountImplementationV1.json +++ b/artifacts/PersonalAccountImplementationV1.json @@ -21,6 +21,210 @@ "name": "Initialized", "type": "event" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_098c0657", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__28344ffb", + "type": "bytes8" + } + ], + "name": "c_28344ffb", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__2860b96a", + "type": "bytes8" + } + ], + "name": "c_2860b96a", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__4467154e", + "type": "bytes8" + } + ], + "name": "c_4467154e", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_false098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__28344ffb", + "type": "bytes8" + } + ], + "name": "c_false28344ffb", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__2860b96a", + "type": "bytes8" + } + ], + "name": "c_false2860b96a", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__4467154e", + "type": "bytes8" + } + ], + "name": "c_false4467154e", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_true098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__28344ffb", + "type": "bytes8" + } + ], + "name": "c_true28344ffb", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__2860b96a", + "type": "bytes8" + } + ], + "name": "c_true2860b96a", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__4467154e", + "type": "bytes8" + } + ], + "name": "c_true4467154e", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { @@ -244,8 +448,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610caa806100606000396000f3fe608060405234801561001057600080fd5b50600436106100925760003560e01c8063249cb3fa11610066578063249cb3fa1461047c578063392e53cd146104de5780637b103999146104fe578063c4d66de814610532578063f23a6e611461057657610092565b806223de2914610097578063150b7a02146101cf5780631626ba7e146102c557806320c13b0b1461037b575b600080fd5b6101cd600480360360c08110156100ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561013457600080fd5b82018360208201111561014657600080fd5b8035906020019184600183028401116401000000008311171561016857600080fd5b90919293919293908035906020019064010000000081111561018957600080fd5b82018360208201111561019b57600080fd5b803590602001918460018302840111640100000000831117156101bd57600080fd5b9091929391929390505050610676565b005b610290600480360360808110156101e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561024c57600080fd5b82018360208201111561025e57600080fd5b8035906020019184600183028401116401000000008311171561028057600080fd5b9091929391929390505050610680565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b610346600480360360408110156102db57600080fd5b81019080803590602001909291908035906020019064010000000081111561030257600080fd5b82018360208201111561031457600080fd5b8035906020019184600183028401116401000000008311171561033657600080fd5b9091929391929390505050610695565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6104476004803603604081101561039157600080fd5b81019080803590602001906401000000008111156103ae57600080fd5b8201836020820111156103c057600080fd5b803590602001918460018302840111640100000000831117156103e257600080fd5b90919293919293908035906020019064010000000081111561040357600080fd5b82018360208201111561041557600080fd5b8035906020019184600183028401116401000000008311171561043757600080fd5b90919293919293905050506107f9565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6104c86004803603604081101561049257600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098a565b6040518082815260200191505060405180910390f35b6104e6610a66565b60405180821515815260200191505060405180910390f35b610506610abc565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105746004803603602081101561054857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ae2565b005b610641600480360360a081101561058c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001906401000000008111156105fd57600080fd5b82018360208201111561060f57600080fd5b8035906020019184600183028401116401000000008311171561063157600080fd5b9091929391929390505050610c58565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b5050505050505050565b600063150b7a0260e01b905095945050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1e382ce308686866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509550505050505060206040518083038186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d602081101561078657600080fd5b81019080805190602001909291905050506107a85763ffffffff60e01b6107f0565b60405160200180807f697356616c69645369676e617475726528627974657333322c62797465732900815250601f019050604051602081830303815290604052805190602001205b90509392505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663124e9eb330878787876040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f82011690508083019250505097505050505050505060206040518083038186803b1580156108ec57600080fd5b505afa158015610900573d6000803e3d6000fd5b505050506040513d602081101561091657600080fd5b81019080805190602001909291905050506109385763ffffffff60e01b610980565b60405160200180807f697356616c69645369676e61747572652862797465732c627974657329000000815250601d019050604051602081830303815290604052805190602001205b9050949350505050565b60008060405160200180807f455243373737546f6b656e73526563697069656e74000000000000000000000081525060150190506040516020818303038152906040528051906020012084148015610a0d57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610a5c5760405160200180807f455243313832305f4143434550545f4d4147494300000000000000000000000081525060140190506040516020818303038152906040528051906020012090505b8091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610b86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180610c6f602f913960400191505060405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600063f23a6e6160e01b9050969550505050505056fe496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a6572a164736f6c634300060c000a", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100925760003560e01c8063249cb3fa11610066578063249cb3fa1461047c578063392e53cd146104de5780637b103999146104fe578063c4d66de814610532578063f23a6e611461057657610092565b806223de2914610097578063150b7a02146101cf5780631626ba7e146102c557806320c13b0b1461037b575b600080fd5b6101cd600480360360c08110156100ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561013457600080fd5b82018360208201111561014657600080fd5b8035906020019184600183028401116401000000008311171561016857600080fd5b90919293919293908035906020019064010000000081111561018957600080fd5b82018360208201111561019b57600080fd5b803590602001918460018302840111640100000000831117156101bd57600080fd5b9091929391929390505050610676565b005b610290600480360360808110156101e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561024c57600080fd5b82018360208201111561025e57600080fd5b8035906020019184600183028401116401000000008311171561028057600080fd5b9091929391929390505050610680565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b610346600480360360408110156102db57600080fd5b81019080803590602001909291908035906020019064010000000081111561030257600080fd5b82018360208201111561031457600080fd5b8035906020019184600183028401116401000000008311171561033657600080fd5b9091929391929390505050610695565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6104476004803603604081101561039157600080fd5b81019080803590602001906401000000008111156103ae57600080fd5b8201836020820111156103c057600080fd5b803590602001918460018302840111640100000000831117156103e257600080fd5b90919293919293908035906020019064010000000081111561040357600080fd5b82018360208201111561041557600080fd5b8035906020019184600183028401116401000000008311171561043757600080fd5b90919293919293905050506107f9565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6104c86004803603604081101561049257600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098a565b6040518082815260200191505060405180910390f35b6104e6610a66565b60405180821515815260200191505060405180910390f35b610506610abc565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105746004803603602081101561054857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ae2565b005b610641600480360360a081101561058c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001906401000000008111156105fd57600080fd5b82018360208201111561060f57600080fd5b8035906020019184600183028401116401000000008311171561063157600080fd5b9091929391929390505050610c58565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b5050505050505050565b600063150b7a0260e01b905095945050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1e382ce308686866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509550505050505060206040518083038186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d602081101561078657600080fd5b81019080805190602001909291905050506107a85763ffffffff60e01b6107f0565b60405160200180807f697356616c69645369676e617475726528627974657333322c62797465732900815250601f019050604051602081830303815290604052805190602001205b90509392505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663124e9eb330878787876040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f82011690508083019250505097505050505050505060206040518083038186803b1580156108ec57600080fd5b505afa158015610900573d6000803e3d6000fd5b505050506040513d602081101561091657600080fd5b81019080805190602001909291905050506109385763ffffffff60e01b610980565b60405160200180807f697356616c69645369676e61747572652862797465732c627974657329000000815250601d019050604051602081830303815290604052805190602001205b9050949350505050565b60008060405160200180807f455243373737546f6b656e73526563697069656e74000000000000000000000081525060150190506040516020818303038152906040528051906020012084148015610a0d57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610a5c5760405160200180807f455243313832305f4143434550545f4d4147494300000000000000000000000081525060140190506040516020818303038152906040528051906020012090505b8091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610b86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180610c6f602f913960400191505060405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600063f23a6e6160e01b9050969550505050505056fe496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a6572a164736f6c634300060c000a", + "bytecode": "0x608060405234801561001057600080fd5b5061002b67bcc9be562f8a4b0a60c01b6100be60201b60201c565b61004567579ae7209daca85260c01b6100be60201b60201c565b326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061009f6729f26e2a831f76bd60c01b6100c160201b60201c565b6100b9676ec03405cf524b4d60c01b6100c460201b60201c565b6100c7565b50565b50565b50565b61153f806100d66000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637b103999116100b8578063b8919b571161007c578063b8919b571461088c578063c4543305146108eb578063c4d66de81461094a578063d77d07021461098e578063d84fa10c146109d7578063f23a6e6114610a3657610136565b80637b103999146107085780638116df491461073c57806387bfe79d1461079b578063a42ea708146107fa578063b851f6f91461084357610136565b8063221523e5116100ff578063221523e51461057f578063249cb3fa146105de578063392e53cd146106405780633e260b131461066057806344f9c9ec146106a957610136565b806223de291461013b5780630effa61f14610273578063150b7a02146102d25780631626ba7e146103c857806320c13b0b1461047e575b600080fd5b610271600480360360c081101561015157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156101d857600080fd5b8201836020820111156101ea57600080fd5b8035906020019184600183028401116401000000008311171561020c57600080fd5b90919293919293908035906020019064010000000081111561022d57600080fd5b82018360208201111561023f57600080fd5b8035906020019184600183028401116401000000008311171561026157600080fd5b9091929391929390505050610b36565b005b6102ba6004803603602081101561028957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b54565b60405180821515815260200191505060405180910390f35b610393600480360360808110156102e857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561034f57600080fd5b82018360208201111561036157600080fd5b8035906020019184600183028401116401000000008311171561038357600080fd5b9091929391929390505050610b5f565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b610449600480360360408110156103de57600080fd5b81019080803590602001909291908035906020019064010000000081111561040557600080fd5b82018360208201111561041757600080fd5b8035906020019184600183028401116401000000008311171561043957600080fd5b9091929391929390505050610bb0565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b61054a6004803603604081101561049457600080fd5b81019080803590602001906401000000008111156104b157600080fd5b8201836020820111156104c357600080fd5b803590602001918460018302840111640100000000831117156104e557600080fd5b90919293919293908035906020019064010000000081111561050657600080fd5b82018360208201111561051857600080fd5b8035906020019184600183028401116401000000008311171561053a57600080fd5b9091929391929390505050610d87565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6105c66004803603602081101561059557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610f8b565b60405180821515815260200191505060405180910390f35b61062a600480360360408110156105f457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f92565b6040518082815260200191505060405180910390f35b61064861113c565b60405180821515815260200191505060405180910390f35b6106a76004803603602081101561067657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506111cf565b005b6106f0600480360360208110156106bf57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506111d2565b60405180821515815260200191505060405180910390f35b6107106111dd565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107836004803603602081101561075257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611203565b60405180821515815260200191505060405180910390f35b6107e2600480360360208110156107b157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061120e565b60405180821515815260200191505060405180910390f35b6108416004803603602081101561081057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611215565b005b61088a6004803603602081101561085957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611218565b005b6108d3600480360360208110156108a257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061121b565b60405180821515815260200191505060405180910390f35b6109326004803603602081101561090157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611222565b60405180821515815260200191505060405180910390f35b61098c6004803603602081101561096057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061122d565b005b6109d5600480360360208110156109a457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506114a7565b005b610a1e600480360360208110156109ed57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506114aa565b60405180821515815260200191505060405180910390f35b610b01600480360360a0811015610a4c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190640100000000811115610abd57600080fd5b820183602082011115610acf57600080fd5b80359060200191846001830284011164010000000083111715610af157600080fd5b90919293919293905050506114b1565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b610b4a67ce47c0f946eadb1860c01b611218565b5050505050505050565b600060019050919050565b6000610b7567b827fecf1e33001460c01b611218565b610b8967b3558d27713bcbc360c01b611218565b610b9d67ca5809ab03b36cc360c01b611218565b63150b7a0260e01b905095945050505050565b6000610bc667d15cb231db01bd9560c01b611218565b610bda67cf444c026e53d2b560c01b611218565b610bee67feb865187e703ce360c01b611218565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1e382ce308686866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509550505050505060206040518083038186803b158015610cb357600080fd5b505afa158015610cc7573d6000803e3d6000fd5b505050506040513d6020811015610cdd57600080fd5b81019080805190602001909291905050508015610d0a5750610d0967dcb61cbea4e09a8a60c01b610b54565b5b80610d255750610d2467597b2a0b23f7987b60c01b61121b565b5b610d365763ffffffff60e01b610d7e565b60405160200180807f697356616c69645369676e617475726528627974657333322c62797465732900815250601f019050604051602081830303815290604052805190602001205b90509392505050565b6000610d9d679d53a108f4152ee460c01b611218565b610db1678f46380630213e2760c01b611218565b610dc5670444693b6dda2f5360c01b611218565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663124e9eb330878787876040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f82011690508083019250505097505050505050505060206040518083038186803b158015610eb657600080fd5b505afa158015610eca573d6000803e3d6000fd5b505050506040513d6020811015610ee057600080fd5b81019080805190602001909291905050508015610f0d5750610f0c67597e334f5a972f1e60c01b610b54565b5b80610f285750610f2767624be475bd07a4c360c01b61121b565b5b610f395763ffffffff60e01b610f81565b60405160200180807f697356616c69645369676e61747572652862797465732c627974657329000000815250601d019050604051602081830303815290604052805190602001205b9050949350505050565b6000919050565b6000610fa8674fa492bc3d866f9660c01b611218565b610fbc67f11658511bdad90960c01b611218565b610fd067aea7b4d1358b312860c01b611218565b6000610fe667c7d74f3aaa7aa17a60c01b611218565b610ffa670b029f119a0e101260c01b611218565b60405160200180807f455243373737546f6b656e73526563697069656e7400000000000000000000008152506015019050604051602081830303815290604052805190602001208414801561107a57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156110f55761109367159f49977ceb711e60c01b611218565b6110a767a1697c883c2b4d5f60c01b611218565b60405160200180807f455243313832305f4143434550545f4d41474943000000000000000000000000815250601401905060405160208183030381529060405280519060200120905061110a565b6111096740bc089d08a45f7660c01b611218565b5b61111e675edb1ebe087f56d760c01b611218565b61113267b6341297d7ddf48460c01b611218565b8091505092915050565b600061115267e29fe2f351ca6b2760c01b6111cf565b611166676f5dd3f08b97747760c01b6111cf565b61117a673a9488d62818322a60c01b6111cf565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b600060019050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b6000919050565b50565b50565b6000919050565b600060019050919050565b611241678fa2e2799025577f60c01b611218565b61125567d2ba19feb39e0b7f60c01b6111cf565b611269670c5ad53cdb9edd1560c01b6111cf565b61127d67b6b588d2ebb9ae6960c01b6111cf565b61129167c4ec9a90a885875260c01b6111cf565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180611504602f913960400191505060405180910390fd5b61134967c3785ba1534db95460c01b6111cf565b61135d67e4202927591248ef60c01b6111cf565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506113b267531cfa2817fbdc8660c01b6111cf565b6113c6670fe7483554c7d7f060c01b611218565b6113da671ba251afbdd08eb960c01b611218565b6113ee67e4b4698cdfd724ee60c01b611218565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506114436701520f419008b58e60c01b6111cf565b6114576775364c04848b013b60c01b6111cf565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b50565b6000919050565b60006114c76773b65ea4d003e8c060c01b611218565b6114db67efee7b06625db93660c01b611218565b6114ef6733114e923245121260c01b611218565b63f23a6e6160e01b9050969550505050505056fe496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a6572a164736f6c634300060c000a", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101365760003560e01c80637b103999116100b8578063b8919b571161007c578063b8919b571461088c578063c4543305146108eb578063c4d66de81461094a578063d77d07021461098e578063d84fa10c146109d7578063f23a6e6114610a3657610136565b80637b103999146107085780638116df491461073c57806387bfe79d1461079b578063a42ea708146107fa578063b851f6f91461084357610136565b8063221523e5116100ff578063221523e51461057f578063249cb3fa146105de578063392e53cd146106405780633e260b131461066057806344f9c9ec146106a957610136565b806223de291461013b5780630effa61f14610273578063150b7a02146102d25780631626ba7e146103c857806320c13b0b1461047e575b600080fd5b610271600480360360c081101561015157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156101d857600080fd5b8201836020820111156101ea57600080fd5b8035906020019184600183028401116401000000008311171561020c57600080fd5b90919293919293908035906020019064010000000081111561022d57600080fd5b82018360208201111561023f57600080fd5b8035906020019184600183028401116401000000008311171561026157600080fd5b9091929391929390505050610b36565b005b6102ba6004803603602081101561028957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b54565b60405180821515815260200191505060405180910390f35b610393600480360360808110156102e857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561034f57600080fd5b82018360208201111561036157600080fd5b8035906020019184600183028401116401000000008311171561038357600080fd5b9091929391929390505050610b5f565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b610449600480360360408110156103de57600080fd5b81019080803590602001909291908035906020019064010000000081111561040557600080fd5b82018360208201111561041757600080fd5b8035906020019184600183028401116401000000008311171561043957600080fd5b9091929391929390505050610bb0565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b61054a6004803603604081101561049457600080fd5b81019080803590602001906401000000008111156104b157600080fd5b8201836020820111156104c357600080fd5b803590602001918460018302840111640100000000831117156104e557600080fd5b90919293919293908035906020019064010000000081111561050657600080fd5b82018360208201111561051857600080fd5b8035906020019184600183028401116401000000008311171561053a57600080fd5b9091929391929390505050610d87565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6105c66004803603602081101561059557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610f8b565b60405180821515815260200191505060405180910390f35b61062a600480360360408110156105f457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f92565b6040518082815260200191505060405180910390f35b61064861113c565b60405180821515815260200191505060405180910390f35b6106a76004803603602081101561067657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506111cf565b005b6106f0600480360360208110156106bf57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506111d2565b60405180821515815260200191505060405180910390f35b6107106111dd565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107836004803603602081101561075257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611203565b60405180821515815260200191505060405180910390f35b6107e2600480360360208110156107b157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061120e565b60405180821515815260200191505060405180910390f35b6108416004803603602081101561081057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611215565b005b61088a6004803603602081101561085957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611218565b005b6108d3600480360360208110156108a257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061121b565b60405180821515815260200191505060405180910390f35b6109326004803603602081101561090157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611222565b60405180821515815260200191505060405180910390f35b61098c6004803603602081101561096057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061122d565b005b6109d5600480360360208110156109a457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506114a7565b005b610a1e600480360360208110156109ed57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506114aa565b60405180821515815260200191505060405180910390f35b610b01600480360360a0811015610a4c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190640100000000811115610abd57600080fd5b820183602082011115610acf57600080fd5b80359060200191846001830284011164010000000083111715610af157600080fd5b90919293919293905050506114b1565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b610b4a67ce47c0f946eadb1860c01b611218565b5050505050505050565b600060019050919050565b6000610b7567b827fecf1e33001460c01b611218565b610b8967b3558d27713bcbc360c01b611218565b610b9d67ca5809ab03b36cc360c01b611218565b63150b7a0260e01b905095945050505050565b6000610bc667d15cb231db01bd9560c01b611218565b610bda67cf444c026e53d2b560c01b611218565b610bee67feb865187e703ce360c01b611218565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1e382ce308686866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509550505050505060206040518083038186803b158015610cb357600080fd5b505afa158015610cc7573d6000803e3d6000fd5b505050506040513d6020811015610cdd57600080fd5b81019080805190602001909291905050508015610d0a5750610d0967dcb61cbea4e09a8a60c01b610b54565b5b80610d255750610d2467597b2a0b23f7987b60c01b61121b565b5b610d365763ffffffff60e01b610d7e565b60405160200180807f697356616c69645369676e617475726528627974657333322c62797465732900815250601f019050604051602081830303815290604052805190602001205b90509392505050565b6000610d9d679d53a108f4152ee460c01b611218565b610db1678f46380630213e2760c01b611218565b610dc5670444693b6dda2f5360c01b611218565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663124e9eb330878787876040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f82011690508083019250505097505050505050505060206040518083038186803b158015610eb657600080fd5b505afa158015610eca573d6000803e3d6000fd5b505050506040513d6020811015610ee057600080fd5b81019080805190602001909291905050508015610f0d5750610f0c67597e334f5a972f1e60c01b610b54565b5b80610f285750610f2767624be475bd07a4c360c01b61121b565b5b610f395763ffffffff60e01b610f81565b60405160200180807f697356616c69645369676e61747572652862797465732c627974657329000000815250601d019050604051602081830303815290604052805190602001205b9050949350505050565b6000919050565b6000610fa8674fa492bc3d866f9660c01b611218565b610fbc67f11658511bdad90960c01b611218565b610fd067aea7b4d1358b312860c01b611218565b6000610fe667c7d74f3aaa7aa17a60c01b611218565b610ffa670b029f119a0e101260c01b611218565b60405160200180807f455243373737546f6b656e73526563697069656e7400000000000000000000008152506015019050604051602081830303815290604052805190602001208414801561107a57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156110f55761109367159f49977ceb711e60c01b611218565b6110a767a1697c883c2b4d5f60c01b611218565b60405160200180807f455243313832305f4143434550545f4d41474943000000000000000000000000815250601401905060405160208183030381529060405280519060200120905061110a565b6111096740bc089d08a45f7660c01b611218565b5b61111e675edb1ebe087f56d760c01b611218565b61113267b6341297d7ddf48460c01b611218565b8091505092915050565b600061115267e29fe2f351ca6b2760c01b6111cf565b611166676f5dd3f08b97747760c01b6111cf565b61117a673a9488d62818322a60c01b6111cf565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b600060019050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b6000919050565b50565b50565b6000919050565b600060019050919050565b611241678fa2e2799025577f60c01b611218565b61125567d2ba19feb39e0b7f60c01b6111cf565b611269670c5ad53cdb9edd1560c01b6111cf565b61127d67b6b588d2ebb9ae6960c01b6111cf565b61129167c4ec9a90a885875260c01b6111cf565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180611504602f913960400191505060405180910390fd5b61134967c3785ba1534db95460c01b6111cf565b61135d67e4202927591248ef60c01b6111cf565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506113b267531cfa2817fbdc8660c01b6111cf565b6113c6670fe7483554c7d7f060c01b611218565b6113da671ba251afbdd08eb960c01b611218565b6113ee67e4b4698cdfd724ee60c01b611218565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506114436701520f419008b58e60c01b6111cf565b6114576775364c04848b013b60c01b6111cf565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b50565b6000919050565b60006114c76773b65ea4d003e8c060c01b611218565b6114db67efee7b06625db93660c01b611218565b6114ef6733114e923245121260c01b611218565b63f23a6e6160e01b9050969550505050505056fe496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a6572a164736f6c634300060c000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/PersonalAccountRegistry.json b/artifacts/PersonalAccountRegistry.json index dbd072c8..1f3aa06d 100644 --- a/artifacts/PersonalAccountRegistry.json +++ b/artifacts/PersonalAccountRegistry.json @@ -286,6 +286,312 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_098c0657", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__0b6945c4", + "type": "bytes8" + } + ], + "name": "c_0b6945c4", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__279b00a1", + "type": "bytes8" + } + ], + "name": "c_279b00a1", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9649d652", + "type": "bytes8" + } + ], + "name": "c_9649d652", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__bf6efb80", + "type": "bytes8" + } + ], + "name": "c_bf6efb80", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__d18be0f9", + "type": "bytes8" + } + ], + "name": "c_d18be0f9", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_false098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__0b6945c4", + "type": "bytes8" + } + ], + "name": "c_false0b6945c4", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__279b00a1", + "type": "bytes8" + } + ], + "name": "c_false279b00a1", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9649d652", + "type": "bytes8" + } + ], + "name": "c_false9649d652", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__bf6efb80", + "type": "bytes8" + } + ], + "name": "c_falsebf6efb80", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__d18be0f9", + "type": "bytes8" + } + ], + "name": "c_falsed18be0f9", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_true098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__0b6945c4", + "type": "bytes8" + } + ], + "name": "c_true0b6945c4", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__279b00a1", + "type": "bytes8" + } + ], + "name": "c_true279b00a1", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9649d652", + "type": "bytes8" + } + ], + "name": "c_true9649d652", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__bf6efb80", + "type": "bytes8" + } + ], + "name": "c_truebf6efb80", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__d18be0f9", + "type": "bytes8" + } + ], + "name": "c_trued18be0f9", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { @@ -649,8 +955,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5032600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506144d1806100616000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806390482d72116100b8578063d0f710d61161007c578063d0f710d61461075e578063da9fc1ae146107f7578063db63f5821461083b578063e1e382ce1461089f578063e5c7278f14610958578063f4876c7414610a1b57610142565b806390482d7214610545578063a526d83b146105fe578063bb890d3f14610642578063cade6a5d146106bc578063d089e11a1461072a57610142565b80631a8414031161010a5780631a841403146103515780633164b5e1146103bf57806334d323a414610419578063392e53cd1461049d57806343013c24146104bd578063714041561461050157610142565b80630900f010146101475780630c68ba211461018b57806311464fbe146101e5578063116191b614610219578063124e9eb31461024d575b600080fd5b6101896004803603602081101561015d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a7f565b005b6101cd600480360360208110156101a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b2e565b60405180821515815260200191505060405180910390f35b6101ed610b83565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610221610ba9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103396004803603606081101561026357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156102a057600080fd5b8201836020820111156102b257600080fd5b803590602001918460018302840111640100000000831117156102d457600080fd5b9091929391929390803590602001906401000000008111156102f557600080fd5b82018360208201111561030757600080fd5b8035906020019184600183028401116401000000008311171561032957600080fd5b9091929391929390505050610bcf565b60405180821515815260200191505060405180910390f35b6103bd6004803603606081101561036757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c88565b005b610401600480360360208110156103d557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ef3565b60405180821515815260200191505060405180910390f35b6104856004803603606081101561042f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f4c565b60405180821515815260200191505060405180910390f35b6104a561103a565b60405180821515815260200191505060405180910390f35b6104ff600480360360208110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611092565b005b6105436004803603602081101561051757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110aa565b005b6105fc6004803603606081101561055b57600080fd5b810190808035906020019064010000000081111561057857600080fd5b82018360208201111561058a57600080fd5b803590602001918460208302840111640100000000831117156105ac57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611370565b005b6106406004803603602081101561061457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611508565b005b6106a46004803603604081101561065857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115b5565b60405180821515815260200191505060405180910390f35b6106fe600480360360208110156106d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115c9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107326115db565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107df6004803603604081101561077457600080fd5b81019080803590602001909291908035906020019064010000000081111561079b57600080fd5b8201836020820111156107ad57600080fd5b803590602001918460018302840111640100000000831117156107cf57600080fd5b9091929391929390505050611601565b60405180821515815260200191505060405180910390f35b6108396004803603602081101561080d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061165a565b005b61089d6004803603604081101561085157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611670565b005b610940600480360360608110156108b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156108fc57600080fd5b82018360208201111561090e57600080fd5b8035906020019184600183028401116401000000008311171561093057600080fd5b9091929391929390505050611905565b60405180821515815260200191505060405180910390f35b610a196004803603608081101561096e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109d557600080fd5b8201836020820111156109e757600080fd5b80359060200191846001830284011164010000000083111715610a0957600080fd5b9091929391929390505050611971565b005b610a7d60048036036040811015610a3157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119de565b005b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806143e46026913960400191505060405180910390fd5b610b2b816001611d0d565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610c7d86610c7885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610c6a89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611e4e565b611fb790919063ffffffff16565b612087565b905095945050505050565b610c918361223e565b50610c9b83612685565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d2f57610d29833283600067ffffffffffffffff81118015610cee57600080fd5b506040519080825280601f01601f191660200182016040528015610d215781602001600182028036833780820191505090505b506000612786565b50610e5d565b6060610dd38484600063a9059cbb60e01b3287604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506000612786565b9050600081511115610e5b57808060200190516020811015610df457600080fd5b8101908080519060200190929190505050610e5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603581526020018061440a6035913960400191505060405180910390fd5b5b505b7feb5511fbef89123439f12682f0e9d0fc9696913b26eee55434c77d62c30aa7ca83328484604051808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390a1505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff169050919050565b60008060009050610f5d8585612087565b15610f6b576001905061102f565b61102c83600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050612c5490919063ffffffff16565b90505b809150509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b61109b8161223e565b506110a7816001612ca3565b50565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661114b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806143e46026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614156111ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f477561726465643a2063616e6e6f742072656d6f76652073656c66000000000081525060200191505060405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166112ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f477561726465643a20677561726469616e20646f65736e27742065786973740081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b3282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611416576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180614318602f913960400191505060405180910390fd5b6000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506114a2848480806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050612f05565b6114ac3083612f5d565b6114b581612f77565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150505050565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166115a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806143e46026913960400191505060405180910390fd5b6115b281612fbb565b50565b60006115c18383612087565b905092915050565b60006115d4826131e2565b9050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006116518484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613238565b90509392505050565b6116638161223e565b5061166d81612685565b50565b600061167b8361223e565b90508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611702576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806143b9602b913960400191505060405180910390fd5b6117b9600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506132a5565b61180e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806142b7602c913960400191505060405180910390fd5b43600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507f1ce3cbbc43ee231e5b950332f2b0b9dd7d349291a3ee411ce5c5c7ed745661bb8383604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1505050565b60006119678561196285858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505087611fb790919063ffffffff16565b612087565b9050949350505050565b61197a8561223e565b5061198485612685565b6119d685858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001612786565b505050505050565b6119e78261223e565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180614498602d913960400191505060405180910390fd5b611b25600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506132a5565b15611b7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018061446b602d913960400191505060405180910390fd5b6001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055506000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507f27e282f7712c5b4617277759c834b86d163dfc1aad25c8c3c5926a1c9e5644688282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b81526020018061421e603b913960400191505060405180910390fd5b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015611e4a577f70d9f5a076620216a6050e493f3ce69749de0b68fa4b839ba2518660ba8b9cf0600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b5050565b6000611e5a82516132b8565b826040516020018082805190602001908083835b60208310611e915780518252602082019150602081019050602083039250611e6e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405260405160200180807f19457468657265756d205369676e6564204d6573736167653a0a000000000000815250601a0183805190602001908083835b60208310611f235780518252602082019150602081019050602083039250611f00565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b60208310611f745780518252602082019150602081019050602083039250611f51565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052805190602001209050919050565b6000806000905060418351141561207d5760008060006020860151925060408601519150606086015160001a9050601b8160ff161015611ff857601b810190505b601b8160ff16148061200d5750601c8160ff16145b156120795760018782858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561206c573d6000803e3d6000fd5b5050506020604051035193505b5050505b8091505092915050565b600080600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16156121ac576000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154149050612234565b6000801b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154141561223357612202836131e2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505b5b8091505092915050565b6000806122496133ff565b9050600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16156123c0576000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154146123bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806142596038913960400191505060405180910390fd5b61267c565b6000801b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101541461245d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806142596038913960400191505060405180910390fd5b600081604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040528051906020012090506124aa81613410565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461252d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806142596038913960400191505060405180910390fd5b80600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055507f27e282f7712c5b4617277759c834b86d163dfc1aad25c8c3c5926a1c9e5644688483604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1505b80915050919050565b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1661278357612726600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546001613606565b506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055505b50565b6060600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561280e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806143476025913960400191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612893576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061443f602c913960400191505060405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612918576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806142916026913960400191505060405180910390fd5b60608673ffffffffffffffffffffffffffffffffffffffff16633f579f428787876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156129aa57808201518184015260208101905061298f565b50505050905090810190601f1680156129d75780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156129f857600080fd5b505af1158015612a0c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612a3657600080fd5b8101908080516040519392919084640100000000821115612a5657600080fd5b83820191506020820185811115612a6c57600080fd5b8251866001820283011164010000000082111715612a8957600080fd5b8083526020830192505050908051906020019080838360005b83811015612abd578082015181840152602081019050612aa2565b50505050905090810190601f168015612aea5780820380516001836020036101000a031916815260200191505b5060405250505090508215612c47577f99eeae1fb8801e2e878e060ec5e5b3557b3c4f8106e35d88cb573f293dae4e248787878785604051808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612ba1578082015181840152602081019050612b86565b50505050905090810190601f168015612bce5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015612c07578082015181840152602081019050612bec565b50505050905090810190601f168015612c345780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15b8091505095945050505050565b60008060009050836000015115612c9957600084602001511415612c7b5760019050612c98565b6000831415612c8d5760019050612c97565b8284602001511190505b5b5b8091505092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612d2257600080fd5b505afa158015612d36573d6000803e3d6000fd5b505050506040513d6020811015612d4c57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415612dca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061438e602b913960400191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663d784d426600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015612e5557600080fd5b505af1158015612e69573d6000803e3d6000fd5b505050508015612f01577feec27cdb8bd6f55c2c537deb52ab094a2437e85ef5197e6f064f90bff3ff563f82600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15b5050565b600081511415612f1d57612f1832612fbb565b612f5a565b60008151905060005b81811015612f5757612f4a838281518110612f3d57fe5b6020026020010151612fbb565b8080600101915050612f26565b50505b50565b612f6882600061375a565b612f73816000611d0d565b5050565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561305e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a2063616e6e6f74206164642030783020677561726469616e81525060200191505060405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561311d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a20677561726469616e20616c72656164792065786973747381525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b60008082604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b815260140191505060405160208183030381529060405280519060200120905061323081613410565b915050919050565b60008061324e8385611fb790919063ffffffff16565b90506000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b60006132b18243612c54565b9050919050565b60606000821415613300576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506133fa565b600082905060005b6000821461332a578080600101915050600a828161332257fe5b049150613308565b60608167ffffffffffffffff8111801561334357600080fd5b506040519080825280601f01601f1916602001820160405280156133765781602001600182028036833780820191505090505b50905060006001830390508593505b600084146133f257600a848161339757fe5b0660300160f81b828280600190039350815181106133b157fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a84816133ea57fe5b049350613385565b819450505050505b919050565b600061340b601461389b565b905090565b600060606040518060200161342490613a8c565b6020820181038252601f19601f82011660405250600060a01b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600060a01b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516020018086805190602001908083835b602083106134be578051825260208201915060208101905060208303925061349b565b6001836020036101000a0380198251168184511680821785525050505050509050018573ffffffffffffffffffffffffffffffffffffffff19168152600c018473ffffffffffffffffffffffffffffffffffffffff1660601b81526014018373ffffffffffffffffffffffffffffffffffffffff19168152600c018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401955050505050506040516020818303038152906040529050600060ff60f81b3085848051906020012060405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018473ffffffffffffffffffffffffffffffffffffffff1660601b81526014018381526020018281526020019450505050506040516020818303038152906040528051906020012090508060001c92505050919050565b60008083600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161365c90613a8c565b808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff168152602001925050508190604051809103906000f59050801580156136b9573d6000803e3d6000fd5b5090508215613750577f2682a218602b9036c9869f006c5405ee4a1a65267653eb7e286123e5e1afde4c81600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156137e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806142e36035913960400191505060405180910390fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015613897577f02e3c47057b8dc27a0929d3c394c314c73aa002d46939c31c9f71d1e77e86c10600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b5050565b600080600090506138aa613930565b1561392357600083600036905003905061391b600036839060148501926138d393929190613a99565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506139f3565b915050613927565b3390505b80915050919050565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156139ec57602c600036905010156139e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061436c6022913960400191505060405180910390fd5b600190505b8091505090565b6000806014835114613a6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f42797465734c69623a20696e76616c69642064617461206c656e67746800000081525060200191505060405180910390fd5b6c01000000000000000000000000602084015104905080915050919050565b61075180613acd83390190565b60008085851115613aa957600080fd5b83861115613ab657600080fd5b600185028301915084860390509450949250505056fe608060405234801561001057600080fd5b506040516107513803806107518339818101604052604081101561003357600080fd5b810190808051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610630806101216000396000f3fe60806040526004361061004e5760003560e01c80633f579f42146100be5780635c60da1b146101e75780637b10399914610228578063d784d42614610269578063f77c4791146102ba57610055565b3661005557005b34801561006157600080fd5b50600080369050146100bc576000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050368060008037600080826000855af43d806000803e81600081146100b757816000f35b816000fd5b005b3480156100ca57600080fd5b5061016c600480360360608110156100e157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561012857600080fd5b82018360208201111561013a57600080fd5b8035906020019184600183028401116401000000008311171561015c57600080fd5b90919293919293905050506102fb565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ac578082015181840152602081019050610191565b50505050905090810190601f1680156101d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101f357600080fd5b506101fc61049f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023457600080fd5b5061023d6104c5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027557600080fd5b506102b86004803603602081101561028c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104eb565b005b3480156102c657600080fd5b506102cf6105d3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806105f8602c913960400191505060405180910390fd5b606060008673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d8060008114610411576040519150601f19603f3d011682016040523d82523d6000602084013e610416565b606091505b50809350819250505080610492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b8192505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461058f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806105f8602c913960400191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a4163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420496d706c656d656e746174696f6e20746f20307830506572736f6e616c4163636f756e7452656769737472793a2073656e646572206973206e6f7420746865206163636f756e74206f776e65724163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f2073656c66506572736f6e616c4163636f756e7452656769737472793a206f776e657220646f65736e27742065786973744163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420726567697374727920746f20307830496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a65724163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f2030783047617465776179526563697069656e743a20696e76616c6964206d73672e646174614163636f756e74436f6e74726f6c6c65723a206163636f756e7420616c7265616479207570677261646564506572736f6e616c4163636f756e7452656769737472793a2063616e6e6f742072656d6f76652073656c66477561726465643a2074782e6f726967696e206973206e6f742074686520677561726469616e506572736f6e616c4163636f756e7452656769737472793a204552433230546f6b656e207472616e736665722072657665727465644163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f20636f6e74726f6c6c6572506572736f6e616c4163636f756e7452656769737472793a206f776e657220616c726561647920657869737473506572736f6e616c4163636f756e7452656769737472793a2063616e6e6f742061646420307830206f776e6572a164736f6c634300060c000a", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101425760003560e01c806390482d72116100b8578063d0f710d61161007c578063d0f710d61461075e578063da9fc1ae146107f7578063db63f5821461083b578063e1e382ce1461089f578063e5c7278f14610958578063f4876c7414610a1b57610142565b806390482d7214610545578063a526d83b146105fe578063bb890d3f14610642578063cade6a5d146106bc578063d089e11a1461072a57610142565b80631a8414031161010a5780631a841403146103515780633164b5e1146103bf57806334d323a414610419578063392e53cd1461049d57806343013c24146104bd578063714041561461050157610142565b80630900f010146101475780630c68ba211461018b57806311464fbe146101e5578063116191b614610219578063124e9eb31461024d575b600080fd5b6101896004803603602081101561015d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a7f565b005b6101cd600480360360208110156101a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b2e565b60405180821515815260200191505060405180910390f35b6101ed610b83565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610221610ba9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103396004803603606081101561026357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156102a057600080fd5b8201836020820111156102b257600080fd5b803590602001918460018302840111640100000000831117156102d457600080fd5b9091929391929390803590602001906401000000008111156102f557600080fd5b82018360208201111561030757600080fd5b8035906020019184600183028401116401000000008311171561032957600080fd5b9091929391929390505050610bcf565b60405180821515815260200191505060405180910390f35b6103bd6004803603606081101561036757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c88565b005b610401600480360360208110156103d557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ef3565b60405180821515815260200191505060405180910390f35b6104856004803603606081101561042f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f4c565b60405180821515815260200191505060405180910390f35b6104a561103a565b60405180821515815260200191505060405180910390f35b6104ff600480360360208110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611092565b005b6105436004803603602081101561051757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110aa565b005b6105fc6004803603606081101561055b57600080fd5b810190808035906020019064010000000081111561057857600080fd5b82018360208201111561058a57600080fd5b803590602001918460208302840111640100000000831117156105ac57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611370565b005b6106406004803603602081101561061457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611508565b005b6106a46004803603604081101561065857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115b5565b60405180821515815260200191505060405180910390f35b6106fe600480360360208110156106d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115c9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107326115db565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107df6004803603604081101561077457600080fd5b81019080803590602001909291908035906020019064010000000081111561079b57600080fd5b8201836020820111156107ad57600080fd5b803590602001918460018302840111640100000000831117156107cf57600080fd5b9091929391929390505050611601565b60405180821515815260200191505060405180910390f35b6108396004803603602081101561080d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061165a565b005b61089d6004803603604081101561085157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611670565b005b610940600480360360608110156108b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156108fc57600080fd5b82018360208201111561090e57600080fd5b8035906020019184600183028401116401000000008311171561093057600080fd5b9091929391929390505050611905565b60405180821515815260200191505060405180910390f35b610a196004803603608081101561096e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109d557600080fd5b8201836020820111156109e757600080fd5b80359060200191846001830284011164010000000083111715610a0957600080fd5b9091929391929390505050611971565b005b610a7d60048036036040811015610a3157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119de565b005b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806143e46026913960400191505060405180910390fd5b610b2b816001611d0d565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610c7d86610c7885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610c6a89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611e4e565b611fb790919063ffffffff16565b612087565b905095945050505050565b610c918361223e565b50610c9b83612685565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d2f57610d29833283600067ffffffffffffffff81118015610cee57600080fd5b506040519080825280601f01601f191660200182016040528015610d215781602001600182028036833780820191505090505b506000612786565b50610e5d565b6060610dd38484600063a9059cbb60e01b3287604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506000612786565b9050600081511115610e5b57808060200190516020811015610df457600080fd5b8101908080519060200190929190505050610e5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603581526020018061440a6035913960400191505060405180910390fd5b5b505b7feb5511fbef89123439f12682f0e9d0fc9696913b26eee55434c77d62c30aa7ca83328484604051808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390a1505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff169050919050565b60008060009050610f5d8585612087565b15610f6b576001905061102f565b61102c83600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050612c5490919063ffffffff16565b90505b809150509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b61109b8161223e565b506110a7816001612ca3565b50565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661114b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806143e46026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614156111ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f477561726465643a2063616e6e6f742072656d6f76652073656c66000000000081525060200191505060405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166112ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f477561726465643a20677561726469616e20646f65736e27742065786973740081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b3282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611416576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180614318602f913960400191505060405180910390fd5b6000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506114a2848480806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050612f05565b6114ac3083612f5d565b6114b581612f77565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150505050565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166115a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806143e46026913960400191505060405180910390fd5b6115b281612fbb565b50565b60006115c18383612087565b905092915050565b60006115d4826131e2565b9050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006116518484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613238565b90509392505050565b6116638161223e565b5061166d81612685565b50565b600061167b8361223e565b90508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611702576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806143b9602b913960400191505060405180910390fd5b6117b9600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506132a5565b61180e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806142b7602c913960400191505060405180910390fd5b43600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507f1ce3cbbc43ee231e5b950332f2b0b9dd7d349291a3ee411ce5c5c7ed745661bb8383604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1505050565b60006119678561196285858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505087611fb790919063ffffffff16565b612087565b9050949350505050565b61197a8561223e565b5061198485612685565b6119d685858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001612786565b505050505050565b6119e78261223e565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180614498602d913960400191505060405180910390fd5b611b25600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506132a5565b15611b7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018061446b602d913960400191505060405180910390fd5b6001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055506000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507f27e282f7712c5b4617277759c834b86d163dfc1aad25c8c3c5926a1c9e5644688282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b81526020018061421e603b913960400191505060405180910390fd5b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015611e4a577f70d9f5a076620216a6050e493f3ce69749de0b68fa4b839ba2518660ba8b9cf0600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b5050565b6000611e5a82516132b8565b826040516020018082805190602001908083835b60208310611e915780518252602082019150602081019050602083039250611e6e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405260405160200180807f19457468657265756d205369676e6564204d6573736167653a0a000000000000815250601a0183805190602001908083835b60208310611f235780518252602082019150602081019050602083039250611f00565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b60208310611f745780518252602082019150602081019050602083039250611f51565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052805190602001209050919050565b6000806000905060418351141561207d5760008060006020860151925060408601519150606086015160001a9050601b8160ff161015611ff857601b810190505b601b8160ff16148061200d5750601c8160ff16145b156120795760018782858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561206c573d6000803e3d6000fd5b5050506020604051035193505b5050505b8091505092915050565b600080600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16156121ac576000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154149050612234565b6000801b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154141561223357612202836131e2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505b5b8091505092915050565b6000806122496133ff565b9050600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16156123c0576000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154146123bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806142596038913960400191505060405180910390fd5b61267c565b6000801b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101541461245d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806142596038913960400191505060405180910390fd5b600081604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040528051906020012090506124aa81613410565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461252d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806142596038913960400191505060405180910390fd5b80600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055507f27e282f7712c5b4617277759c834b86d163dfc1aad25c8c3c5926a1c9e5644688483604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1505b80915050919050565b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1661278357612726600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546001613606565b506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055505b50565b6060600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561280e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806143476025913960400191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612893576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061443f602c913960400191505060405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612918576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806142916026913960400191505060405180910390fd5b60608673ffffffffffffffffffffffffffffffffffffffff16633f579f428787876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156129aa57808201518184015260208101905061298f565b50505050905090810190601f1680156129d75780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156129f857600080fd5b505af1158015612a0c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612a3657600080fd5b8101908080516040519392919084640100000000821115612a5657600080fd5b83820191506020820185811115612a6c57600080fd5b8251866001820283011164010000000082111715612a8957600080fd5b8083526020830192505050908051906020019080838360005b83811015612abd578082015181840152602081019050612aa2565b50505050905090810190601f168015612aea5780820380516001836020036101000a031916815260200191505b5060405250505090508215612c47577f99eeae1fb8801e2e878e060ec5e5b3557b3c4f8106e35d88cb573f293dae4e248787878785604051808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612ba1578082015181840152602081019050612b86565b50505050905090810190601f168015612bce5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015612c07578082015181840152602081019050612bec565b50505050905090810190601f168015612c345780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15b8091505095945050505050565b60008060009050836000015115612c9957600084602001511415612c7b5760019050612c98565b6000831415612c8d5760019050612c97565b8284602001511190505b5b5b8091505092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612d2257600080fd5b505afa158015612d36573d6000803e3d6000fd5b505050506040513d6020811015612d4c57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415612dca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061438e602b913960400191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663d784d426600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015612e5557600080fd5b505af1158015612e69573d6000803e3d6000fd5b505050508015612f01577feec27cdb8bd6f55c2c537deb52ab094a2437e85ef5197e6f064f90bff3ff563f82600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15b5050565b600081511415612f1d57612f1832612fbb565b612f5a565b60008151905060005b81811015612f5757612f4a838281518110612f3d57fe5b6020026020010151612fbb565b8080600101915050612f26565b50505b50565b612f6882600061375a565b612f73816000611d0d565b5050565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561305e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a2063616e6e6f74206164642030783020677561726469616e81525060200191505060405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561311d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a20677561726469616e20616c72656164792065786973747381525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b60008082604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b815260140191505060405160208183030381529060405280519060200120905061323081613410565b915050919050565b60008061324e8385611fb790919063ffffffff16565b90506000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b60006132b18243612c54565b9050919050565b60606000821415613300576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506133fa565b600082905060005b6000821461332a578080600101915050600a828161332257fe5b049150613308565b60608167ffffffffffffffff8111801561334357600080fd5b506040519080825280601f01601f1916602001820160405280156133765781602001600182028036833780820191505090505b50905060006001830390508593505b600084146133f257600a848161339757fe5b0660300160f81b828280600190039350815181106133b157fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a84816133ea57fe5b049350613385565b819450505050505b919050565b600061340b601461389b565b905090565b600060606040518060200161342490613a8c565b6020820181038252601f19601f82011660405250600060a01b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600060a01b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516020018086805190602001908083835b602083106134be578051825260208201915060208101905060208303925061349b565b6001836020036101000a0380198251168184511680821785525050505050509050018573ffffffffffffffffffffffffffffffffffffffff19168152600c018473ffffffffffffffffffffffffffffffffffffffff1660601b81526014018373ffffffffffffffffffffffffffffffffffffffff19168152600c018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401955050505050506040516020818303038152906040529050600060ff60f81b3085848051906020012060405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018473ffffffffffffffffffffffffffffffffffffffff1660601b81526014018381526020018281526020019450505050506040516020818303038152906040528051906020012090508060001c92505050919050565b60008083600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161365c90613a8c565b808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff168152602001925050508190604051809103906000f59050801580156136b9573d6000803e3d6000fd5b5090508215613750577f2682a218602b9036c9869f006c5405ee4a1a65267653eb7e286123e5e1afde4c81600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156137e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806142e36035913960400191505060405180910390fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015613897577f02e3c47057b8dc27a0929d3c394c314c73aa002d46939c31c9f71d1e77e86c10600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b5050565b600080600090506138aa613930565b1561392357600083600036905003905061391b600036839060148501926138d393929190613a99565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506139f3565b915050613927565b3390505b80915050919050565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156139ec57602c600036905010156139e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061436c6022913960400191505060405180910390fd5b600190505b8091505090565b6000806014835114613a6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f42797465734c69623a20696e76616c69642064617461206c656e67746800000081525060200191505060405180910390fd5b6c01000000000000000000000000602084015104905080915050919050565b61075180613acd83390190565b60008085851115613aa957600080fd5b83861115613ab657600080fd5b600185028301915084860390509450949250505056fe608060405234801561001057600080fd5b506040516107513803806107518339818101604052604081101561003357600080fd5b810190808051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610630806101216000396000f3fe60806040526004361061004e5760003560e01c80633f579f42146100be5780635c60da1b146101e75780637b10399914610228578063d784d42614610269578063f77c4791146102ba57610055565b3661005557005b34801561006157600080fd5b50600080369050146100bc576000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050368060008037600080826000855af43d806000803e81600081146100b757816000f35b816000fd5b005b3480156100ca57600080fd5b5061016c600480360360608110156100e157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561012857600080fd5b82018360208201111561013a57600080fd5b8035906020019184600183028401116401000000008311171561015c57600080fd5b90919293919293905050506102fb565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ac578082015181840152602081019050610191565b50505050905090810190601f1680156101d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101f357600080fd5b506101fc61049f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023457600080fd5b5061023d6104c5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027557600080fd5b506102b86004803603602081101561028c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104eb565b005b3480156102c657600080fd5b506102cf6105d3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806105f8602c913960400191505060405180910390fd5b606060008673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d8060008114610411576040519150601f19603f3d011682016040523d82523d6000602084013e610416565b606091505b50809350819250505080610492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b8192505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461058f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806105f8602c913960400191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a4163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420496d706c656d656e746174696f6e20746f20307830506572736f6e616c4163636f756e7452656769737472793a2073656e646572206973206e6f7420746865206163636f756e74206f776e65724163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f2073656c66506572736f6e616c4163636f756e7452656769737472793a206f776e657220646f65736e27742065786973744163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420726567697374727920746f20307830496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a65724163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f2030783047617465776179526563697069656e743a20696e76616c6964206d73672e646174614163636f756e74436f6e74726f6c6c65723a206163636f756e7420616c7265616479207570677261646564506572736f6e616c4163636f756e7452656769737472793a2063616e6e6f742072656d6f76652073656c66477561726465643a2074782e6f726967696e206973206e6f742074686520677561726469616e506572736f6e616c4163636f756e7452656769737472793a204552433230546f6b656e207472616e736665722072657665727465644163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f20636f6e74726f6c6c6572506572736f6e616c4163636f756e7452656769737472793a206f776e657220616c726561647920657869737473506572736f6e616c4163636f756e7452656769737472793a2063616e6e6f742061646420307830206f776e6572a164736f6c634300060c000a", + "bytecode": "0x60806040523480156200001157600080fd5b506200002e67e6ad6dd6ee73072860c01b6200010160201b60201c565b6200004a67f9592435f5b5ea8c60c01b6200010460201b60201c565b6200006667bcc9be562f8a4b0a60c01b6200010760201b60201c565b6200008267579ae7209daca85260c01b6200010760201b60201c565b32600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000df674f33f857671bcade60c01b6200010a60201b60201c565b620000fb67545494087376439e60c01b6200010d60201b60201c565b62000110565b50565b50565b50565b50565b50565b617d4b80620001206000396000f3fe60806040523480156200001157600080fd5b5060043610620002805760003560e01c8063964f672a1162000159578063d089e11a11620000c9578063e1e382ce1162000087578063e1e382ce1462000fd0578063e5c7278f146200108f578063f0af07211462001158578063f0e97b3314620011a4578063f4876c7414620012065762000280565b8063d089e11a1462000deb578063d0f710d61462000e21578063d84fa10c1462000ec0578063da9fc1ae1462000f22578063db63f5821462000f695762000280565b8063ad8bbdec1162000117578063ad8bbdec1462000bed578063bb890d3f1462000c4f578063bccb31c61462000ccc578063c45433051462000d18578063cade6a5d1462000d7a5762000280565b8063964f672a1462000a3457806399066bc61462000a965780639f106f7e1462000ae2578063a3561e691462000b44578063a526d83b1462000ba65762000280565b806334d323a411620001f5578063614b6c8211620001b3578063614b6c821462000808578063692b0ad9146200086a5780637140415614620008cc57806382fa0d1e146200091357806390482d7214620009755762000280565b806334d323a41462000680578063392e53cd14620007075780633e260b13146200072957806343013c2414620007755780635db3fe3914620007bc5762000280565b8063124e9eb31162000243578063124e9eb314620003e15780631a84140314620004ee5780631aa316db146200055f57806329fbd95714620005c15780633164b5e114620006235762000280565b80630900f01014620002855780630c68ba2114620002cc57806311464fbe1462000329578063116191b6146200035f578063117921d91462000395575b600080fd5b620002ca600480360360208110156200029d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200126d565b005b6200031160048036036020811015620002e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001412565b60405180821515815260200191505060405180910390f35b62000333620014a9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b62000369620014cf565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b620003df60048036036020811015620003ad57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050620014f5565b005b620004d660048036036060811015620003f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156200043757600080fd5b8201836020820111156200044a57600080fd5b803590602001918460018302840111640100000000831117156200046d57600080fd5b9091929391929390803590602001906401000000008111156200048f57600080fd5b820183602082011115620004a257600080fd5b80359060200191846001830284011164010000000083111715620004c557600080fd5b9091929391929390505050620014f8565b60405180821515815260200191505060405180910390f35b6200055d600480360360608110156200050657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050620015f9565b005b620005a9600480360360208110156200057757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062001a74565b60405180821515815260200191505060405180910390f35b6200060b60048036036020811015620005d957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062001a7f565b60405180821515815260200191505060405180910390f35b62000668600480360360208110156200063b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001a8a565b60405180821515815260200191505060405180910390f35b620006ef600480360360608110156200069857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505062001b25565b60405180821515815260200191505060405180910390f35b6200071162001d08565b60405180821515815260200191505060405180910390f35b62000773600480360360208110156200074157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062001da3565b005b620007ba600480360360208110156200078d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001da6565b005b6200080660048036036020811015620007d457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062001e30565b005b62000852600480360360208110156200082057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062001e33565b60405180821515815260200191505060405180910390f35b620008b4600480360360208110156200088257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062001e3e565b60405180821515815260200191505060405180910390f35b6200091160048036036020811015620008e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001e45565b005b6200095d600480360360208110156200092b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050620022c7565b60405180821515815260200191505060405180910390f35b62000a32600480360360608110156200098d57600080fd5b8101908080359060200190640100000000811115620009ab57600080fd5b820183602082011115620009be57600080fd5b80359060200191846020830284011164010000000083111715620009e157600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050620022d2565b005b62000a7e6004803603602081101562000a4c57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050620025fe565b60405180821515815260200191505060405180910390f35b62000ae06004803603602081101562000aae57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062002605565b005b62000b2c6004803603602081101562000afa57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062002608565b60405180821515815260200191505060405180910390f35b62000b8e6004803603602081101562000b5c57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062002613565b60405180821515815260200191505060405180910390f35b62000beb6004803603602081101562000bbe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200261a565b005b62000c376004803603602081101562000c0557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050620027bd565b60405180821515815260200191505060405180910390f35b62000cb46004803603604081101562000c6757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050620027c4565b60405180821515815260200191505060405180910390f35b62000d166004803603602081101562000ce457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506200281c565b005b62000d626004803603602081101562000d3057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506200281f565b60405180821515815260200191505060405180910390f35b62000dbf6004803603602081101562000d9257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200282a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b62000df562002880565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b62000ea86004803603604081101562000e3957600080fd5b81019080803590602001909291908035906020019064010000000081111562000e6157600080fd5b82018360208201111562000e7457600080fd5b8035906020019184600183028401116401000000008311171562000e9757600080fd5b9091929391929390505050620028a6565b60405180821515815260200191505060405180910390f35b62000f0a6004803603602081101562000ed857600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062002943565b60405180821515815260200191505060405180910390f35b62000f676004803603602081101562000f3a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200294a565b005b62000fce6004803603604081101562000f8157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050620029d2565b005b620010776004803603606081101562000fe857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156200103057600080fd5b8201836020820111156200104357600080fd5b803590602001918460018302840111640100000000831117156200106657600080fd5b909192939192939050505062002da3565b60405180821515815260200191505060405180910390f35b6200115660048036036080811015620010a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156200110f57600080fd5b8201836020820111156200112257600080fd5b803590602001918460018302840111640100000000831117156200114557600080fd5b909192939192939050505062002e55565b005b620011a2600480360360208110156200117057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062002f62565b005b620011ee60048036036020811015620011bc57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062002f65565b60405180821515815260200191505060405180910390f35b6200126b600480360360408110156200121e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062002f6c565b005b6200128367e18aef04d0a3e7fd60c01b620014f5565b6200129967e0600b94c13d066760c01b6200281c565b620012af6755e8cedcdd449e2360c01b6200281c565b620012c567ab821ba7fedab67160c01b6200281c565b620012db67c540fbd78e0e2a4960c01b6200281c565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166200137e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018062007c5e6026913960400191505060405180910390fd5b6200139467d014260b312542b460c01b6200281c565b620013aa674e25985d1c99d1f260c01b6200281c565b620013c067bde425c8c34183d160c01b620014f5565b620013d66716dfdb0ce3bf1a4060c01b620014f5565b620013ec6770d8631575aaca4460c01b620014f5565b62001402674fc959c4242125e760c01b620014f5565b6200140f816001620033ed565b50565b60006200142a677ab52c65f999e01f60c01b6200281c565b620014406710268b7b424a1bd560c01b6200281c565b620014566713a157f311059a7b60c01b6200281c565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b50565b60006200151067949773e889da548b60c01b620014f5565b6200152667f5190637de1d985760c01b620014f5565b6200153c671283ba3d6ea74c0a60c01b620014f5565b620015ee86620015e885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050620015d989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506200363f565b620037f290919063ffffffff16565b62003b51565b905095945050505050565b6200160f6775afb3da4fd8e1a760c01b620014f5565b6200162567bfa2decb6c19dc2d60c01b620014f5565b6200163b67f4a1ea1f4f5b73f860c01b620014f5565b620016468362003e48565b506200165d67ed9e75bb5506131060c01b620014f5565b620016736715149635d91133b360c01b620014f5565b6200167e83620044ee565b6200169467103a19a679a70be660c01b620014f5565b620016aa67966e805ee7f4488860c01b620014f5565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200178657620016f667b550661105a5e6c160c01b620014f5565b6200170c6778466374c5e817e760c01b620014f5565b6200172267f69688cc9cb79e3e60c01b620014f5565b6200177f833283600067ffffffffffffffff811180156200174257600080fd5b506040519080825280601f01601f191660200182016040528015620017765781602001600182028036833780820191505090505b506000620046a7565b50620019b2565b6200179c676d2f127c6cbded8b60c01b620014f5565b620017b267c55f6a870f441ea360c01b620014f5565b620017c867e6169000db7124bb60c01b620014f5565b60606200186e8484600063a9059cbb60e01b3287604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506000620046a7565b90506200188667101f3d9ea840d48460c01b620014f5565b6200189c674738e61390960d2160c01b620014f5565b6000815111156200199957620018bd6767f3391e72f7277c60c01b620014f5565b620018d367a2cad286bddc35c860c01b620014f5565b620018e967268be481c9d59d1d60c01b620014f5565b620018ff67983f6fa6c3ed02a760c01b620014f5565b8080602001905160208110156200191557600080fd5b81019080805190602001909291905050506200197d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603581526020018062007c846035913960400191505060405180910390fd5b6200199367dd178cef5d9f784360c01b620014f5565b620019b0565b620019af6755daecce03b98ded60c01b620014f5565b5b505b620019c867a40448aea0b9209a60c01b620014f5565b620019de671253b49880e9934960c01b620014f5565b7feb5511fbef89123439f12682f0e9d0fc9696913b26eee55434c77d62c30aa7ca83328484604051808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390a1505050565b600060019050919050565b600060019050919050565b600062001aa267708237df46d4591860c01b620014f5565b62001ab867d221cc5f2e35948d60c01b620014f5565b62001ace6765dfcb590b568f9b60c01b620014f5565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff169050919050565b600062001b3d6732cd5b0dba9710d060c01b620014f5565b62001b53673020761b9813024460c01b620014f5565b62001b6967878b732ad1f1d98060c01b620014f5565b600062001b8167607ee862765df6de60c01b620014f5565b62001b976756ffa96c87add8b460c01b620014f5565b62001ba3858562003b51565b1562001bdf5762001bbf67714b36fd9436b49d60c01b620014f5565b62001bd5673b53315bebb8e15660c01b620014f5565b6001905062001cd1565b62001bf56713be24a30d0dcecd60c01b620014f5565b62001c0b67b87ae6f22a7b024e60c01b620014f5565b62001cce83600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff1615151515815260200160018201548152505062004d8e90919063ffffffff16565b90505b62001ce7673aff67691d44290e60c01b620014f5565b62001cfd67b3bc166758e3426460c01b620014f5565b809150509392505050565b600062001d2067e29fe2f351ca6b2760c01b62001da3565b62001d36676f5dd3f08b97747760c01b62001da3565b62001d4c673a9488d62818322a60c01b62001da3565b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b62001dbc67e5e772a16aa01e8160c01b620014f5565b62001dd267e47d8686f2af7ef060c01b620014f5565b62001de8678349c7ebd0a81a5f60c01b620014f5565b62001df38162003e48565b5062001e0a670afc4f30eeb71fbf60c01b620014f5565b62001e2067571c5a8b2b0a8b8460c01b620014f5565b62001e2d81600162004f87565b50565b50565b600060019050919050565b6000919050565b62001e5b6747dd6d4e27a092d260c01b6200281c565b62001e7167e0600b94c13d066760c01b6200281c565b62001e876755e8cedcdd449e2360c01b6200281c565b62001e9d67ab821ba7fedab67160c01b6200281c565b62001eb367c540fbd78e0e2a4960c01b6200281c565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1662001f56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018062007c5e6026913960400191505060405180910390fd5b62001f6c67d014260b312542b460c01b6200281c565b62001f82674e25985d1c99d1f260c01b6200281c565b62001f9867736984febec5fd2560c01b6200281c565b62001fae67cbb923c66996310360c01b6200281c565b62001fc4672c114aff1103564b60c01b6200281c565b62001fda67a76a63e34be2bddb60c01b6200281c565b62001ff067a220bc889ca09d2360c01b6200281c565b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141562002093576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f477561726465643a2063616e6e6f742072656d6f76652073656c66000000000081525060200191505060405180910390fd5b620020a9679467d7af09c5944d60c01b6200281c565b620020bf67c28a58b1b15ad6de60c01b6200281c565b620020d567c70b0fecc7c6d3b160c01b6200281c565b620020eb67e7892f9392d41a6760c01b6200281c565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16620021aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f477561726465643a20677561726469616e20646f65736e27742065786973740081525060200191505060405180910390fd5b620021c0675a0de441d13969aa60c01b6200281c565b620021d6674e473b0a29064fba60c01b6200281c565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200224367e398e5606400274660c01b6200281c565b620022596738c3bd156a3471c260c01b6200281c565b7fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b3282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b600060019050919050565b620022e8672d986a70dd19978660c01b620014f5565b620022fe67d2ba19feb39e0b7f60c01b62001da3565b62002314670c5ad53cdb9edd1560c01b62001da3565b6200232a67b6b588d2ebb9ae6960c01b62001da3565b6200234067c4ec9a90a885875260c01b62001da3565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614620023e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018062007b92602f913960400191505060405180910390fd5b620023fe67c3785ba1534db95460c01b62001da3565b6200241467e4202927591248ef60c01b62001da3565b6000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200246c67531cfa2817fbdc8660c01b62001da3565b620024826710d2ca647caa13ef60c01b620014f5565b6200249867c5e1073362bb30bb60c01b620014f5565b620024ae677c2fc0c623f34f1760c01b620014f5565b620024c46754d9e88ab3a297b760c01b620014f5565b62002510848480806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505062005315565b6200252667521fd40cd7f8760560c01b620014f5565b6200253c67b4edb6f6ff7b15b260c01b620014f5565b62002548308362005494565b6200255e677d8bd3a05f4b6b6a60c01b620014f5565b6200257467544450e83605438c60c01b620014f5565b6200257f8162005520565b620025956701520f419008b58e60c01b62001da3565b620025ab6775364c04848b013b60c01b62001da3565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150505050565b6000919050565b50565b600060019050919050565b6000919050565b6200263067c17b66a0b198af7b60c01b6200281c565b6200264667e0600b94c13d066760c01b6200281c565b6200265c6755e8cedcdd449e2360c01b6200281c565b6200267267ab821ba7fedab67160c01b6200281c565b6200268867c540fbd78e0e2a4960c01b6200281c565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166200272b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018062007c5e6026913960400191505060405180910390fd5b6200274167d014260b312542b460c01b6200281c565b62002757674e25985d1c99d1f260c01b6200281c565b6200276d67dfa24a8cc198350160c01b6200281c565b6200278367f9907d82cd18ee0760c01b6200281c565b6200279967dd37ee49f553c5a760c01b6200281c565b620027af679ad66b1d98f77fdf60c01b6200281c565b620027ba8162005590565b50565b6000919050565b6000620027dc67d9f40698cdafefb460c01b620014f5565b620027f26706b914512d0ddf8e60c01b620014f5565b6200280867a9eddccc515ae51b60c01b620014f5565b62002814838362003b51565b905092915050565b50565b600060019050919050565b60006200284267f4a161f24085f2cc60c01b620014f5565b62002858678a467a5966a6113a60c01b620014f5565b6200286e67f2898d9b947f10d060c01b620014f5565b6200287982620058c1565b9050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000620028be670fa739e07c029f9060c01b6200281c565b620028d467406100042e7653bd60c01b6200281c565b620028ea6784104632bda8198f60c01b6200281c565b6200293a8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505062005988565b90509392505050565b6000919050565b6200296067460bc733531e770560c01b620014f5565b62002976675843065cd6ecf36860c01b620014f5565b6200298c671760cefe6a10da7a60c01b620014f5565b620029978162003e48565b50620029ae67d2b7b08e8476a44960c01b620014f5565b620029c467c4108caade9b50e360c01b620014f5565b620029cf81620044ee565b50565b620029e86770b9d781bcb926b460c01b620014f5565b620029fe67906727e01f6aa85e60c01b620014f5565b62002a146701b827d310cfe11d60c01b620014f5565b600062002a218362003e48565b905062002a3967626a661a01a7804b60c01b620014f5565b62002a4f6728cca11810d21b3960c01b620014f5565b62002a6567a8027d9ed3c4801060c01b620014f5565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562002aec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018062007c33602b913960400191505060405180910390fd5b62002b02671d64f04a0cbd3c2d60c01b620014f5565b62002b186780125257db4855f560c01b620014f5565b62002b2e67786a66558108b48b60c01b620014f5565b62002b4467b83a54420a7a78ee60c01b620014f5565b62002bfd600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff1615151515815260200160018201548152505062005a66565b62002c54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018062007b31602c913960400191505060405180910390fd5b62002c6a67fbd8a228a8f1f77a60c01b620014f5565b62002c8067899e8aec8c945fb560c01b620014f5565b43600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555062002d1d673e58acdf3e6c170360c01b620014f5565b62002d3367038fa1c859cd9e2860c01b620014f5565b7f1ce3cbbc43ee231e5b950332f2b0b9dd7d349291a3ee411ce5c5c7ed745661bb8383604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1505050565b600062002dbb67f8f2e3448d3c936160c01b620014f5565b62002dd167fcd5fc1ac915e2fb60c01b620014f5565b62002de7670820634ea29c7b1160c01b620014f5565b62002e4b8562002e4585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505087620037f290919063ffffffff16565b62003b51565b9050949350505050565b62002e6b67789d2f75e275428460c01b620014f5565b62002e8167981f928ed5e6e9a660c01b620014f5565b62002e97675777f12d09d3b93a60c01b620014f5565b62002ea28562003e48565b5062002eb967fdda32926cab7ac260c01b620014f5565b62002ecf675a6b0b5b15d49fb960c01b620014f5565b62002eda85620044ee565b62002ef067ac231b274a94695760c01b620014f5565b62002f066777f4d02982ad96d560c01b620014f5565b62002f5a85858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001620046a7565b505050505050565b50565b6000919050565b62002f82671841f1f0bc650a6e60c01b620014f5565b62002f9867d8cb12991a5557fe60c01b620014f5565b62002fae6766398dce8b66c4fe60c01b620014f5565b62002fb98262003e48565b5062002fd067afd5a8ab9f2a3d3460c01b620014f5565b62002fe66722266b293d95abe960c01b620014f5565b62002ffc67a6d9c03b61572e3660c01b620014f5565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562003084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018062007d12602d913960400191505060405180910390fd5b6200309a67c9382b55067e211d60c01b620014f5565b620030b0679801b864b284677360c01b620014f5565b620030c667b4f021d294e5e22e60c01b620014f5565b620030dc6767e346a0d6fd8cf760c01b620014f5565b62003195600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff1615151515815260200160018201548152505062005a66565b15620031ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018062007ce5602d913960400191505060405180910390fd5b6200320367443905483164659760c01b620014f5565b62003219676f97ea8f4384dd9d60c01b620014f5565b6001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff021916908315150217905550620032ca67d470191cde7d771860c01b620014f5565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506200336867304924367638439560c01b620014f5565b6200337e67618ec03a4906a7d860c01b620014f5565b7f27e282f7712c5b4617277759c834b86d163dfc1aad25c8c3c5926a1c9e5644688282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15050565b620034036763a6d6dd8a86352960c01b62001e30565b62003419678eeff62892cd112860c01b62001e30565b6200342f6781019a5110a6fd2560c01b62001e30565b620034456799570e869b77f36060c01b62001e30565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620034cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b81526020018062007a98603b913960400191505060405180910390fd5b620034e367e6730257a24a5d4d60c01b62001e30565b620034f9675137d05a035c900560c01b62001e30565b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062003550676635cb5a489007f160c01b62001e30565b620035666779ff21fdd4bb44bc60c01b62001e30565b801562003624576200358367ce1bdfd86d0ca23360c01b62001e30565b62003599677479b0cc253e30c560c01b62001e30565b620035af67a2b46e4941f5d4f860c01b62001e30565b7f70d9f5a076620216a6050e493f3ce69749de0b68fa4b839ba2518660ba8b9cf0600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a16200363b565b6200363a6725a77b732bce9b0960c01b62001e30565b5b5050565b600062003657676caf41065fc97a4260c01b62005abd565b6200366d679f00e9579a814efe60c01b62005abd565b62003683678bbf08d0403adc3f60c01b62005abd565b6200368f825162005ac0565b826040516020018082805190602001908083835b60208310620036c85780518252602082019150602081019050602083039250620036a3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405260405160200180807f19457468657265756d205369676e6564204d6573736167653a0a000000000000815250601a0183805190602001908083835b602083106200375c578051825260208201915060208101905060208303925062003737565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b60208310620037af57805182526020820191506020810190506020830392506200378a565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052805190602001209050919050565b60006200380a670d75db982ec4597160c01b62005e4f565b620038206725c2c60ab754182560c01b62005e4f565b62003836673eb64a254569ed0660c01b62005e4f565b60006200384e67fb2a2286066e15e460c01b62005e4f565b6200386467a440db11ec9e986d60c01b62005e4f565b60418351141562003b0457620038856704a5aada48e2763260c01b62005e4f565b6200389b674b98cf1796e5c26660c01b62005e4f565b620038b167d2dfec7b159385fc60c01b62005e4f565b6000620038c96772c2a840621b4aa760c01b62005e4f565b620038df67bfd411e6ba4d07c460c01b62005e4f565b6000620038f767145d23f82764ba9960c01b62005e4f565b6200390d67acdff958a9c6c5dd60c01b62005e4f565b600062003925673b79e3a80932a6a160c01b62005e4f565b6020860151925060408601519150606086015160001a905062003953679b0cdee01a57ea2f60c01b62005e4f565b62003969675dbf88583373227960c01b62005e4f565b601b8160ff161015620039ae576200398c670dc9a1836eb51c3260c01b62005e4f565b620039a2677097d8456a6c3e1560c01b62005e4f565b601b81019050620039c5565b620039c46708b39c61216869e760c01b62005e4f565b5b620039db672ea4d6db7d2138c560c01b62005e4f565b620039f1679ad3f461195a5eee60c01b62005e4f565b601b8160ff1614801562003a17575062003a1667a24e972b59dc7d0560c01b62005e52565b5b8062003a455750601c8160ff1614801562003a44575062003a4367934bee4849491d9560c01b62005e52565b5b5b1562003ae45762003a61676d6a491fc6e072fa60c01b62005e4f565b62003a7767aecd1690d1de9f1c60c01b62005e4f565b60018782858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801562003ad2573d6000803e3d6000fd5b50505060206040510351935062003afb565b62003afa67513fbc3b3a0ad1c060c01b62005e4f565b5b50505062003b1b565b62003b1a6723d6d78de386c96660c01b62005e4f565b5b62003b316707d0c4f11e72cfc960c01b62005e4f565b62003b4767b9689b22f403636c60c01b62005e4f565b8091505092915050565b600062003b6967afadb8a88820edae60c01b620014f5565b62003b7f67f59e6215910c93b460c01b620014f5565b62003b956709a5fd36e15c669560c01b620014f5565b600062003bad678d799f22bb2ad76d60c01b620014f5565b62003bc36740ac51f5da79cb2a60c01b620014f5565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff161562003d135762003c6f67a198f4bcf4ffdda660c01b620014f5565b62003c8567c11e5f9124ff6fdd60c01b620014f5565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015414905062003e12565b62003d2967b8d118ba40c4c5e960c01b620014f5565b62003d3f6710bf881bc6e450cc60c01b620014f5565b6000801b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154141562003dfa5762003da36741130ed6b4861b3560c01b620014f5565b62003db967af61ecb384104a6f60c01b620014f5565b62003dc483620058c1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614905062003e11565b62003e10672ec87586bd7b51b360c01b620014f5565b5b5b62003e286784dc6662a5d1368560c01b620014f5565b62003e3e67ddc6079ede57a7aa60c01b620014f5565b8091505092915050565b600062003e60678aabea3e2c6bca2560c01b620014f5565b62003e766712cfd887af96e54d60c01b620014f5565b62003e8c673829699bd0916c2060c01b620014f5565b600062003e9862005e5d565b905062003eb067104a97d11b31d29660c01b620014f5565b62003ec667973fbaa3edacc7ce60c01b620014f5565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615620040ad5762003f7267b94995b6887eba2d60c01b620014f5565b62003f886748c3d00df978d7f560c01b620014f5565b62003f9e67abc28d2563ef0dff60c01b620014f5565b62003fb467e01714a3962c522a60c01b620014f5565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101541462004091576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603881526020018062007ad36038913960400191505060405180910390fd5b620040a7679499ad56ecdbb2db60c01b620014f5565b620044b9565b620040c367357bc6b129a900b460c01b620014f5565b620040d9671674f1ee1ae0d08b60c01b620014f5565b620040ef676ff03a2c654a99d260c01b620014f5565b6200410567785fda09b7c53a4760c01b620014f5565b6000801b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015414620041a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603881526020018062007ad36038913960400191505060405180910390fd5b620041ba67954b2c179a5d688660c01b620014f5565b620041d0674f269f509bbb534a60c01b620014f5565b620041e667e68180d41a3493f560c01b620014f5565b600081604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040528051906020012090506200424067bdaaa82eb4dda39960c01b620014f5565b620042566765cf1f9f13f20afb60c01b620014f5565b6200426c678c4ee105f3022bf460c01b620014f5565b620042778162005eb2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614620042fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603881526020018062007ad36038913960400191505060405180910390fd5b62004312678013dbf8a9e452ae60c01b620014f5565b6200432867d88d2e044dab125860c01b620014f5565b80600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550620043856720f9f84d359edc0660c01b620014f5565b6001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff02191690831515021790555062004436679e1ca48701df546460c01b620014f5565b6200444c67c3772f0565efb24f60c01b620014f5565b7f27e282f7712c5b4617277759c834b86d163dfc1aad25c8c3c5926a1c9e5644688483604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1505b620044cf67ca67e5de902a827d60c01b620014f5565b620044e567d7e2ed585989010260c01b620014f5565b80915050919050565b62004504670ba7a4c1489fca3460c01b620014f5565b6200451a67651acfe85e858e5460c01b620014f5565b62004530675151ef5b0651bcd760c01b620014f5565b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff166200468d576200459b679231e89a19a99aca60c01b620014f5565b620045b0666f3f3d70558f5960c01b620014f5565b620045c6678e10a66544cc428160c01b620014f5565b62004615600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154600162006146565b506200462c67c689dcb05f1e851d60c01b620014f5565b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff021916908315150217905550620046a4565b620046a36756b574c458e1b11860c01b620014f5565b5b50565b6060620046bf67d03cbc512208c19360c01b62001e30565b620046d567f0724c2f605051ae60c01b62001e30565b620046eb672c1f163d378fb1c760c01b62001e30565b62004701676e332d1ea295ad6760c01b62001e30565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141562004789576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018062007bc16025913960400191505060405180910390fd5b6200479f6734003fde0e365df960c01b62001e30565b620047b5676f78eb7775d96ac060c01b62001e30565b620047cb6762ea15fa7f97e6d860c01b62001e30565b620047e167c1e60fa2c652db9260c01b62001e30565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141562004868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018062007cb9602c913960400191505060405180910390fd5b6200487e67c4c441efc53987a460c01b62001e30565b62004894670a4409d86344b6de60c01b62001e30565b620048aa67f30c8cf3d7c2007160c01b62001e30565b620048c0677b93c54c10ec39b960c01b62001e30565b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141562004947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018062007b0b6026913960400191505060405180910390fd5b6200495d67d0eadcda5ce01ef660c01b62001e30565b620049736708e5898037826a0e60c01b62001e30565b62004989679eda6876d502675260c01b62001e30565b60608673ffffffffffffffffffffffffffffffffffffffff16633f579f428787876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101562004a1d57808201518184015260208101905062004a00565b50505050905090810190601f16801562004a4b5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801562004a6d57600080fd5b505af115801562004a82573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101562004aad57600080fd5b810190808051604051939291908464010000000082111562004ace57600080fd5b8382019150602082018581111562004ae557600080fd5b825186600182028301116401000000008211171562004b0357600080fd5b8083526020830192505050908051906020019080838360005b8381101562004b3957808201518184015260208101905062004b1c565b50505050905090810190601f16801562004b675780820380516001836020036101000a031916815260200191505b50604052505050905062004b866787669d68dca3195b60c01b62001e30565b62004b9c673ac670a41bf75b6a60c01b62001e30565b821562004d3e5762004bb967d53a5613f66004c060c01b62001e30565b62004bcf67fefbdbb940a6f1de60c01b62001e30565b62004be5678bc5a3cf9a4cc9b860c01b62001e30565b7f99eeae1fb8801e2e878e060ec5e5b3557b3c4f8106e35d88cb573f293dae4e248787878785604051808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101562004c8f57808201518184015260208101905062004c72565b50505050905090810190601f16801562004cbd5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101562004cf857808201518184015260208101905062004cdb565b50505050905090810190601f16801562004d265780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a162004d55565b62004d54674b9471e9fc68f75f60c01b62001e30565b5b62004d6b6744627d43ccecd7f160c01b62001e30565b62004d816717d248a7372779a660c01b62001e30565b8091505095945050505050565b600062004da6679c9d1daabf83176160c01b62006397565b62004dbc674a60477fa1015d9d60c01b62006397565b62004dd2671d2dfd1cbc37881260c01b62006397565b600062004dea675c84658542d4247860c01b62006397565b62004e00676c38c63a8395bd4160c01b62006397565b83600001511562004f3a5762004e21673a129e7e3fa8299860c01b62006397565b62004e3767d5d911350233c4aa60c01b62006397565b62004e4d6788aca451346a904360c01b62006397565b60008460200151141562004e915762004e71671cab9521da0eae6e60c01b62006397565b62004e87679a431a7af70a318b60c01b62006397565b6001905062004f34565b62004ea76728a02509a30cdf2f60c01b62006397565b62004ebd67a315ca16c55cdf1660c01b62006397565b600083141562004efd5762004edd67e5e2fd7cbec5211b60c01b62006397565b62004ef3676bc9eb4a60fdc77060c01b62006397565b6001905062004f33565b62004f13670dbcda2f621ef14860c01b62006397565b62004f2967cbf2e8a46e9eb31e60c01b62006397565b8284602001511190505b5b62004f51565b62004f50679312107b7e60296d60c01b62006397565b5b62004f67676d1c114b386646c760c01b62006397565b62004f7d67b26d3c1cf974c30e60c01b62006397565b8091505092915050565b62004f9d671e986652550cd6b760c01b62001e30565b62004fb36712f52b022ec7e94e60c01b62001e30565b62004fc967d13332898fe9198160c01b62001e30565b62004fdf677771d5f99d0f0ea860c01b62001e30565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200505f57600080fd5b505afa15801562005074573d6000803e3d6000fd5b505050506040513d60208110156200508b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614156200510b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018062007c08602b913960400191505060405180910390fd5b62005121671d9e65030376f52a60c01b62001e30565b6200513767de7455456727db8960c01b62001e30565b6200514d671ad3abe77081920060c01b62001e30565b8173ffffffffffffffffffffffffffffffffffffffff1663d784d426600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015620051d957600080fd5b505af1158015620051ee573d6000803e3d6000fd5b5050505062005208672dc6faf1b96e638260c01b62001e30565b6200521e673ac280b3b6cdcef460c01b62001e30565b8015620052fa576200523b674cef15a637c5d09560c01b62001e30565b6200525167a51c2a16f15f5aee60c01b62001e30565b620052676739bd33583f67f11d60c01b62001e30565b7feec27cdb8bd6f55c2c537deb52ab094a2437e85ef5197e6f064f90bff3ff563f82600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a162005311565b6200531067a8db68da35e394a360c01b62001e30565b5b5050565b6200532b67f4de5e8e73d6ad8760c01b6200281c565b6200534167db1ce0981035d84760c01b6200281c565b6200535767e97a0a25809a3f0960c01b6200281c565b600081511415620053b5576200537867de11b839232da49160c01b6200281c565b6200538e67b59bd2ea0c1c89a260c01b6200281c565b620053a467652fe2786000e62060c01b6200281c565b620053af3262005590565b62005491565b620053cb67ad5f6f13dddc2ad960c01b6200281c565b620053e1672af46088979bcb2160c01b6200281c565b620053f76796cb81cf0bf6606d60c01b6200281c565b60008151905062005413672f4c11881b8dca8c60c01b6200281c565b6200542967cec4e8db5057edad60c01b6200281c565b60005b818110156200548e576200544b671a5cc94c8b734dd960c01b6200281c565b6200546167e437d14e98e20b2f60c01b6200281c565b620054808382815181106200547257fe5b602002602001015162005590565b80806001019150506200542c565b50505b50565b620054aa671af942b4819087fc60c01b62001e30565b620054c0670f0a44d9ed8d066760c01b62001e30565b620054d667af6f6ca5a19aa0c460c01b62001e30565b620054e38260006200639a565b620054f967dd02c4093239d2e360c01b62001e30565b6200550f674754410ba216543b60c01b62001e30565b6200551c816000620033ed565b5050565b62005536670beab42e12728d3b60c01b62002f62565b6200554c675ecbac840a5512ec60c01b62002f62565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b620055a66703611a9e4063d8ea60c01b6200281c565b620055bc67ee1baacaa033494260c01b6200281c565b620055d26751e5840de998a97760c01b6200281c565b620055e8676f82de74e2e2e03560c01b6200281c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156200568c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a2063616e6e6f74206164642030783020677561726469616e81525060200191505060405180910390fd5b620056a26717cb80dba7a8a0ea60c01b6200281c565b620056b867e2f8fabe2a63d8b660c01b6200281c565b620056ce677550a657f22d30dc60c01b6200281c565b620056e4673c81d7073dbe6f3060c01b6200281c565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615620057a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a20677561726469616e20616c72656164792065786973747381525060200191505060405180910390fd5b620057ba67bc5a1f0994a7f54e60c01b6200281c565b620057d0679a7f014629c7374960c01b6200281c565b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200583d67d71c83e9f3188e9d60c01b6200281c565b6200585367e4bfbd26cb5c77e660c01b6200281c565b7fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b6000620058d967371a9b64621a2c3d60c01b620014f5565b620058ef676a9989a74d1b4b0b60c01b620014f5565b620059056764d7e3a68d8c5bb760c01b620014f5565b600082604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040528051906020012090506200595f6788a53d430ff364e660c01b620014f5565b62005975673cb194ec28165cb960c01b620014f5565b620059808162005eb2565b915050919050565b6000620059a067fbe9af14abc78ca860c01b6200281c565b620059b667bd3616cf00f8ad2b60c01b6200281c565b620059cc670aad941719c9b69b60c01b6200281c565b6000620059e38385620037f290919063ffffffff16565b9050620059fb6706f556c4601e7cd060c01b6200281c565b62005a1167344e7bee2db8345860c01b6200281c565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b600062005a7e679cab3b0c44b8044060c01b62006397565b62005a9467ca9af921644e3db460c01b62006397565b62005aaa67fb2347240336566c60c01b62006397565b62005ab6824362004d8e565b9050919050565b50565b606062005ad867e3a0abd5bcd9be4560c01b620065ec565b62005aee676f4ac71b01df0db160c01b620065ec565b62005b046721d33336b8b2843560c01b620065ec565b600082141562005b8e5762005b246799734a524846f5ea60c01b620065ec565b62005b3a6786ec3af2b5204b2d60c01b620065ec565b62005b50675f049c9df345fcb860c01b620065ec565b6040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905062005e4a565b62005ba4674e123f29ad8e63ae60c01b620065ec565b62005bba678a02b86c6f5ae79060c01b620065ec565b62005bd067aef6cecdbdb7f12260c01b620065ec565b600082905062005beb675ee403aa4c2e194160c01b620065ec565b62005c0167c9a686dccda57deb60c01b620065ec565b600062005c196770f6e6f301963e5060c01b620065ec565b62005c2f67cec46452a4c2007960c01b620065ec565b5b6000821462005c815762005c4f67a2c57d3c793a6eb760c01b620065ec565b808060010191505062005c6d677b9437f81985d6c960c01b620065ec565b600a828162005c7857fe5b04915062005c30565b62005c97675b6ccf3f6790a03260c01b620065ec565b62005cad67c5942845ca4d8bd160c01b620065ec565b60608167ffffffffffffffff8111801562005cc757600080fd5b506040519080825280601f01601f19166020018201604052801562005cfb5781602001600182028036833780820191505090505b50905062005d1467f47605e8a1a97a4f60c01b620065ec565b62005d2a67fb23949ab383488b60c01b620065ec565b600060018303905062005d4867f586ddddd202275b60c01b620065ec565b85935062005d61670a29638383e5bbf260c01b620065ec565b62005d7767417a1c155b8c8d7860c01b620065ec565b5b6000841462005e165762005d976730db4ddbb2bce57560c01b620065ec565b600a848162005da257fe5b0660300160f81b8282806001900393508151811062005dbd57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535062005e026753f1af39e9b748c960c01b620065ec565b600a848162005e0d57fe5b04935062005d78565b62005e2c674d1eb2df4daf6cff60c01b620065ec565b62005e42677ce056f455b7e7f260c01b620065ec565b819450505050505b919050565b50565b600060019050919050565b600062005e7567e6b9fb986a1ba5a160c01b62002f62565b62005e8b67e5f2b4fde85ab0e060c01b62002f62565b62005ea1675a28d96f6aadd0b960c01b62002f62565b62005ead6014620065ef565b905090565b600062005eca67834d7dcd68b198b060c01b62001e30565b62005ee0673ff175921f5f538960c01b62001e30565b62005ef66701ee97873b03827f60c01b62001e30565b60606040518060200162005f0a9062006b22565b6020820181038252601f19601f82011660405250600060a01b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600060a01b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516020018086805190602001908083835b6020831062005fa6578051825260208201915060208101905060208303925062005f81565b6001836020036101000a0380198251168184511680821785525050505050509050018573ffffffffffffffffffffffffffffffffffffffff19168152600c018473ffffffffffffffffffffffffffffffffffffffff1660601b81526014018373ffffffffffffffffffffffffffffffffffffffff19168152600c018273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019550505050505060405160208183030381529060405290506200606e67c5994a000b72ff9b60c01b62001e30565b62006084673303398cfdf0748c60c01b62001e30565b600060ff60f81b3085848051906020012060405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018473ffffffffffffffffffffffffffffffffffffffff1660601b81526014018381526020018281526020019450505050506040516020818303038152906040528051906020012090506200612367d5638e0e835e9fc260c01b62001e30565b620061396765b94d8c76f4fb1960c01b62001e30565b8060001c92505050919050565b60006200615e6769d35e844fb436a560c01b62001e30565b6200617467d05843a5b30ee56160c01b62001e30565b6200618a676a5949dc1605b72d60c01b62001e30565b600083600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051620061e19062006b22565b808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff168152602001925050508190604051809103906000f59050801580156200623f573d6000803e3d6000fd5b50905062006258671fbc5a34026c932160c01b62001e30565b6200626e6729f16a915d858e6660c01b62001e30565b82156200634a576200628b674ad44f27dbd7e2bf60c01b62001e30565b620062a1671948a2809685e8a560c01b62001e30565b620062b7674e798983ba62ea2160c01b62001e30565b7f2682a218602b9036c9869f006c5405ee4a1a65267653eb7e286123e5e1afde4c81600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a162006361565b620063606753f95733749efee660c01b62001e30565b5b620063776713228e0b40e520f960c01b62001e30565b6200638d679f460b7957fd280860c01b62001e30565b8091505092915050565b50565b620063b06757e53bb83d0ee18c60c01b62001e30565b620063c6674b6db0292681de8060c01b62001e30565b620063dc67634dbba0de15713160c01b62001e30565b620063f26716603faf2a4da76360c01b62001e30565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200647a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603581526020018062007b5d6035913960400191505060405180910390fd5b6200649067fdb2085a5ff3fca060c01b62001e30565b620064a6677c845799041d8f7d60c01b62001e30565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620064fd67cb55668fb6fee71c60c01b62001e30565b6200651367372f88a4084cef5b60c01b62001e30565b8015620065d15762006530671b487ad986e5d06660c01b62001e30565b6200654667734c16c2ea37d8f760c01b62001e30565b6200655c670feaed23a94b80cf60c01b62001e30565b7f02e3c47057b8dc27a0929d3c394c314c73aa002d46939c31c9f71d1e77e86c10600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1620065e8565b620065e767b56e759927012ec660c01b62001e30565b5b5050565b50565b6000620066076787c8246a4b35d1f160c01b62002f62565b6200661d67976a1e8d41064d2460c01b62002f62565b62006633671867d8bf077bb31160c01b62002f62565b60006200664b67bdfeda5454a1273960c01b62002f62565b62006661677709e048711a13c960c01b62002f62565b6200666b620067a7565b1562006742576200668767d3c6f6b0bcac9b6e60c01b62002f62565b6200669d673b2573735f5d680260c01b62002f62565b620066b3675089eb0622c78a2260c01b62002f62565b6000836000369050039050620066d4674bc94a8e9a6ee57960c01b62002f62565b6200673960003683906014850192620066f09392919062006b30565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050620069a8565b91505062006772565b62006758677e45e81af2ec2edc60c01b62002f62565b6200676e67391e31dbfdfb407e60c01b62002f62565b3390505b6200678867c4042e2c7c2c999760c01b62002f62565b6200679e67fc44c5cccf2cd16760c01b62002f62565b80915050919050565b6000620067bf6714ec9ba31585b6f760c01b62002f62565b620067d56764d00f8ee4cbc0f460c01b62002f62565b620067eb6728aef4b71ffef7e260c01b62002f62565b600062006803677b6cf6392b8d09d960c01b62002f62565b6200681967da655f124163f4bc60c01b62002f62565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156200695e5762006886678c4556fd14dc507160c01b62002f62565b6200689c674811af4455ee520960c01b62002f62565b620068b267ae36e4b52033411860c01b62002f62565b620068c867ffe63a27679b309260c01b62002f62565b602c6000369050101562006928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018062007be66022913960400191505060405180910390fd5b6200693e67d1762b0b1ca636f360c01b62002f62565b620069546769c465f7e405b9f660c01b62002f62565b6001905062006975565b620069746710f40798097af22060c01b62002f62565b5b6200698b671855328cbdf7411660c01b62002f62565b620069a1670e4f1457e534f9ac60c01b62002f62565b8091505090565b6000620069c0670df8d76b8cabf76a60c01b62006b1f565b620069d667e180fcce9e2bf4c560c01b62006b1f565b620069ec670dcb70abe8e8bb0b60c01b62006b1f565b600062006a0467c9f13cc22eb780e060c01b62006b1f565b62006a1a67c60f8d891ff21de960c01b62006b1f565b62006a306782bb9e679e55c73460c01b62006b1f565b601483511462006aa8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f42797465734c69623a20696e76616c69642064617461206c656e67746800000081525060200191505060405180910390fd5b62006abe679ea304b1b6348ade60c01b62006b1f565b62006ad467a0049b4768bf518260c01b62006b1f565b6c01000000000000000000000000602084015104905062006b00671f4dc55703cfba1860c01b62006b1f565b62006b1667afb63a07e82275e260c01b62006b1f565b80915050919050565b50565b610f328062006b6683390190565b6000808585111562006b4157600080fd5b8386111562006b4f57600080fd5b600185028301915084860390509450949250505056fe608060405234801561001057600080fd5b50604051610f32380380610f328339818101604052604081101561003357600080fd5b810190808051906020019092919080519060200190929190505050610068674c05ed6aa1cd281960c01b61019960201b60201c565b610082675db0dfd7018850c360c01b61019960201b60201c565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506100dc6727cd07b305f6130f60c01b61019c60201b60201c565b6100f6673763e953c2595ed960c01b61019c60201b60201c565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610151679802ebbc23dba3ba60c01b61019c60201b60201c565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505061019f565b50565b50565b610d84806101ae6000396000f3fe6080604052600436106100e15760003560e01c80635c60da1b1161007f578063a42ea70811610059578063a42ea7081461067a578063d1c43eae146106d0578063d784d42614610726578063f77c479114610777576100e8565b80635c60da1b1461058c5780637b103999146105cd5780638f9bda6e1461060e576100e8565b80633f579f42116100bb5780633f579f421461031f57806344f9c9ec14610448578063550648ff146104b457806356c2fc6c14610520576100e8565b806310b90163146101f1578063221523e51461025d57806325afd90f146102c9576100e8565b366100e857005b3480156100f457600080fd5b5061010967d1c166158a76fd7860c01b6107b8565b61011d670a4a924f04604fe560c01b6107b8565b610131670ec1ea2f1a11078060c01b6107b8565b600080369050146101db57610150670366ed24f6d51c0d60c01b6107b8565b61016467583b5ef5a1a2fce260c01b6107b8565b61017867726acafc478ad1f860c01b6107b8565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506101b3673d8591565072bf1f60c01b6107b8565b368060008037600080826000855af43d806000803e81600081146101d657816000f35b816000fd5b6101ef67967eae13d5222be260c01b6107b8565b005b3480156101fd57600080fd5b506102456004803603602081101561021457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107bb565b60405180821515815260200191505060405180910390f35b34801561026957600080fd5b506102b16004803603602081101561028057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107c2565b60405180821515815260200191505060405180910390f35b3480156102d557600080fd5b5061031d600480360360208110156102ec57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107b8565b005b34801561032b57600080fd5b506103cd6004803603606081101561034257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561038957600080fd5b82018360208201111561039b57600080fd5b803590602001918460018302840111640100000000831117156103bd57600080fd5b90919293919293905050506107c9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561040d5780820151818401526020810190506103f2565b50505050905090810190601f16801561043a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561045457600080fd5b5061049c6004803603602081101561046b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610afd565b60405180821515815260200191505060405180910390f35b3480156104c057600080fd5b50610508600480360360208110156104d757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b08565b60405180821515815260200191505060405180910390f35b34801561052c57600080fd5b506105746004803603602081101561054357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b0f565b60405180821515815260200191505060405180910390f35b34801561059857600080fd5b506105a1610b1a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105d957600080fd5b506105e2610b40565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561061a57600080fd5b506106626004803603602081101561063157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b66565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506106ce6004803603602081101561069d57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b71565b005b3480156106dc57600080fd5b50610724600480360360208110156106f357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b74565b005b34801561073257600080fd5b506107756004803603602081101561074957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b77565b005b34801561078357600080fd5b5061078c610d27565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b50565b6000919050565b6000919050565b60606107df6715e98a49f265557060c01b6107b8565b6107f367f6266a592c249da560c01b610b74565b6108076728279893f8537e1960c01b610b74565b61081b67d300d0a9ecbe6cac60c01b610b74565b61082f678d5c0caa285e3ec560c01b610b74565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610d4c602c913960400191505060405180910390fd5b6108e76718b2e4dd03bc759a60c01b610b74565b6108fb67f8b65e28b897a44f60c01b610b74565b61090f67390c85347f6e2a2360c01b6107b8565b61092367d2a3446ca25e972660c01b6107b8565b61093767aca9b4091d5a9bc860c01b6107b8565b61094b67cce790cad14eb25260c01b6107b8565b606061096167b3adbec8c64c374360c01b6107b8565b6109756791d717b4dffb179d60c01b6107b8565b600061098b67310ff00dd2ac011060c01b6107b8565b8673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d80600081146109f7576040519150601f19603f3d011682016040523d82523d6000602084013e6109fc565b606091505b508093508192505050610a1967a450d3c3f63b6d4d60c01b6107b8565b610a2d679a3e7d330ffc414560c01b6107b8565b610a41671925c722e30d4f6d60c01b6107b8565b80610ab4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b610ac867a7fa168288301d1c60c01b6107b8565b610adc6745320fb16320fa4a60c01b6107b8565b610af06779ce6fa2117b3f1e60c01b6107b8565b8192505050949350505050565b600060019050919050565b6000919050565b600060019050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b50565b50565b610b8b6735cfec4d4a3972f660c01b6107b8565b610b9f67f6266a592c249da560c01b610b74565b610bb36728279893f8537e1960c01b610b74565b610bc767d300d0a9ecbe6cac60c01b610b74565b610bdb678d5c0caa285e3ec560c01b610b74565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610d4c602c913960400191505060405180910390fd5b610c936718b2e4dd03bc759a60c01b610b74565b610ca767f8b65e28b897a44f60c01b610b74565b610cbb67dbd823a6f693c9e360c01b6107b8565b610ccf6759af4a1e64a734ae60c01b6107b8565b610ce367123d1e7dcae181d060c01b6107b8565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a4163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420496d706c656d656e746174696f6e20746f20307830506572736f6e616c4163636f756e7452656769737472793a2073656e646572206973206e6f7420746865206163636f756e74206f776e65724163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f2073656c66506572736f6e616c4163636f756e7452656769737472793a206f776e657220646f65736e27742065786973744163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420726567697374727920746f20307830496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a65724163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f2030783047617465776179526563697069656e743a20696e76616c6964206d73672e646174614163636f756e74436f6e74726f6c6c65723a206163636f756e7420616c7265616479207570677261646564506572736f6e616c4163636f756e7452656769737472793a2063616e6e6f742072656d6f76652073656c66477561726465643a2074782e6f726967696e206973206e6f742074686520677561726469616e506572736f6e616c4163636f756e7452656769737472793a204552433230546f6b656e207472616e736665722072657665727465644163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f20636f6e74726f6c6c6572506572736f6e616c4163636f756e7452656769737472793a206f776e657220616c726561647920657869737473506572736f6e616c4163636f756e7452656769737472793a2063616e6e6f742061646420307830206f776e6572a164736f6c634300060c000a", + "deployedBytecode": "0x60806040523480156200001157600080fd5b5060043610620002805760003560e01c8063964f672a1162000159578063d089e11a11620000c9578063e1e382ce1162000087578063e1e382ce1462000fd0578063e5c7278f146200108f578063f0af07211462001158578063f0e97b3314620011a4578063f4876c7414620012065762000280565b8063d089e11a1462000deb578063d0f710d61462000e21578063d84fa10c1462000ec0578063da9fc1ae1462000f22578063db63f5821462000f695762000280565b8063ad8bbdec1162000117578063ad8bbdec1462000bed578063bb890d3f1462000c4f578063bccb31c61462000ccc578063c45433051462000d18578063cade6a5d1462000d7a5762000280565b8063964f672a1462000a3457806399066bc61462000a965780639f106f7e1462000ae2578063a3561e691462000b44578063a526d83b1462000ba65762000280565b806334d323a411620001f5578063614b6c8211620001b3578063614b6c821462000808578063692b0ad9146200086a5780637140415614620008cc57806382fa0d1e146200091357806390482d7214620009755762000280565b806334d323a41462000680578063392e53cd14620007075780633e260b13146200072957806343013c2414620007755780635db3fe3914620007bc5762000280565b8063124e9eb31162000243578063124e9eb314620003e15780631a84140314620004ee5780631aa316db146200055f57806329fbd95714620005c15780633164b5e114620006235762000280565b80630900f01014620002855780630c68ba2114620002cc57806311464fbe1462000329578063116191b6146200035f578063117921d91462000395575b600080fd5b620002ca600480360360208110156200029d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200126d565b005b6200031160048036036020811015620002e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001412565b60405180821515815260200191505060405180910390f35b62000333620014a9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b62000369620014cf565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b620003df60048036036020811015620003ad57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050620014f5565b005b620004d660048036036060811015620003f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156200043757600080fd5b8201836020820111156200044a57600080fd5b803590602001918460018302840111640100000000831117156200046d57600080fd5b9091929391929390803590602001906401000000008111156200048f57600080fd5b820183602082011115620004a257600080fd5b80359060200191846001830284011164010000000083111715620004c557600080fd5b9091929391929390505050620014f8565b60405180821515815260200191505060405180910390f35b6200055d600480360360608110156200050657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050620015f9565b005b620005a9600480360360208110156200057757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062001a74565b60405180821515815260200191505060405180910390f35b6200060b60048036036020811015620005d957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062001a7f565b60405180821515815260200191505060405180910390f35b62000668600480360360208110156200063b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001a8a565b60405180821515815260200191505060405180910390f35b620006ef600480360360608110156200069857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505062001b25565b60405180821515815260200191505060405180910390f35b6200071162001d08565b60405180821515815260200191505060405180910390f35b62000773600480360360208110156200074157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062001da3565b005b620007ba600480360360208110156200078d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001da6565b005b6200080660048036036020811015620007d457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062001e30565b005b62000852600480360360208110156200082057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062001e33565b60405180821515815260200191505060405180910390f35b620008b4600480360360208110156200088257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062001e3e565b60405180821515815260200191505060405180910390f35b6200091160048036036020811015620008e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001e45565b005b6200095d600480360360208110156200092b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050620022c7565b60405180821515815260200191505060405180910390f35b62000a32600480360360608110156200098d57600080fd5b8101908080359060200190640100000000811115620009ab57600080fd5b820183602082011115620009be57600080fd5b80359060200191846020830284011164010000000083111715620009e157600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050620022d2565b005b62000a7e6004803603602081101562000a4c57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050620025fe565b60405180821515815260200191505060405180910390f35b62000ae06004803603602081101562000aae57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062002605565b005b62000b2c6004803603602081101562000afa57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062002608565b60405180821515815260200191505060405180910390f35b62000b8e6004803603602081101562000b5c57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062002613565b60405180821515815260200191505060405180910390f35b62000beb6004803603602081101562000bbe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200261a565b005b62000c376004803603602081101562000c0557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050620027bd565b60405180821515815260200191505060405180910390f35b62000cb46004803603604081101562000c6757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050620027c4565b60405180821515815260200191505060405180910390f35b62000d166004803603602081101562000ce457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506200281c565b005b62000d626004803603602081101562000d3057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506200281f565b60405180821515815260200191505060405180910390f35b62000dbf6004803603602081101562000d9257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200282a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b62000df562002880565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b62000ea86004803603604081101562000e3957600080fd5b81019080803590602001909291908035906020019064010000000081111562000e6157600080fd5b82018360208201111562000e7457600080fd5b8035906020019184600183028401116401000000008311171562000e9757600080fd5b9091929391929390505050620028a6565b60405180821515815260200191505060405180910390f35b62000f0a6004803603602081101562000ed857600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062002943565b60405180821515815260200191505060405180910390f35b62000f676004803603602081101562000f3a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200294a565b005b62000fce6004803603604081101562000f8157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050620029d2565b005b620010776004803603606081101562000fe857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156200103057600080fd5b8201836020820111156200104357600080fd5b803590602001918460018302840111640100000000831117156200106657600080fd5b909192939192939050505062002da3565b60405180821515815260200191505060405180910390f35b6200115660048036036080811015620010a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156200110f57600080fd5b8201836020820111156200112257600080fd5b803590602001918460018302840111640100000000831117156200114557600080fd5b909192939192939050505062002e55565b005b620011a2600480360360208110156200117057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062002f62565b005b620011ee60048036036020811015620011bc57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062002f65565b60405180821515815260200191505060405180910390f35b6200126b600480360360408110156200121e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062002f6c565b005b6200128367e18aef04d0a3e7fd60c01b620014f5565b6200129967e0600b94c13d066760c01b6200281c565b620012af6755e8cedcdd449e2360c01b6200281c565b620012c567ab821ba7fedab67160c01b6200281c565b620012db67c540fbd78e0e2a4960c01b6200281c565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166200137e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018062007c5e6026913960400191505060405180910390fd5b6200139467d014260b312542b460c01b6200281c565b620013aa674e25985d1c99d1f260c01b6200281c565b620013c067bde425c8c34183d160c01b620014f5565b620013d66716dfdb0ce3bf1a4060c01b620014f5565b620013ec6770d8631575aaca4460c01b620014f5565b62001402674fc959c4242125e760c01b620014f5565b6200140f816001620033ed565b50565b60006200142a677ab52c65f999e01f60c01b6200281c565b620014406710268b7b424a1bd560c01b6200281c565b620014566713a157f311059a7b60c01b6200281c565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b50565b60006200151067949773e889da548b60c01b620014f5565b6200152667f5190637de1d985760c01b620014f5565b6200153c671283ba3d6ea74c0a60c01b620014f5565b620015ee86620015e885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050620015d989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506200363f565b620037f290919063ffffffff16565b62003b51565b905095945050505050565b6200160f6775afb3da4fd8e1a760c01b620014f5565b6200162567bfa2decb6c19dc2d60c01b620014f5565b6200163b67f4a1ea1f4f5b73f860c01b620014f5565b620016468362003e48565b506200165d67ed9e75bb5506131060c01b620014f5565b620016736715149635d91133b360c01b620014f5565b6200167e83620044ee565b6200169467103a19a679a70be660c01b620014f5565b620016aa67966e805ee7f4488860c01b620014f5565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200178657620016f667b550661105a5e6c160c01b620014f5565b6200170c6778466374c5e817e760c01b620014f5565b6200172267f69688cc9cb79e3e60c01b620014f5565b6200177f833283600067ffffffffffffffff811180156200174257600080fd5b506040519080825280601f01601f191660200182016040528015620017765781602001600182028036833780820191505090505b506000620046a7565b50620019b2565b6200179c676d2f127c6cbded8b60c01b620014f5565b620017b267c55f6a870f441ea360c01b620014f5565b620017c867e6169000db7124bb60c01b620014f5565b60606200186e8484600063a9059cbb60e01b3287604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506000620046a7565b90506200188667101f3d9ea840d48460c01b620014f5565b6200189c674738e61390960d2160c01b620014f5565b6000815111156200199957620018bd6767f3391e72f7277c60c01b620014f5565b620018d367a2cad286bddc35c860c01b620014f5565b620018e967268be481c9d59d1d60c01b620014f5565b620018ff67983f6fa6c3ed02a760c01b620014f5565b8080602001905160208110156200191557600080fd5b81019080805190602001909291905050506200197d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603581526020018062007c846035913960400191505060405180910390fd5b6200199367dd178cef5d9f784360c01b620014f5565b620019b0565b620019af6755daecce03b98ded60c01b620014f5565b5b505b620019c867a40448aea0b9209a60c01b620014f5565b620019de671253b49880e9934960c01b620014f5565b7feb5511fbef89123439f12682f0e9d0fc9696913b26eee55434c77d62c30aa7ca83328484604051808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390a1505050565b600060019050919050565b600060019050919050565b600062001aa267708237df46d4591860c01b620014f5565b62001ab867d221cc5f2e35948d60c01b620014f5565b62001ace6765dfcb590b568f9b60c01b620014f5565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff169050919050565b600062001b3d6732cd5b0dba9710d060c01b620014f5565b62001b53673020761b9813024460c01b620014f5565b62001b6967878b732ad1f1d98060c01b620014f5565b600062001b8167607ee862765df6de60c01b620014f5565b62001b976756ffa96c87add8b460c01b620014f5565b62001ba3858562003b51565b1562001bdf5762001bbf67714b36fd9436b49d60c01b620014f5565b62001bd5673b53315bebb8e15660c01b620014f5565b6001905062001cd1565b62001bf56713be24a30d0dcecd60c01b620014f5565b62001c0b67b87ae6f22a7b024e60c01b620014f5565b62001cce83600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff1615151515815260200160018201548152505062004d8e90919063ffffffff16565b90505b62001ce7673aff67691d44290e60c01b620014f5565b62001cfd67b3bc166758e3426460c01b620014f5565b809150509392505050565b600062001d2067e29fe2f351ca6b2760c01b62001da3565b62001d36676f5dd3f08b97747760c01b62001da3565b62001d4c673a9488d62818322a60c01b62001da3565b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b62001dbc67e5e772a16aa01e8160c01b620014f5565b62001dd267e47d8686f2af7ef060c01b620014f5565b62001de8678349c7ebd0a81a5f60c01b620014f5565b62001df38162003e48565b5062001e0a670afc4f30eeb71fbf60c01b620014f5565b62001e2067571c5a8b2b0a8b8460c01b620014f5565b62001e2d81600162004f87565b50565b50565b600060019050919050565b6000919050565b62001e5b6747dd6d4e27a092d260c01b6200281c565b62001e7167e0600b94c13d066760c01b6200281c565b62001e876755e8cedcdd449e2360c01b6200281c565b62001e9d67ab821ba7fedab67160c01b6200281c565b62001eb367c540fbd78e0e2a4960c01b6200281c565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1662001f56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018062007c5e6026913960400191505060405180910390fd5b62001f6c67d014260b312542b460c01b6200281c565b62001f82674e25985d1c99d1f260c01b6200281c565b62001f9867736984febec5fd2560c01b6200281c565b62001fae67cbb923c66996310360c01b6200281c565b62001fc4672c114aff1103564b60c01b6200281c565b62001fda67a76a63e34be2bddb60c01b6200281c565b62001ff067a220bc889ca09d2360c01b6200281c565b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141562002093576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f477561726465643a2063616e6e6f742072656d6f76652073656c66000000000081525060200191505060405180910390fd5b620020a9679467d7af09c5944d60c01b6200281c565b620020bf67c28a58b1b15ad6de60c01b6200281c565b620020d567c70b0fecc7c6d3b160c01b6200281c565b620020eb67e7892f9392d41a6760c01b6200281c565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16620021aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f477561726465643a20677561726469616e20646f65736e27742065786973740081525060200191505060405180910390fd5b620021c0675a0de441d13969aa60c01b6200281c565b620021d6674e473b0a29064fba60c01b6200281c565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200224367e398e5606400274660c01b6200281c565b620022596738c3bd156a3471c260c01b6200281c565b7fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b3282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b600060019050919050565b620022e8672d986a70dd19978660c01b620014f5565b620022fe67d2ba19feb39e0b7f60c01b62001da3565b62002314670c5ad53cdb9edd1560c01b62001da3565b6200232a67b6b588d2ebb9ae6960c01b62001da3565b6200234067c4ec9a90a885875260c01b62001da3565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614620023e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018062007b92602f913960400191505060405180910390fd5b620023fe67c3785ba1534db95460c01b62001da3565b6200241467e4202927591248ef60c01b62001da3565b6000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200246c67531cfa2817fbdc8660c01b62001da3565b620024826710d2ca647caa13ef60c01b620014f5565b6200249867c5e1073362bb30bb60c01b620014f5565b620024ae677c2fc0c623f34f1760c01b620014f5565b620024c46754d9e88ab3a297b760c01b620014f5565b62002510848480806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505062005315565b6200252667521fd40cd7f8760560c01b620014f5565b6200253c67b4edb6f6ff7b15b260c01b620014f5565b62002548308362005494565b6200255e677d8bd3a05f4b6b6a60c01b620014f5565b6200257467544450e83605438c60c01b620014f5565b6200257f8162005520565b620025956701520f419008b58e60c01b62001da3565b620025ab6775364c04848b013b60c01b62001da3565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150505050565b6000919050565b50565b600060019050919050565b6000919050565b6200263067c17b66a0b198af7b60c01b6200281c565b6200264667e0600b94c13d066760c01b6200281c565b6200265c6755e8cedcdd449e2360c01b6200281c565b6200267267ab821ba7fedab67160c01b6200281c565b6200268867c540fbd78e0e2a4960c01b6200281c565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166200272b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018062007c5e6026913960400191505060405180910390fd5b6200274167d014260b312542b460c01b6200281c565b62002757674e25985d1c99d1f260c01b6200281c565b6200276d67dfa24a8cc198350160c01b6200281c565b6200278367f9907d82cd18ee0760c01b6200281c565b6200279967dd37ee49f553c5a760c01b6200281c565b620027af679ad66b1d98f77fdf60c01b6200281c565b620027ba8162005590565b50565b6000919050565b6000620027dc67d9f40698cdafefb460c01b620014f5565b620027f26706b914512d0ddf8e60c01b620014f5565b6200280867a9eddccc515ae51b60c01b620014f5565b62002814838362003b51565b905092915050565b50565b600060019050919050565b60006200284267f4a161f24085f2cc60c01b620014f5565b62002858678a467a5966a6113a60c01b620014f5565b6200286e67f2898d9b947f10d060c01b620014f5565b6200287982620058c1565b9050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000620028be670fa739e07c029f9060c01b6200281c565b620028d467406100042e7653bd60c01b6200281c565b620028ea6784104632bda8198f60c01b6200281c565b6200293a8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505062005988565b90509392505050565b6000919050565b6200296067460bc733531e770560c01b620014f5565b62002976675843065cd6ecf36860c01b620014f5565b6200298c671760cefe6a10da7a60c01b620014f5565b620029978162003e48565b50620029ae67d2b7b08e8476a44960c01b620014f5565b620029c467c4108caade9b50e360c01b620014f5565b620029cf81620044ee565b50565b620029e86770b9d781bcb926b460c01b620014f5565b620029fe67906727e01f6aa85e60c01b620014f5565b62002a146701b827d310cfe11d60c01b620014f5565b600062002a218362003e48565b905062002a3967626a661a01a7804b60c01b620014f5565b62002a4f6728cca11810d21b3960c01b620014f5565b62002a6567a8027d9ed3c4801060c01b620014f5565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562002aec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018062007c33602b913960400191505060405180910390fd5b62002b02671d64f04a0cbd3c2d60c01b620014f5565b62002b186780125257db4855f560c01b620014f5565b62002b2e67786a66558108b48b60c01b620014f5565b62002b4467b83a54420a7a78ee60c01b620014f5565b62002bfd600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff1615151515815260200160018201548152505062005a66565b62002c54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018062007b31602c913960400191505060405180910390fd5b62002c6a67fbd8a228a8f1f77a60c01b620014f5565b62002c8067899e8aec8c945fb560c01b620014f5565b43600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555062002d1d673e58acdf3e6c170360c01b620014f5565b62002d3367038fa1c859cd9e2860c01b620014f5565b7f1ce3cbbc43ee231e5b950332f2b0b9dd7d349291a3ee411ce5c5c7ed745661bb8383604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1505050565b600062002dbb67f8f2e3448d3c936160c01b620014f5565b62002dd167fcd5fc1ac915e2fb60c01b620014f5565b62002de7670820634ea29c7b1160c01b620014f5565b62002e4b8562002e4585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505087620037f290919063ffffffff16565b62003b51565b9050949350505050565b62002e6b67789d2f75e275428460c01b620014f5565b62002e8167981f928ed5e6e9a660c01b620014f5565b62002e97675777f12d09d3b93a60c01b620014f5565b62002ea28562003e48565b5062002eb967fdda32926cab7ac260c01b620014f5565b62002ecf675a6b0b5b15d49fb960c01b620014f5565b62002eda85620044ee565b62002ef067ac231b274a94695760c01b620014f5565b62002f066777f4d02982ad96d560c01b620014f5565b62002f5a85858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001620046a7565b505050505050565b50565b6000919050565b62002f82671841f1f0bc650a6e60c01b620014f5565b62002f9867d8cb12991a5557fe60c01b620014f5565b62002fae6766398dce8b66c4fe60c01b620014f5565b62002fb98262003e48565b5062002fd067afd5a8ab9f2a3d3460c01b620014f5565b62002fe66722266b293d95abe960c01b620014f5565b62002ffc67a6d9c03b61572e3660c01b620014f5565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562003084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018062007d12602d913960400191505060405180910390fd5b6200309a67c9382b55067e211d60c01b620014f5565b620030b0679801b864b284677360c01b620014f5565b620030c667b4f021d294e5e22e60c01b620014f5565b620030dc6767e346a0d6fd8cf760c01b620014f5565b62003195600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff1615151515815260200160018201548152505062005a66565b15620031ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018062007ce5602d913960400191505060405180910390fd5b6200320367443905483164659760c01b620014f5565b62003219676f97ea8f4384dd9d60c01b620014f5565b6001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff021916908315150217905550620032ca67d470191cde7d771860c01b620014f5565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506200336867304924367638439560c01b620014f5565b6200337e67618ec03a4906a7d860c01b620014f5565b7f27e282f7712c5b4617277759c834b86d163dfc1aad25c8c3c5926a1c9e5644688282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15050565b620034036763a6d6dd8a86352960c01b62001e30565b62003419678eeff62892cd112860c01b62001e30565b6200342f6781019a5110a6fd2560c01b62001e30565b620034456799570e869b77f36060c01b62001e30565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620034cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b81526020018062007a98603b913960400191505060405180910390fd5b620034e367e6730257a24a5d4d60c01b62001e30565b620034f9675137d05a035c900560c01b62001e30565b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062003550676635cb5a489007f160c01b62001e30565b620035666779ff21fdd4bb44bc60c01b62001e30565b801562003624576200358367ce1bdfd86d0ca23360c01b62001e30565b62003599677479b0cc253e30c560c01b62001e30565b620035af67a2b46e4941f5d4f860c01b62001e30565b7f70d9f5a076620216a6050e493f3ce69749de0b68fa4b839ba2518660ba8b9cf0600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a16200363b565b6200363a6725a77b732bce9b0960c01b62001e30565b5b5050565b600062003657676caf41065fc97a4260c01b62005abd565b6200366d679f00e9579a814efe60c01b62005abd565b62003683678bbf08d0403adc3f60c01b62005abd565b6200368f825162005ac0565b826040516020018082805190602001908083835b60208310620036c85780518252602082019150602081019050602083039250620036a3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405260405160200180807f19457468657265756d205369676e6564204d6573736167653a0a000000000000815250601a0183805190602001908083835b602083106200375c578051825260208201915060208101905060208303925062003737565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b60208310620037af57805182526020820191506020810190506020830392506200378a565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052805190602001209050919050565b60006200380a670d75db982ec4597160c01b62005e4f565b620038206725c2c60ab754182560c01b62005e4f565b62003836673eb64a254569ed0660c01b62005e4f565b60006200384e67fb2a2286066e15e460c01b62005e4f565b6200386467a440db11ec9e986d60c01b62005e4f565b60418351141562003b0457620038856704a5aada48e2763260c01b62005e4f565b6200389b674b98cf1796e5c26660c01b62005e4f565b620038b167d2dfec7b159385fc60c01b62005e4f565b6000620038c96772c2a840621b4aa760c01b62005e4f565b620038df67bfd411e6ba4d07c460c01b62005e4f565b6000620038f767145d23f82764ba9960c01b62005e4f565b6200390d67acdff958a9c6c5dd60c01b62005e4f565b600062003925673b79e3a80932a6a160c01b62005e4f565b6020860151925060408601519150606086015160001a905062003953679b0cdee01a57ea2f60c01b62005e4f565b62003969675dbf88583373227960c01b62005e4f565b601b8160ff161015620039ae576200398c670dc9a1836eb51c3260c01b62005e4f565b620039a2677097d8456a6c3e1560c01b62005e4f565b601b81019050620039c5565b620039c46708b39c61216869e760c01b62005e4f565b5b620039db672ea4d6db7d2138c560c01b62005e4f565b620039f1679ad3f461195a5eee60c01b62005e4f565b601b8160ff1614801562003a17575062003a1667a24e972b59dc7d0560c01b62005e52565b5b8062003a455750601c8160ff1614801562003a44575062003a4367934bee4849491d9560c01b62005e52565b5b5b1562003ae45762003a61676d6a491fc6e072fa60c01b62005e4f565b62003a7767aecd1690d1de9f1c60c01b62005e4f565b60018782858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801562003ad2573d6000803e3d6000fd5b50505060206040510351935062003afb565b62003afa67513fbc3b3a0ad1c060c01b62005e4f565b5b50505062003b1b565b62003b1a6723d6d78de386c96660c01b62005e4f565b5b62003b316707d0c4f11e72cfc960c01b62005e4f565b62003b4767b9689b22f403636c60c01b62005e4f565b8091505092915050565b600062003b6967afadb8a88820edae60c01b620014f5565b62003b7f67f59e6215910c93b460c01b620014f5565b62003b956709a5fd36e15c669560c01b620014f5565b600062003bad678d799f22bb2ad76d60c01b620014f5565b62003bc36740ac51f5da79cb2a60c01b620014f5565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff161562003d135762003c6f67a198f4bcf4ffdda660c01b620014f5565b62003c8567c11e5f9124ff6fdd60c01b620014f5565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015414905062003e12565b62003d2967b8d118ba40c4c5e960c01b620014f5565b62003d3f6710bf881bc6e450cc60c01b620014f5565b6000801b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154141562003dfa5762003da36741130ed6b4861b3560c01b620014f5565b62003db967af61ecb384104a6f60c01b620014f5565b62003dc483620058c1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614905062003e11565b62003e10672ec87586bd7b51b360c01b620014f5565b5b5b62003e286784dc6662a5d1368560c01b620014f5565b62003e3e67ddc6079ede57a7aa60c01b620014f5565b8091505092915050565b600062003e60678aabea3e2c6bca2560c01b620014f5565b62003e766712cfd887af96e54d60c01b620014f5565b62003e8c673829699bd0916c2060c01b620014f5565b600062003e9862005e5d565b905062003eb067104a97d11b31d29660c01b620014f5565b62003ec667973fbaa3edacc7ce60c01b620014f5565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615620040ad5762003f7267b94995b6887eba2d60c01b620014f5565b62003f886748c3d00df978d7f560c01b620014f5565b62003f9e67abc28d2563ef0dff60c01b620014f5565b62003fb467e01714a3962c522a60c01b620014f5565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101541462004091576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603881526020018062007ad36038913960400191505060405180910390fd5b620040a7679499ad56ecdbb2db60c01b620014f5565b620044b9565b620040c367357bc6b129a900b460c01b620014f5565b620040d9671674f1ee1ae0d08b60c01b620014f5565b620040ef676ff03a2c654a99d260c01b620014f5565b6200410567785fda09b7c53a4760c01b620014f5565b6000801b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015414620041a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603881526020018062007ad36038913960400191505060405180910390fd5b620041ba67954b2c179a5d688660c01b620014f5565b620041d0674f269f509bbb534a60c01b620014f5565b620041e667e68180d41a3493f560c01b620014f5565b600081604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040528051906020012090506200424067bdaaa82eb4dda39960c01b620014f5565b620042566765cf1f9f13f20afb60c01b620014f5565b6200426c678c4ee105f3022bf460c01b620014f5565b620042778162005eb2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614620042fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603881526020018062007ad36038913960400191505060405180910390fd5b62004312678013dbf8a9e452ae60c01b620014f5565b6200432867d88d2e044dab125860c01b620014f5565b80600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550620043856720f9f84d359edc0660c01b620014f5565b6001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff02191690831515021790555062004436679e1ca48701df546460c01b620014f5565b6200444c67c3772f0565efb24f60c01b620014f5565b7f27e282f7712c5b4617277759c834b86d163dfc1aad25c8c3c5926a1c9e5644688483604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1505b620044cf67ca67e5de902a827d60c01b620014f5565b620044e567d7e2ed585989010260c01b620014f5565b80915050919050565b62004504670ba7a4c1489fca3460c01b620014f5565b6200451a67651acfe85e858e5460c01b620014f5565b62004530675151ef5b0651bcd760c01b620014f5565b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff166200468d576200459b679231e89a19a99aca60c01b620014f5565b620045b0666f3f3d70558f5960c01b620014f5565b620045c6678e10a66544cc428160c01b620014f5565b62004615600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154600162006146565b506200462c67c689dcb05f1e851d60c01b620014f5565b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff021916908315150217905550620046a4565b620046a36756b574c458e1b11860c01b620014f5565b5b50565b6060620046bf67d03cbc512208c19360c01b62001e30565b620046d567f0724c2f605051ae60c01b62001e30565b620046eb672c1f163d378fb1c760c01b62001e30565b62004701676e332d1ea295ad6760c01b62001e30565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141562004789576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018062007bc16025913960400191505060405180910390fd5b6200479f6734003fde0e365df960c01b62001e30565b620047b5676f78eb7775d96ac060c01b62001e30565b620047cb6762ea15fa7f97e6d860c01b62001e30565b620047e167c1e60fa2c652db9260c01b62001e30565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141562004868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018062007cb9602c913960400191505060405180910390fd5b6200487e67c4c441efc53987a460c01b62001e30565b62004894670a4409d86344b6de60c01b62001e30565b620048aa67f30c8cf3d7c2007160c01b62001e30565b620048c0677b93c54c10ec39b960c01b62001e30565b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141562004947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018062007b0b6026913960400191505060405180910390fd5b6200495d67d0eadcda5ce01ef660c01b62001e30565b620049736708e5898037826a0e60c01b62001e30565b62004989679eda6876d502675260c01b62001e30565b60608673ffffffffffffffffffffffffffffffffffffffff16633f579f428787876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101562004a1d57808201518184015260208101905062004a00565b50505050905090810190601f16801562004a4b5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801562004a6d57600080fd5b505af115801562004a82573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101562004aad57600080fd5b810190808051604051939291908464010000000082111562004ace57600080fd5b8382019150602082018581111562004ae557600080fd5b825186600182028301116401000000008211171562004b0357600080fd5b8083526020830192505050908051906020019080838360005b8381101562004b3957808201518184015260208101905062004b1c565b50505050905090810190601f16801562004b675780820380516001836020036101000a031916815260200191505b50604052505050905062004b866787669d68dca3195b60c01b62001e30565b62004b9c673ac670a41bf75b6a60c01b62001e30565b821562004d3e5762004bb967d53a5613f66004c060c01b62001e30565b62004bcf67fefbdbb940a6f1de60c01b62001e30565b62004be5678bc5a3cf9a4cc9b860c01b62001e30565b7f99eeae1fb8801e2e878e060ec5e5b3557b3c4f8106e35d88cb573f293dae4e248787878785604051808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101562004c8f57808201518184015260208101905062004c72565b50505050905090810190601f16801562004cbd5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101562004cf857808201518184015260208101905062004cdb565b50505050905090810190601f16801562004d265780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a162004d55565b62004d54674b9471e9fc68f75f60c01b62001e30565b5b62004d6b6744627d43ccecd7f160c01b62001e30565b62004d816717d248a7372779a660c01b62001e30565b8091505095945050505050565b600062004da6679c9d1daabf83176160c01b62006397565b62004dbc674a60477fa1015d9d60c01b62006397565b62004dd2671d2dfd1cbc37881260c01b62006397565b600062004dea675c84658542d4247860c01b62006397565b62004e00676c38c63a8395bd4160c01b62006397565b83600001511562004f3a5762004e21673a129e7e3fa8299860c01b62006397565b62004e3767d5d911350233c4aa60c01b62006397565b62004e4d6788aca451346a904360c01b62006397565b60008460200151141562004e915762004e71671cab9521da0eae6e60c01b62006397565b62004e87679a431a7af70a318b60c01b62006397565b6001905062004f34565b62004ea76728a02509a30cdf2f60c01b62006397565b62004ebd67a315ca16c55cdf1660c01b62006397565b600083141562004efd5762004edd67e5e2fd7cbec5211b60c01b62006397565b62004ef3676bc9eb4a60fdc77060c01b62006397565b6001905062004f33565b62004f13670dbcda2f621ef14860c01b62006397565b62004f2967cbf2e8a46e9eb31e60c01b62006397565b8284602001511190505b5b62004f51565b62004f50679312107b7e60296d60c01b62006397565b5b62004f67676d1c114b386646c760c01b62006397565b62004f7d67b26d3c1cf974c30e60c01b62006397565b8091505092915050565b62004f9d671e986652550cd6b760c01b62001e30565b62004fb36712f52b022ec7e94e60c01b62001e30565b62004fc967d13332898fe9198160c01b62001e30565b62004fdf677771d5f99d0f0ea860c01b62001e30565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200505f57600080fd5b505afa15801562005074573d6000803e3d6000fd5b505050506040513d60208110156200508b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614156200510b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018062007c08602b913960400191505060405180910390fd5b62005121671d9e65030376f52a60c01b62001e30565b6200513767de7455456727db8960c01b62001e30565b6200514d671ad3abe77081920060c01b62001e30565b8173ffffffffffffffffffffffffffffffffffffffff1663d784d426600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015620051d957600080fd5b505af1158015620051ee573d6000803e3d6000fd5b5050505062005208672dc6faf1b96e638260c01b62001e30565b6200521e673ac280b3b6cdcef460c01b62001e30565b8015620052fa576200523b674cef15a637c5d09560c01b62001e30565b6200525167a51c2a16f15f5aee60c01b62001e30565b620052676739bd33583f67f11d60c01b62001e30565b7feec27cdb8bd6f55c2c537deb52ab094a2437e85ef5197e6f064f90bff3ff563f82600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a162005311565b6200531067a8db68da35e394a360c01b62001e30565b5b5050565b6200532b67f4de5e8e73d6ad8760c01b6200281c565b6200534167db1ce0981035d84760c01b6200281c565b6200535767e97a0a25809a3f0960c01b6200281c565b600081511415620053b5576200537867de11b839232da49160c01b6200281c565b6200538e67b59bd2ea0c1c89a260c01b6200281c565b620053a467652fe2786000e62060c01b6200281c565b620053af3262005590565b62005491565b620053cb67ad5f6f13dddc2ad960c01b6200281c565b620053e1672af46088979bcb2160c01b6200281c565b620053f76796cb81cf0bf6606d60c01b6200281c565b60008151905062005413672f4c11881b8dca8c60c01b6200281c565b6200542967cec4e8db5057edad60c01b6200281c565b60005b818110156200548e576200544b671a5cc94c8b734dd960c01b6200281c565b6200546167e437d14e98e20b2f60c01b6200281c565b620054808382815181106200547257fe5b602002602001015162005590565b80806001019150506200542c565b50505b50565b620054aa671af942b4819087fc60c01b62001e30565b620054c0670f0a44d9ed8d066760c01b62001e30565b620054d667af6f6ca5a19aa0c460c01b62001e30565b620054e38260006200639a565b620054f967dd02c4093239d2e360c01b62001e30565b6200550f674754410ba216543b60c01b62001e30565b6200551c816000620033ed565b5050565b62005536670beab42e12728d3b60c01b62002f62565b6200554c675ecbac840a5512ec60c01b62002f62565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b620055a66703611a9e4063d8ea60c01b6200281c565b620055bc67ee1baacaa033494260c01b6200281c565b620055d26751e5840de998a97760c01b6200281c565b620055e8676f82de74e2e2e03560c01b6200281c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156200568c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a2063616e6e6f74206164642030783020677561726469616e81525060200191505060405180910390fd5b620056a26717cb80dba7a8a0ea60c01b6200281c565b620056b867e2f8fabe2a63d8b660c01b6200281c565b620056ce677550a657f22d30dc60c01b6200281c565b620056e4673c81d7073dbe6f3060c01b6200281c565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615620057a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a20677561726469616e20616c72656164792065786973747381525060200191505060405180910390fd5b620057ba67bc5a1f0994a7f54e60c01b6200281c565b620057d0679a7f014629c7374960c01b6200281c565b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200583d67d71c83e9f3188e9d60c01b6200281c565b6200585367e4bfbd26cb5c77e660c01b6200281c565b7fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b6000620058d967371a9b64621a2c3d60c01b620014f5565b620058ef676a9989a74d1b4b0b60c01b620014f5565b620059056764d7e3a68d8c5bb760c01b620014f5565b600082604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040528051906020012090506200595f6788a53d430ff364e660c01b620014f5565b62005975673cb194ec28165cb960c01b620014f5565b620059808162005eb2565b915050919050565b6000620059a067fbe9af14abc78ca860c01b6200281c565b620059b667bd3616cf00f8ad2b60c01b6200281c565b620059cc670aad941719c9b69b60c01b6200281c565b6000620059e38385620037f290919063ffffffff16565b9050620059fb6706f556c4601e7cd060c01b6200281c565b62005a1167344e7bee2db8345860c01b6200281c565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b600062005a7e679cab3b0c44b8044060c01b62006397565b62005a9467ca9af921644e3db460c01b62006397565b62005aaa67fb2347240336566c60c01b62006397565b62005ab6824362004d8e565b9050919050565b50565b606062005ad867e3a0abd5bcd9be4560c01b620065ec565b62005aee676f4ac71b01df0db160c01b620065ec565b62005b046721d33336b8b2843560c01b620065ec565b600082141562005b8e5762005b246799734a524846f5ea60c01b620065ec565b62005b3a6786ec3af2b5204b2d60c01b620065ec565b62005b50675f049c9df345fcb860c01b620065ec565b6040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905062005e4a565b62005ba4674e123f29ad8e63ae60c01b620065ec565b62005bba678a02b86c6f5ae79060c01b620065ec565b62005bd067aef6cecdbdb7f12260c01b620065ec565b600082905062005beb675ee403aa4c2e194160c01b620065ec565b62005c0167c9a686dccda57deb60c01b620065ec565b600062005c196770f6e6f301963e5060c01b620065ec565b62005c2f67cec46452a4c2007960c01b620065ec565b5b6000821462005c815762005c4f67a2c57d3c793a6eb760c01b620065ec565b808060010191505062005c6d677b9437f81985d6c960c01b620065ec565b600a828162005c7857fe5b04915062005c30565b62005c97675b6ccf3f6790a03260c01b620065ec565b62005cad67c5942845ca4d8bd160c01b620065ec565b60608167ffffffffffffffff8111801562005cc757600080fd5b506040519080825280601f01601f19166020018201604052801562005cfb5781602001600182028036833780820191505090505b50905062005d1467f47605e8a1a97a4f60c01b620065ec565b62005d2a67fb23949ab383488b60c01b620065ec565b600060018303905062005d4867f586ddddd202275b60c01b620065ec565b85935062005d61670a29638383e5bbf260c01b620065ec565b62005d7767417a1c155b8c8d7860c01b620065ec565b5b6000841462005e165762005d976730db4ddbb2bce57560c01b620065ec565b600a848162005da257fe5b0660300160f81b8282806001900393508151811062005dbd57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535062005e026753f1af39e9b748c960c01b620065ec565b600a848162005e0d57fe5b04935062005d78565b62005e2c674d1eb2df4daf6cff60c01b620065ec565b62005e42677ce056f455b7e7f260c01b620065ec565b819450505050505b919050565b50565b600060019050919050565b600062005e7567e6b9fb986a1ba5a160c01b62002f62565b62005e8b67e5f2b4fde85ab0e060c01b62002f62565b62005ea1675a28d96f6aadd0b960c01b62002f62565b62005ead6014620065ef565b905090565b600062005eca67834d7dcd68b198b060c01b62001e30565b62005ee0673ff175921f5f538960c01b62001e30565b62005ef66701ee97873b03827f60c01b62001e30565b60606040518060200162005f0a9062006b22565b6020820181038252601f19601f82011660405250600060a01b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600060a01b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516020018086805190602001908083835b6020831062005fa6578051825260208201915060208101905060208303925062005f81565b6001836020036101000a0380198251168184511680821785525050505050509050018573ffffffffffffffffffffffffffffffffffffffff19168152600c018473ffffffffffffffffffffffffffffffffffffffff1660601b81526014018373ffffffffffffffffffffffffffffffffffffffff19168152600c018273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019550505050505060405160208183030381529060405290506200606e67c5994a000b72ff9b60c01b62001e30565b62006084673303398cfdf0748c60c01b62001e30565b600060ff60f81b3085848051906020012060405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018473ffffffffffffffffffffffffffffffffffffffff1660601b81526014018381526020018281526020019450505050506040516020818303038152906040528051906020012090506200612367d5638e0e835e9fc260c01b62001e30565b620061396765b94d8c76f4fb1960c01b62001e30565b8060001c92505050919050565b60006200615e6769d35e844fb436a560c01b62001e30565b6200617467d05843a5b30ee56160c01b62001e30565b6200618a676a5949dc1605b72d60c01b62001e30565b600083600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051620061e19062006b22565b808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff168152602001925050508190604051809103906000f59050801580156200623f573d6000803e3d6000fd5b50905062006258671fbc5a34026c932160c01b62001e30565b6200626e6729f16a915d858e6660c01b62001e30565b82156200634a576200628b674ad44f27dbd7e2bf60c01b62001e30565b620062a1671948a2809685e8a560c01b62001e30565b620062b7674e798983ba62ea2160c01b62001e30565b7f2682a218602b9036c9869f006c5405ee4a1a65267653eb7e286123e5e1afde4c81600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a162006361565b620063606753f95733749efee660c01b62001e30565b5b620063776713228e0b40e520f960c01b62001e30565b6200638d679f460b7957fd280860c01b62001e30565b8091505092915050565b50565b620063b06757e53bb83d0ee18c60c01b62001e30565b620063c6674b6db0292681de8060c01b62001e30565b620063dc67634dbba0de15713160c01b62001e30565b620063f26716603faf2a4da76360c01b62001e30565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200647a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603581526020018062007b5d6035913960400191505060405180910390fd5b6200649067fdb2085a5ff3fca060c01b62001e30565b620064a6677c845799041d8f7d60c01b62001e30565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620064fd67cb55668fb6fee71c60c01b62001e30565b6200651367372f88a4084cef5b60c01b62001e30565b8015620065d15762006530671b487ad986e5d06660c01b62001e30565b6200654667734c16c2ea37d8f760c01b62001e30565b6200655c670feaed23a94b80cf60c01b62001e30565b7f02e3c47057b8dc27a0929d3c394c314c73aa002d46939c31c9f71d1e77e86c10600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1620065e8565b620065e767b56e759927012ec660c01b62001e30565b5b5050565b50565b6000620066076787c8246a4b35d1f160c01b62002f62565b6200661d67976a1e8d41064d2460c01b62002f62565b62006633671867d8bf077bb31160c01b62002f62565b60006200664b67bdfeda5454a1273960c01b62002f62565b62006661677709e048711a13c960c01b62002f62565b6200666b620067a7565b1562006742576200668767d3c6f6b0bcac9b6e60c01b62002f62565b6200669d673b2573735f5d680260c01b62002f62565b620066b3675089eb0622c78a2260c01b62002f62565b6000836000369050039050620066d4674bc94a8e9a6ee57960c01b62002f62565b6200673960003683906014850192620066f09392919062006b30565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050620069a8565b91505062006772565b62006758677e45e81af2ec2edc60c01b62002f62565b6200676e67391e31dbfdfb407e60c01b62002f62565b3390505b6200678867c4042e2c7c2c999760c01b62002f62565b6200679e67fc44c5cccf2cd16760c01b62002f62565b80915050919050565b6000620067bf6714ec9ba31585b6f760c01b62002f62565b620067d56764d00f8ee4cbc0f460c01b62002f62565b620067eb6728aef4b71ffef7e260c01b62002f62565b600062006803677b6cf6392b8d09d960c01b62002f62565b6200681967da655f124163f4bc60c01b62002f62565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156200695e5762006886678c4556fd14dc507160c01b62002f62565b6200689c674811af4455ee520960c01b62002f62565b620068b267ae36e4b52033411860c01b62002f62565b620068c867ffe63a27679b309260c01b62002f62565b602c6000369050101562006928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018062007be66022913960400191505060405180910390fd5b6200693e67d1762b0b1ca636f360c01b62002f62565b620069546769c465f7e405b9f660c01b62002f62565b6001905062006975565b620069746710f40798097af22060c01b62002f62565b5b6200698b671855328cbdf7411660c01b62002f62565b620069a1670e4f1457e534f9ac60c01b62002f62565b8091505090565b6000620069c0670df8d76b8cabf76a60c01b62006b1f565b620069d667e180fcce9e2bf4c560c01b62006b1f565b620069ec670dcb70abe8e8bb0b60c01b62006b1f565b600062006a0467c9f13cc22eb780e060c01b62006b1f565b62006a1a67c60f8d891ff21de960c01b62006b1f565b62006a306782bb9e679e55c73460c01b62006b1f565b601483511462006aa8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f42797465734c69623a20696e76616c69642064617461206c656e67746800000081525060200191505060405180910390fd5b62006abe679ea304b1b6348ade60c01b62006b1f565b62006ad467a0049b4768bf518260c01b62006b1f565b6c01000000000000000000000000602084015104905062006b00671f4dc55703cfba1860c01b62006b1f565b62006b1667afb63a07e82275e260c01b62006b1f565b80915050919050565b50565b610f328062006b6683390190565b6000808585111562006b4157600080fd5b8386111562006b4f57600080fd5b600185028301915084860390509450949250505056fe608060405234801561001057600080fd5b50604051610f32380380610f328339818101604052604081101561003357600080fd5b810190808051906020019092919080519060200190929190505050610068674c05ed6aa1cd281960c01b61019960201b60201c565b610082675db0dfd7018850c360c01b61019960201b60201c565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506100dc6727cd07b305f6130f60c01b61019c60201b60201c565b6100f6673763e953c2595ed960c01b61019c60201b60201c565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610151679802ebbc23dba3ba60c01b61019c60201b60201c565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505061019f565b50565b50565b610d84806101ae6000396000f3fe6080604052600436106100e15760003560e01c80635c60da1b1161007f578063a42ea70811610059578063a42ea7081461067a578063d1c43eae146106d0578063d784d42614610726578063f77c479114610777576100e8565b80635c60da1b1461058c5780637b103999146105cd5780638f9bda6e1461060e576100e8565b80633f579f42116100bb5780633f579f421461031f57806344f9c9ec14610448578063550648ff146104b457806356c2fc6c14610520576100e8565b806310b90163146101f1578063221523e51461025d57806325afd90f146102c9576100e8565b366100e857005b3480156100f457600080fd5b5061010967d1c166158a76fd7860c01b6107b8565b61011d670a4a924f04604fe560c01b6107b8565b610131670ec1ea2f1a11078060c01b6107b8565b600080369050146101db57610150670366ed24f6d51c0d60c01b6107b8565b61016467583b5ef5a1a2fce260c01b6107b8565b61017867726acafc478ad1f860c01b6107b8565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506101b3673d8591565072bf1f60c01b6107b8565b368060008037600080826000855af43d806000803e81600081146101d657816000f35b816000fd5b6101ef67967eae13d5222be260c01b6107b8565b005b3480156101fd57600080fd5b506102456004803603602081101561021457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107bb565b60405180821515815260200191505060405180910390f35b34801561026957600080fd5b506102b16004803603602081101561028057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107c2565b60405180821515815260200191505060405180910390f35b3480156102d557600080fd5b5061031d600480360360208110156102ec57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107b8565b005b34801561032b57600080fd5b506103cd6004803603606081101561034257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561038957600080fd5b82018360208201111561039b57600080fd5b803590602001918460018302840111640100000000831117156103bd57600080fd5b90919293919293905050506107c9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561040d5780820151818401526020810190506103f2565b50505050905090810190601f16801561043a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561045457600080fd5b5061049c6004803603602081101561046b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610afd565b60405180821515815260200191505060405180910390f35b3480156104c057600080fd5b50610508600480360360208110156104d757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b08565b60405180821515815260200191505060405180910390f35b34801561052c57600080fd5b506105746004803603602081101561054357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b0f565b60405180821515815260200191505060405180910390f35b34801561059857600080fd5b506105a1610b1a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105d957600080fd5b506105e2610b40565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561061a57600080fd5b506106626004803603602081101561063157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b66565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506106ce6004803603602081101561069d57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b71565b005b3480156106dc57600080fd5b50610724600480360360208110156106f357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b74565b005b34801561073257600080fd5b506107756004803603602081101561074957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b77565b005b34801561078357600080fd5b5061078c610d27565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b50565b6000919050565b6000919050565b60606107df6715e98a49f265557060c01b6107b8565b6107f367f6266a592c249da560c01b610b74565b6108076728279893f8537e1960c01b610b74565b61081b67d300d0a9ecbe6cac60c01b610b74565b61082f678d5c0caa285e3ec560c01b610b74565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610d4c602c913960400191505060405180910390fd5b6108e76718b2e4dd03bc759a60c01b610b74565b6108fb67f8b65e28b897a44f60c01b610b74565b61090f67390c85347f6e2a2360c01b6107b8565b61092367d2a3446ca25e972660c01b6107b8565b61093767aca9b4091d5a9bc860c01b6107b8565b61094b67cce790cad14eb25260c01b6107b8565b606061096167b3adbec8c64c374360c01b6107b8565b6109756791d717b4dffb179d60c01b6107b8565b600061098b67310ff00dd2ac011060c01b6107b8565b8673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d80600081146109f7576040519150601f19603f3d011682016040523d82523d6000602084013e6109fc565b606091505b508093508192505050610a1967a450d3c3f63b6d4d60c01b6107b8565b610a2d679a3e7d330ffc414560c01b6107b8565b610a41671925c722e30d4f6d60c01b6107b8565b80610ab4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b610ac867a7fa168288301d1c60c01b6107b8565b610adc6745320fb16320fa4a60c01b6107b8565b610af06779ce6fa2117b3f1e60c01b6107b8565b8192505050949350505050565b600060019050919050565b6000919050565b600060019050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b50565b50565b610b8b6735cfec4d4a3972f660c01b6107b8565b610b9f67f6266a592c249da560c01b610b74565b610bb36728279893f8537e1960c01b610b74565b610bc767d300d0a9ecbe6cac60c01b610b74565b610bdb678d5c0caa285e3ec560c01b610b74565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610d4c602c913960400191505060405180910390fd5b610c936718b2e4dd03bc759a60c01b610b74565b610ca767f8b65e28b897a44f60c01b610b74565b610cbb67dbd823a6f693c9e360c01b6107b8565b610ccf6759af4a1e64a734ae60c01b6107b8565b610ce367123d1e7dcae181d060c01b6107b8565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a4163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420496d706c656d656e746174696f6e20746f20307830506572736f6e616c4163636f756e7452656769737472793a2073656e646572206973206e6f7420746865206163636f756e74206f776e65724163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f2073656c66506572736f6e616c4163636f756e7452656769737472793a206f776e657220646f65736e27742065786973744163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420726567697374727920746f20307830496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a65724163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f2030783047617465776179526563697069656e743a20696e76616c6964206d73672e646174614163636f756e74436f6e74726f6c6c65723a206163636f756e7420616c7265616479207570677261646564506572736f6e616c4163636f756e7452656769737472793a2063616e6e6f742072656d6f76652073656c66477561726465643a2074782e6f726967696e206973206e6f742074686520677561726469616e506572736f6e616c4163636f756e7452656769737472793a204552433230546f6b656e207472616e736665722072657665727465644163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f20636f6e74726f6c6c6572506572736f6e616c4163636f756e7452656769737472793a206f776e657220616c726561647920657869737473506572736f6e616c4163636f756e7452656769737472793a2063616e6e6f742061646420307830206f776e6572a164736f6c634300060c000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/ReentrancyGuard.json b/artifacts/ReentrancyGuard.json index 4ec473d4..eea28751 100644 --- a/artifacts/ReentrancyGuard.json +++ b/artifacts/ReentrancyGuard.json @@ -7,6 +7,57 @@ "inputs": [], "name": "ReentrancyError", "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9296fc39", + "type": "bytes8" + } + ], + "name": "c_9296fc39", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9296fc39", + "type": "bytes8" + } + ], + "name": "c_false9296fc39", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9296fc39", + "type": "bytes8" + } + ], + "name": "c_true9296fc39", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" } ], "bytecode": "0x", diff --git a/artifacts/SGReceiver.json b/artifacts/SGReceiver.json deleted file mode 100644 index 5ae402b6..00000000 --- a/artifacts/SGReceiver.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "SGReceiver", - "sourceName": "src/bridges/helpers/SGReceiver.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_sgRouter", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "ReentrancyError", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "StargateReceivedOnDestination", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amountLD", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_payload", - "type": "bytes" - } - ], - "name": "sgReceive", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50604051610ce2380380610ce28339818101604052810190610032919061008d565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506100ff565b600081519050610087816100e8565b92915050565b60006020828403121561009f57600080fd5b60006100ad84828501610078565b91505092915050565b60006100c1826100c8565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6100f1816100b6565b81146100fc57600080fd5b50565b610bd48061010e6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ab8236f314610030575b600080fd5b61004a60048036038101906100459190610612565b61004c565b005b60006100566101bf565b9050600181600001541415610097576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461012f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012690610861565b60405180910390fd5b60008280602001905181019061014591906105c0565b905061017281858773ffffffffffffffffffffffffffffffffffffffff166101ec9092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c85856040516101a39291906107f6565b60405180910390a1506000816000018190555050505050505050565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b61026d8363a9059cbb60e01b848460405160240161020b9291906107f6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610272565b505050565b60006102d4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166103399092919063ffffffff16565b905060008151111561033457808060200190518101906102f491906105e9565b610333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032a906108a1565b60405180910390fd5b5b505050565b60606103488484600085610351565b90509392505050565b606082471015610396576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038d90610841565b60405180910390fd5b61039f85610465565b6103de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d590610881565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161040791906107df565b60006040518083038185875af1925050503d8060008114610444576040519150601f19603f3d011682016040523d82523d6000602084013e610449565b606091505b5091509150610459828286610488565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610498578290506104e8565b6000835111156104ab5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104df919061081f565b60405180910390fd5b9392505050565b60006105026104fd846108e6565b6108c1565b90508281526020810184848401111561051a57600080fd5b6105258482856109b1565b509392505050565b60008135905061053c81610b54565b92915050565b60008151905061055181610b6b565b92915050565b60008151905061056681610b82565b92915050565b600082601f83011261057d57600080fd5b813561058d8482602086016104ef565b91505092915050565b6000813590506105a581610b99565b92915050565b6000813590506105ba81610bb0565b92915050565b6000602082840312156105d257600080fd5b60006105e084828501610542565b91505092915050565b6000602082840312156105fb57600080fd5b600061060984828501610557565b91505092915050565b60008060008060008060c0878903121561062b57600080fd5b600061063989828a01610596565b965050602087013567ffffffffffffffff81111561065657600080fd5b61066289828a0161056c565b955050604061067389828a016105ab565b945050606061068489828a0161052d565b935050608061069589828a016105ab565b92505060a087013567ffffffffffffffff8111156106b257600080fd5b6106be89828a0161056c565b9150509295509295509295565b6106d481610949565b82525050565b60006106e582610917565b6106ef818561092d565b93506106ff8185602086016109c0565b80840191505092915050565b600061071682610922565b6107208185610938565b93506107308185602086016109c0565b61073981610a53565b840191505092915050565b6000610751602683610938565b915061075c82610a64565b604082019050919050565b6000610774601f83610938565b915061077f82610ab3565b602082019050919050565b6000610797601d83610938565b91506107a282610adc565b602082019050919050565b60006107ba602a83610938565b91506107c582610b05565b604082019050919050565b6107d9816109a7565b82525050565b60006107eb82846106da565b915081905092915050565b600060408201905061080b60008301856106cb565b61081860208301846107d0565b9392505050565b60006020820190508181036000830152610839818461070b565b905092915050565b6000602082019050818103600083015261085a81610744565b9050919050565b6000602082019050818103600083015261087a81610767565b9050919050565b6000602082019050818103600083015261089a8161078a565b9050919050565b600060208201905081810360008301526108ba816107ad565b9050919050565b60006108cb6108dc565b90506108d782826109f3565b919050565b6000604051905090565b600067ffffffffffffffff82111561090157610900610a24565b5b61090a82610a53565b9050602081019050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061095482610987565b9050919050565b600061096682610987565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156109de5780820151818401526020810190506109c3565b838111156109ed576000848401525b50505050565b6109fc82610a53565b810181811067ffffffffffffffff82111715610a1b57610a1a610a24565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b610b5d81610949565b8114610b6857600080fd5b50565b610b748161095b565b8114610b7f57600080fd5b50565b610b8b8161096d565b8114610b9657600080fd5b50565b610ba281610979565b8114610bad57600080fd5b50565b610bb9816109a7565b8114610bc457600080fd5b5056fea164736f6c6343000804000a", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ab8236f314610030575b600080fd5b61004a60048036038101906100459190610612565b61004c565b005b60006100566101bf565b9050600181600001541415610097576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461012f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012690610861565b60405180910390fd5b60008280602001905181019061014591906105c0565b905061017281858773ffffffffffffffffffffffffffffffffffffffff166101ec9092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c85856040516101a39291906107f6565b60405180910390a1506000816000018190555050505050505050565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b61026d8363a9059cbb60e01b848460405160240161020b9291906107f6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610272565b505050565b60006102d4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166103399092919063ffffffff16565b905060008151111561033457808060200190518101906102f491906105e9565b610333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032a906108a1565b60405180910390fd5b5b505050565b60606103488484600085610351565b90509392505050565b606082471015610396576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038d90610841565b60405180910390fd5b61039f85610465565b6103de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d590610881565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161040791906107df565b60006040518083038185875af1925050503d8060008114610444576040519150601f19603f3d011682016040523d82523d6000602084013e610449565b606091505b5091509150610459828286610488565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610498578290506104e8565b6000835111156104ab5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104df919061081f565b60405180910390fd5b9392505050565b60006105026104fd846108e6565b6108c1565b90508281526020810184848401111561051a57600080fd5b6105258482856109b1565b509392505050565b60008135905061053c81610b54565b92915050565b60008151905061055181610b6b565b92915050565b60008151905061056681610b82565b92915050565b600082601f83011261057d57600080fd5b813561058d8482602086016104ef565b91505092915050565b6000813590506105a581610b99565b92915050565b6000813590506105ba81610bb0565b92915050565b6000602082840312156105d257600080fd5b60006105e084828501610542565b91505092915050565b6000602082840312156105fb57600080fd5b600061060984828501610557565b91505092915050565b60008060008060008060c0878903121561062b57600080fd5b600061063989828a01610596565b965050602087013567ffffffffffffffff81111561065657600080fd5b61066289828a0161056c565b955050604061067389828a016105ab565b945050606061068489828a0161052d565b935050608061069589828a016105ab565b92505060a087013567ffffffffffffffff8111156106b257600080fd5b6106be89828a0161056c565b9150509295509295509295565b6106d481610949565b82525050565b60006106e582610917565b6106ef818561092d565b93506106ff8185602086016109c0565b80840191505092915050565b600061071682610922565b6107208185610938565b93506107308185602086016109c0565b61073981610a53565b840191505092915050565b6000610751602683610938565b915061075c82610a64565b604082019050919050565b6000610774601f83610938565b915061077f82610ab3565b602082019050919050565b6000610797601d83610938565b91506107a282610adc565b602082019050919050565b60006107ba602a83610938565b91506107c582610b05565b604082019050919050565b6107d9816109a7565b82525050565b60006107eb82846106da565b915081905092915050565b600060408201905061080b60008301856106cb565b61081860208301846107d0565b9392505050565b60006020820190508181036000830152610839818461070b565b905092915050565b6000602082019050818103600083015261085a81610744565b9050919050565b6000602082019050818103600083015261087a81610767565b9050919050565b6000602082019050818103600083015261089a8161078a565b9050919050565b600060208201905081810360008301526108ba816107ad565b9050919050565b60006108cb6108dc565b90506108d782826109f3565b919050565b6000604051905090565b600067ffffffffffffffff82111561090157610900610a24565b5b61090a82610a53565b9050602081019050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061095482610987565b9050919050565b600061096682610987565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156109de5780820151818401526020810190506109c3565b838111156109ed576000848401525b50505050565b6109fc82610a53565b810181811067ffffffffffffffff82111715610a1b57610a1a610a24565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b610b5d81610949565b8114610b6857600080fd5b50565b610b748161095b565b8114610b7f57600080fd5b50565b610b8b8161096d565b8114610b9657600080fd5b50565b610ba281610979565b8114610bad57600080fd5b50565b610bb9816109a7565b8114610bc457600080fd5b5056fea164736f6c6343000804000a", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/SafeERC20.json b/artifacts/SafeERC20.json index 915c4351..c1fa53fb 100644 --- a/artifacts/SafeERC20.json +++ b/artifacts/SafeERC20.json @@ -3,8 +3,8 @@ "contractName": "SafeERC20", "sourceName": "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol", "abi": [], - "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bc2b5f2dd5fb2d16c42ba7ec07a996cd23388cc2c0847428792af17b562b998064736f6c63430008110033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bc2b5f2dd5fb2d16c42ba7ec07a996cd23388cc2c0847428792af17b562b998064736f6c63430008110033", + "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208e1a70fc3e9e2fe9cd32e7e06a26fc5a30ee3cd18f9384a5493a35f8391c7e5364736f6c63430008110033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208e1a70fc3e9e2fe9cd32e7e06a26fc5a30ee3cd18f9384a5493a35f8391c7e5364736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/SignatureValidator.json b/artifacts/SignatureValidator.json index 33e64f29..835dfc8e 100644 --- a/artifacts/SignatureValidator.json +++ b/artifacts/SignatureValidator.json @@ -3,6 +3,57 @@ "contractName": "SignatureValidator", "sourceName": "src/common/signature/SignatureValidator.sol", "abi": [ + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__52615ca8", + "type": "bytes8" + } + ], + "name": "c_52615ca8", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__52615ca8", + "type": "bytes8" + } + ], + "name": "c_false52615ca8", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__52615ca8", + "type": "bytes8" + } + ], + "name": "c_true52615ca8", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [], "name": "chainId", diff --git a/artifacts/StargateFacet.json b/artifacts/StargateFacet.json index f520be52..b3516c38 100644 --- a/artifacts/StargateFacet.json +++ b/artifacts/StargateFacet.json @@ -50,9 +50,9 @@ }, { "indexed": false, - "internalType": "uint16", + "internalType": "uint256", "name": "chainIdTo", - "type": "uint16" + "type": "uint256" } ], "name": "StargateETHSwap", @@ -75,9 +75,9 @@ }, { "indexed": false, - "internalType": "uint16", + "internalType": "uint256", "name": "chainId", - "type": "uint16" + "type": "uint256" } ], "name": "StargateInitialized", @@ -131,14 +131,116 @@ }, { "indexed": false, - "internalType": "uint16", + "internalType": "uint256", "name": "chainIdTo", - "type": "uint16" + "type": "uint256" } ], "name": "StargateTokenSwap", "type": "event" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__8de507f8", + "type": "bytes8" + } + ], + "name": "c_8de507f8", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9296fc39", + "type": "bytes8" + } + ], + "name": "c_9296fc39", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__8de507f8", + "type": "bytes8" + } + ], + "name": "c_false8de507f8", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9296fc39", + "type": "bytes8" + } + ], + "name": "c_false9296fc39", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__8de507f8", + "type": "bytes8" + } + ], + "name": "c_true8de507f8", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__9296fc39", + "type": "bytes8" + } + ], + "name": "c_true9296fc39", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [ { @@ -171,9 +273,9 @@ "type": "address" }, { - "internalType": "uint16", + "internalType": "uint256", "name": "_chainId", - "type": "uint16" + "type": "uint256" }, { "components": [ @@ -264,9 +366,9 @@ "type": "uint256" }, { - "internalType": "uint16", + "internalType": "uint256", "name": "dstChainId", - "type": "uint16" + "type": "uint256" }, { "internalType": "address", @@ -304,9 +406,9 @@ "type": "address" }, { - "internalType": "uint16", + "internalType": "uint256", "name": "dstChainId", - "type": "uint16" + "type": "uint256" }, { "internalType": "uint16", @@ -370,9 +472,9 @@ "type": "address" }, { - "internalType": "uint16", + "internalType": "uint256", "name": "dstChainId", - "type": "uint16" + "type": "uint256" }, { "internalType": "uint16", @@ -411,8 +513,8 @@ "type": "function" } ], - "bytecode": "0x60a060405261271060809081525034801561001957600080fd5b50608051612ce961004a600039600081816103200152818161035801528181610b560152610b8e0152612ce96000f3fe6080604052600436106100705760003560e01c8063be9899101161004e578063be989910146100e3578063ce36ebd314610120578063d61bf1fa1461013c578063e08e50711461016557610070565b8063295d4d41146100755780638083a0db1461009e578063ab8236f3146100ba575b600080fd5b34801561008157600080fd5b5061009c6004803603810190610097919061166e565b6101a2565b005b6100b860048036038101906100b391906116d3565b610224565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906118a5565b61062d565b005b3480156100ef57600080fd5b5061010a600480360381019061010591906119a8565b610727565b60405161011791906119f9565b60405180910390f35b61013a60048036038101906101359190611a33565b610877565b005b34801561014857600080fd5b50610163600480360381019061015e9190611ac0565b610cdf565b005b34801561017157600080fd5b5061018c60048036038101906101879190611b48565b610ee0565b6040516101999190611b84565b60405180910390f35b6101aa610f66565b60006101b4611001565b90508181600201600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc8383604051610217929190611b9f565b60405180910390a1505050565b600061022e61102e565b9050600181600001540361026e576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160000181905550600034116102bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b290611c4b565b60405180910390fd5b6000826000013511610302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f990611cb7565b60405180910390fd5b600061030c61105b565b9050600061031a8483610727565b905060007f00000000000000000000000000000000000000000000000000000000000000008560c00160208101906103529190611cd7565b61ffff167f00000000000000000000000000000000000000000000000000000000000000006103819190611d33565b86600001356103909190611d67565b61039a9190611dd8565b905060008560e00160208101906103b19190611e09565b6040516020016103c19190611e7e565b604051602081830303815290604052905060008660a00160208101906103e79190611e09565b6040516020016103f79190611ea8565b604051602081830303815290604052905061044b333089600001358a60200160208101906104259190611e09565b73ffffffffffffffffffffffffffffffffffffffff1661108e909392919063ffffffff16565b61048c8588600001358960200160208101906104679190611e09565b73ffffffffffffffffffffffffffffffffffffffff166111179092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc856104c88a60400160208101906104bf9190611cd7565b61ffff16610ee0565b8a60600160208101906104db9190611cd7565b8b60800160208101906104ee9190611cd7565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161056f99989796959493929190612047565b6000604051808303818588803b15801561058857600080fd5b505af115801561059c573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a8668760200160208101906105d59190611e09565b338960a00160208101906105e99190611e09565b8a600001358b60400160208101906106019190611cd7565b6040516106129594939291906120e9565b60405180910390a15050505050600081600001819055505050565b61063561105b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069990612188565b60405180910390fd5b6000818060200190518101906106b891906121d4565b90506106e581848673ffffffffffffffffffffffffffffffffffffffff166112669092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c8484604051610716929190612201565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236961076586604001602081019061075c9190611cd7565b61ffff16610ee0565b60018760e001602081019061077a9190611e09565b60405160200161078a9190611e7e565b6040516020818303038152906040528860a00160208101906107ac9190611e09565b6040516020016107bc9190611ea8565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016107f89190611e7e565b6040516020818303038152906040528152506040518663ffffffff1660e01b815260040161082a959493929190612272565b6040805180830381865afa158015610846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086a91906122ef565b5090508091505092915050565b600061088161102e565b905060018160000154036108c1576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060006108d56112ec565b61ffff16905060018114806108eb575061a4b181145b806108f65750600a81145b610935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092c906123a1565b60405180910390fd5b600183602001602081019061094a9190611cd7565b61ffff161480610971575061a4b183602001602081019061096b9190611cd7565b61ffff16145b806109925750600a83602001602081019061098c9190611cd7565b61ffff16145b6109d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c890612433565b60405180910390fd5b60003411610a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0b9061249f565b60405180910390fd5b6000836000013511610a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5290611cb7565b60405180910390fd5b82600001353411610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9890612531565b60405180910390fd5b6000610aab61130d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b13906125c3565b60405180910390fd5b6000846040016020810190610b319190611e09565b604051602001610b419190611e7e565b604051602081830303815290604052905060007f0000000000000000000000000000000000000000000000000000000000000000866060016020810190610b889190611cd7565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610bb79190611d33565b8760000135610bc69190611d67565b610bd09190611dd8565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a34610c0e896020016020810190610c059190611cd7565b61ffff16610ee0565b33868b60000135876040518763ffffffff1660e01b8152600401610c369594939291906125e3565b6000604051808303818588803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b50505050507f96d8881a4aa5dbc2504224c656dc33918e070ada05b7379f89ef88e706bec7ce33876040016020810190610c9d9190611e09565b8860000135896020016020810190610cb59190611cd7565b604051610cc5949392919061263d565b60405180910390a150505050600081600001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610d4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d45906126f4565b60405180910390fd5b610d56610f66565b6000610d60611001565b9050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160146101000a81548161ffff021916908361ffff16021790555060005b83839050811015610e9c57838382818110610e2857610e27612714565b5b9050604002016020016020810190610e409190611cd7565b826002016000868685818110610e5957610e58612714565b5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610e9590612743565b9050610e0a565b507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb868686604051610ed09392919061278b565b60405180910390a1505050505050565b600080610eeb611001565b9050600081600201600085815260200190815260200160002060009054906101000a900461ffff16905060008161ffff1603610f5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5390612834565b60405180910390fd5b8092505050919050565b610f6e611340565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff6906128c6565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000611065611001565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611111846323b872dd60e01b8585856040516024016110af939291906128e6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b50505050565b60008114806111a1575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161115e92919061291d565b602060405180830381865afa15801561117b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119f9190612946565b145b6111e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d7906129e5565b60405180910390fd5b6112618363095ea7b360e01b84846040516024016111ff929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b6112e78363a9059cbb60e01b8484604051602401611285929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b60006112f6611001565b60010160149054906101000a900461ffff16905090565b6000611317611001565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60006113cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114349092919063ffffffff16565b905060008151111561142f57808060200190518101906113ef9190612a3d565b61142e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142590612adc565b60405180910390fd5b5b505050565b6060611443848460008561144c565b90509392505050565b606082471015611491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148890612b6e565b60405180910390fd5b61149a85611560565b6114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612bda565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115029190612c36565b60006040518083038185875af1925050503d806000811461153f576040519150601f19603f3d011682016040523d82523d6000602084013e611544565b606091505b5091509150611554828286611583565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315611593578290506115e3565b6000835111156115a65782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115da9190612c91565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611611816115fe565b811461161c57600080fd5b50565b60008135905061162e81611608565b92915050565b600061ffff82169050919050565b61164b81611634565b811461165657600080fd5b50565b60008135905061166881611642565b92915050565b60008060408385031215611685576116846115f4565b5b60006116938582860161161f565b92505060206116a485828601611659565b9150509250929050565b600080fd5b600061010082840312156116ca576116c96116ae565b5b81905092915050565b600061010082840312156116ea576116e96115f4565b5b60006116f8848285016116b3565b91505092915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6117548261170b565b810181811067ffffffffffffffff821117156117735761177261171c565b5b80604052505050565b60006117866115ea565b9050611792828261174b565b919050565b600067ffffffffffffffff8211156117b2576117b161171c565b5b6117bb8261170b565b9050602081019050919050565b82818337600083830152505050565b60006117ea6117e584611797565b61177c565b90508281526020810184848401111561180657611805611706565b5b6118118482856117c8565b509392505050565b600082601f83011261182e5761182d611701565b5b813561183e8482602086016117d7565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061187282611847565b9050919050565b61188281611867565b811461188d57600080fd5b50565b60008135905061189f81611879565b92915050565b60008060008060008060c087890312156118c2576118c16115f4565b5b60006118d089828a01611659565b965050602087013567ffffffffffffffff8111156118f1576118f06115f9565b5b6118fd89828a01611819565b955050604061190e89828a0161161f565b945050606061191f89828a01611890565b935050608061193089828a0161161f565b92505060a087013567ffffffffffffffff811115611951576119506115f9565b5b61195d89828a01611819565b9150509295509295509295565b600061197582611867565b9050919050565b6119858161196a565b811461199057600080fd5b50565b6000813590506119a28161197c565b92915050565b60008061012083850312156119c0576119bf6115f4565b5b60006119ce858286016116b3565b9250506101006119e085828601611993565b9150509250929050565b6119f3816115fe565b82525050565b6000602082019050611a0e60008301846119ea565b92915050565b600060808284031215611a2a57611a296116ae565b5b81905092915050565b600060808284031215611a4957611a486115f4565b5b6000611a5784828501611a14565b91505092915050565b600080fd5b600080fd5b60008083601f840112611a8057611a7f611701565b5b8235905067ffffffffffffffff811115611a9d57611a9c611a60565b5b602083019150836040820283011115611ab957611ab8611a65565b5b9250929050565b600080600080600060808688031215611adc57611adb6115f4565b5b6000611aea88828901611890565b9550506020611afb88828901611890565b9450506040611b0c88828901611659565b935050606086013567ffffffffffffffff811115611b2d57611b2c6115f9565b5b611b3988828901611a6a565b92509250509295509295909350565b600060208284031215611b5e57611b5d6115f4565b5b6000611b6c8482850161161f565b91505092915050565b611b7e81611634565b82525050565b6000602082019050611b996000830184611b75565b92915050565b6000604082019050611bb460008301856119ea565b611bc16020830184611b75565b9392505050565b600082825260208201905092915050565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b6000611c35602c83611bc8565b9150611c4082611bd9565b604082019050919050565b60006020820190508181036000830152611c6481611c28565b9050919050565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b6000611ca1601b83611bc8565b9150611cac82611c6b565b602082019050919050565b60006020820190508181036000830152611cd081611c94565b9050919050565b600060208284031215611ced57611cec6115f4565b5b6000611cfb84828501611659565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d3e826115fe565b9150611d49836115fe565b9250828203905081811115611d6157611d60611d04565b5b92915050565b6000611d72826115fe565b9150611d7d836115fe565b9250828202611d8b816115fe565b91508282048414831517611da257611da1611d04565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611de3826115fe565b9150611dee836115fe565b925082611dfe57611dfd611da9565b5b828204905092915050565b600060208284031215611e1f57611e1e6115f4565b5b6000611e2d84828501611890565b91505092915050565b60008160601b9050919050565b6000611e4e82611e36565b9050919050565b6000611e6082611e43565b9050919050565b611e78611e7382611867565b611e55565b82525050565b6000611e8a8284611e67565b60148201915081905092915050565b611ea281611867565b82525050565b6000602082019050611ebd6000830184611e99565b92915050565b6000819050919050565b6000611ee8611ee3611ede84611634565b611ec3565b6115fe565b9050919050565b611ef881611ecd565b82525050565b6000611f0982611847565b9050919050565b611f1981611efe565b82525050565b611f28816115fe565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f68578082015181840152602081019050611f4d565b60008484015250505050565b6000611f7f82611f2e565b611f898185611f39565b9350611f99818560208601611f4a565b611fa28161170b565b840191505092915050565b6000606083016000830151611fc56000860182611f1f565b506020830151611fd86020860182611f1f565b5060408301518482036040860152611ff08282611f74565b9150508091505092915050565b600082825260208201905092915050565b600061201982611f2e565b6120238185611ffd565b9350612033818560208601611f4a565b61203c8161170b565b840191505092915050565b60006101208201905061205d600083018c611b75565b61206a602083018b611eef565b612077604083018a611eef565b6120846060830189611f10565b61209160808301886119ea565b61209e60a08301876119ea565b81810360c08301526120b08186611fad565b905081810360e08301526120c4818561200e565b90508181036101008301526120d9818461200e565b90509a9950505050505050505050565b600060a0820190506120fe6000830188611e99565b61210b6020830187611e99565b6121186040830186611e99565b61212560608301856119ea565b6121326080830184611b75565b9695505050505050565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b6000612172601f83611bc8565b915061217d8261213c565b602082019050919050565b600060208201905081810360008301526121a181612165565b9050919050565b6121b181611efe565b81146121bc57600080fd5b50565b6000815190506121ce816121a8565b92915050565b6000602082840312156121ea576121e96115f4565b5b60006121f8848285016121bf565b91505092915050565b60006040820190506122166000830185611e99565b61222360208301846119ea565b9392505050565b6000819050919050565b600060ff82169050919050565b600061225c6122576122528461222a565b611ec3565b612234565b9050919050565b61226c81612241565b82525050565b600060a0820190506122876000830188611b75565b6122946020830187612263565b81810360408301526122a6818661200e565b905081810360608301526122ba818561200e565b905081810360808301526122ce8184611fad565b90509695505050505050565b6000815190506122e981611608565b92915050565b60008060408385031215612306576123056115f4565b5b6000612314858286016122da565b9250506020612325858286016122da565b9150509250929050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b600061238b603583611bc8565b91506123968261232f565b604082019050919050565b600060208201905081810360008301526123ba8161237e565b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b600061241d603383611bc8565b9150612428826123c1565b604082019050919050565b6000602082019050818103600083015261244c81612410565b9050919050565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b6000612489601d83611bc8565b915061249482612453565b602082019050919050565b600060208201905081810360008301526124b88161247c565b9050919050565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b600061251b602883611bc8565b9150612526826124bf565b604082019050919050565b6000602082019050818103600083015261254a8161250e565b9050919050565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b60006125ad602583611bc8565b91506125b882612551565b604082019050919050565b600060208201905081810360008301526125dc816125a0565b9050919050565b600060a0820190506125f86000830188611b75565b6126056020830187611f10565b8181036040830152612617818661200e565b905061262660608301856119ea565b61263360808301846119ea565b9695505050505050565b60006080820190506126526000830187611e99565b61265f6020830186611e99565b61266c60408301856119ea565b6126796060830184611b75565b95945050505050565b7f53746172676174653a3a20696e76616c696420726f757465722061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006126de602183611bc8565b91506126e982612682565b604082019050919050565b6000602082019050818103600083015261270d816126d1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061274e826115fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127805761277f611d04565b5b600182019050919050565b60006060820190506127a06000830186611e99565b6127ad6020830185611e99565b6127ba6040830184611b75565b949350505050565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b600061281e603183611bc8565b9150612829826127c2565b604082019050919050565b6000602082019050818103600083015261284d81612811565b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006128b0602283611bc8565b91506128bb82612854565b604082019050919050565b600060208201905081810360008301526128df816128a3565b9050919050565b60006060820190506128fb6000830186611e99565b6129086020830185611e99565b61291560408301846119ea565b949350505050565b60006040820190506129326000830185611e99565b61293f6020830184611e99565b9392505050565b60006020828403121561295c5761295b6115f4565b5b600061296a848285016122da565b91505092915050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b60006129cf603683611bc8565b91506129da82612973565b604082019050919050565b600060208201905081810360008301526129fe816129c2565b9050919050565b60008115159050919050565b612a1a81612a05565b8114612a2557600080fd5b50565b600081519050612a3781612a11565b92915050565b600060208284031215612a5357612a526115f4565b5b6000612a6184828501612a28565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612ac6602a83611bc8565b9150612ad182612a6a565b604082019050919050565b60006020820190508181036000830152612af581612ab9565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000612b58602683611bc8565b9150612b6382612afc565b604082019050919050565b60006020820190508181036000830152612b8781612b4b565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000612bc4601d83611bc8565b9150612bcf82612b8e565b602082019050919050565b60006020820190508181036000830152612bf381612bb7565b9050919050565b600081905092915050565b6000612c1082611f2e565b612c1a8185612bfa565b9350612c2a818560208601611f4a565b80840191505092915050565b6000612c428284612c05565b915081905092915050565b600081519050919050565b6000612c6382612c4d565b612c6d8185611bc8565b9350612c7d818560208601611f4a565b612c868161170b565b840191505092915050565b60006020820190508181036000830152612cab8184612c58565b90509291505056fea26469706673582212209322f362441818c0655a2ffb0b4ddaccae4855fe24b3db9dce7dfb28c688d3ed64736f6c63430008110033", - "deployedBytecode": "0x6080604052600436106100705760003560e01c8063be9899101161004e578063be989910146100e3578063ce36ebd314610120578063d61bf1fa1461013c578063e08e50711461016557610070565b8063295d4d41146100755780638083a0db1461009e578063ab8236f3146100ba575b600080fd5b34801561008157600080fd5b5061009c6004803603810190610097919061166e565b6101a2565b005b6100b860048036038101906100b391906116d3565b610224565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906118a5565b61062d565b005b3480156100ef57600080fd5b5061010a600480360381019061010591906119a8565b610727565b60405161011791906119f9565b60405180910390f35b61013a60048036038101906101359190611a33565b610877565b005b34801561014857600080fd5b50610163600480360381019061015e9190611ac0565b610cdf565b005b34801561017157600080fd5b5061018c60048036038101906101879190611b48565b610ee0565b6040516101999190611b84565b60405180910390f35b6101aa610f66565b60006101b4611001565b90508181600201600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc8383604051610217929190611b9f565b60405180910390a1505050565b600061022e61102e565b9050600181600001540361026e576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160000181905550600034116102bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b290611c4b565b60405180910390fd5b6000826000013511610302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f990611cb7565b60405180910390fd5b600061030c61105b565b9050600061031a8483610727565b905060007f00000000000000000000000000000000000000000000000000000000000000008560c00160208101906103529190611cd7565b61ffff167f00000000000000000000000000000000000000000000000000000000000000006103819190611d33565b86600001356103909190611d67565b61039a9190611dd8565b905060008560e00160208101906103b19190611e09565b6040516020016103c19190611e7e565b604051602081830303815290604052905060008660a00160208101906103e79190611e09565b6040516020016103f79190611ea8565b604051602081830303815290604052905061044b333089600001358a60200160208101906104259190611e09565b73ffffffffffffffffffffffffffffffffffffffff1661108e909392919063ffffffff16565b61048c8588600001358960200160208101906104679190611e09565b73ffffffffffffffffffffffffffffffffffffffff166111179092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc856104c88a60400160208101906104bf9190611cd7565b61ffff16610ee0565b8a60600160208101906104db9190611cd7565b8b60800160208101906104ee9190611cd7565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161056f99989796959493929190612047565b6000604051808303818588803b15801561058857600080fd5b505af115801561059c573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a8668760200160208101906105d59190611e09565b338960a00160208101906105e99190611e09565b8a600001358b60400160208101906106019190611cd7565b6040516106129594939291906120e9565b60405180910390a15050505050600081600001819055505050565b61063561105b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069990612188565b60405180910390fd5b6000818060200190518101906106b891906121d4565b90506106e581848673ffffffffffffffffffffffffffffffffffffffff166112669092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c8484604051610716929190612201565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236961076586604001602081019061075c9190611cd7565b61ffff16610ee0565b60018760e001602081019061077a9190611e09565b60405160200161078a9190611e7e565b6040516020818303038152906040528860a00160208101906107ac9190611e09565b6040516020016107bc9190611ea8565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016107f89190611e7e565b6040516020818303038152906040528152506040518663ffffffff1660e01b815260040161082a959493929190612272565b6040805180830381865afa158015610846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086a91906122ef565b5090508091505092915050565b600061088161102e565b905060018160000154036108c1576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060006108d56112ec565b61ffff16905060018114806108eb575061a4b181145b806108f65750600a81145b610935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092c906123a1565b60405180910390fd5b600183602001602081019061094a9190611cd7565b61ffff161480610971575061a4b183602001602081019061096b9190611cd7565b61ffff16145b806109925750600a83602001602081019061098c9190611cd7565b61ffff16145b6109d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c890612433565b60405180910390fd5b60003411610a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0b9061249f565b60405180910390fd5b6000836000013511610a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5290611cb7565b60405180910390fd5b82600001353411610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9890612531565b60405180910390fd5b6000610aab61130d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b13906125c3565b60405180910390fd5b6000846040016020810190610b319190611e09565b604051602001610b419190611e7e565b604051602081830303815290604052905060007f0000000000000000000000000000000000000000000000000000000000000000866060016020810190610b889190611cd7565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610bb79190611d33565b8760000135610bc69190611d67565b610bd09190611dd8565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a34610c0e896020016020810190610c059190611cd7565b61ffff16610ee0565b33868b60000135876040518763ffffffff1660e01b8152600401610c369594939291906125e3565b6000604051808303818588803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b50505050507f96d8881a4aa5dbc2504224c656dc33918e070ada05b7379f89ef88e706bec7ce33876040016020810190610c9d9190611e09565b8860000135896020016020810190610cb59190611cd7565b604051610cc5949392919061263d565b60405180910390a150505050600081600001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610d4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d45906126f4565b60405180910390fd5b610d56610f66565b6000610d60611001565b9050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160146101000a81548161ffff021916908361ffff16021790555060005b83839050811015610e9c57838382818110610e2857610e27612714565b5b9050604002016020016020810190610e409190611cd7565b826002016000868685818110610e5957610e58612714565b5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610e9590612743565b9050610e0a565b507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb868686604051610ed09392919061278b565b60405180910390a1505050505050565b600080610eeb611001565b9050600081600201600085815260200190815260200160002060009054906101000a900461ffff16905060008161ffff1603610f5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5390612834565b60405180910390fd5b8092505050919050565b610f6e611340565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff6906128c6565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000611065611001565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611111846323b872dd60e01b8585856040516024016110af939291906128e6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b50505050565b60008114806111a1575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161115e92919061291d565b602060405180830381865afa15801561117b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119f9190612946565b145b6111e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d7906129e5565b60405180910390fd5b6112618363095ea7b360e01b84846040516024016111ff929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b6112e78363a9059cbb60e01b8484604051602401611285929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b60006112f6611001565b60010160149054906101000a900461ffff16905090565b6000611317611001565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60006113cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114349092919063ffffffff16565b905060008151111561142f57808060200190518101906113ef9190612a3d565b61142e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142590612adc565b60405180910390fd5b5b505050565b6060611443848460008561144c565b90509392505050565b606082471015611491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148890612b6e565b60405180910390fd5b61149a85611560565b6114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612bda565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115029190612c36565b60006040518083038185875af1925050503d806000811461153f576040519150601f19603f3d011682016040523d82523d6000602084013e611544565b606091505b5091509150611554828286611583565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315611593578290506115e3565b6000835111156115a65782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115da9190612c91565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611611816115fe565b811461161c57600080fd5b50565b60008135905061162e81611608565b92915050565b600061ffff82169050919050565b61164b81611634565b811461165657600080fd5b50565b60008135905061166881611642565b92915050565b60008060408385031215611685576116846115f4565b5b60006116938582860161161f565b92505060206116a485828601611659565b9150509250929050565b600080fd5b600061010082840312156116ca576116c96116ae565b5b81905092915050565b600061010082840312156116ea576116e96115f4565b5b60006116f8848285016116b3565b91505092915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6117548261170b565b810181811067ffffffffffffffff821117156117735761177261171c565b5b80604052505050565b60006117866115ea565b9050611792828261174b565b919050565b600067ffffffffffffffff8211156117b2576117b161171c565b5b6117bb8261170b565b9050602081019050919050565b82818337600083830152505050565b60006117ea6117e584611797565b61177c565b90508281526020810184848401111561180657611805611706565b5b6118118482856117c8565b509392505050565b600082601f83011261182e5761182d611701565b5b813561183e8482602086016117d7565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061187282611847565b9050919050565b61188281611867565b811461188d57600080fd5b50565b60008135905061189f81611879565b92915050565b60008060008060008060c087890312156118c2576118c16115f4565b5b60006118d089828a01611659565b965050602087013567ffffffffffffffff8111156118f1576118f06115f9565b5b6118fd89828a01611819565b955050604061190e89828a0161161f565b945050606061191f89828a01611890565b935050608061193089828a0161161f565b92505060a087013567ffffffffffffffff811115611951576119506115f9565b5b61195d89828a01611819565b9150509295509295509295565b600061197582611867565b9050919050565b6119858161196a565b811461199057600080fd5b50565b6000813590506119a28161197c565b92915050565b60008061012083850312156119c0576119bf6115f4565b5b60006119ce858286016116b3565b9250506101006119e085828601611993565b9150509250929050565b6119f3816115fe565b82525050565b6000602082019050611a0e60008301846119ea565b92915050565b600060808284031215611a2a57611a296116ae565b5b81905092915050565b600060808284031215611a4957611a486115f4565b5b6000611a5784828501611a14565b91505092915050565b600080fd5b600080fd5b60008083601f840112611a8057611a7f611701565b5b8235905067ffffffffffffffff811115611a9d57611a9c611a60565b5b602083019150836040820283011115611ab957611ab8611a65565b5b9250929050565b600080600080600060808688031215611adc57611adb6115f4565b5b6000611aea88828901611890565b9550506020611afb88828901611890565b9450506040611b0c88828901611659565b935050606086013567ffffffffffffffff811115611b2d57611b2c6115f9565b5b611b3988828901611a6a565b92509250509295509295909350565b600060208284031215611b5e57611b5d6115f4565b5b6000611b6c8482850161161f565b91505092915050565b611b7e81611634565b82525050565b6000602082019050611b996000830184611b75565b92915050565b6000604082019050611bb460008301856119ea565b611bc16020830184611b75565b9392505050565b600082825260208201905092915050565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b6000611c35602c83611bc8565b9150611c4082611bd9565b604082019050919050565b60006020820190508181036000830152611c6481611c28565b9050919050565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b6000611ca1601b83611bc8565b9150611cac82611c6b565b602082019050919050565b60006020820190508181036000830152611cd081611c94565b9050919050565b600060208284031215611ced57611cec6115f4565b5b6000611cfb84828501611659565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d3e826115fe565b9150611d49836115fe565b9250828203905081811115611d6157611d60611d04565b5b92915050565b6000611d72826115fe565b9150611d7d836115fe565b9250828202611d8b816115fe565b91508282048414831517611da257611da1611d04565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611de3826115fe565b9150611dee836115fe565b925082611dfe57611dfd611da9565b5b828204905092915050565b600060208284031215611e1f57611e1e6115f4565b5b6000611e2d84828501611890565b91505092915050565b60008160601b9050919050565b6000611e4e82611e36565b9050919050565b6000611e6082611e43565b9050919050565b611e78611e7382611867565b611e55565b82525050565b6000611e8a8284611e67565b60148201915081905092915050565b611ea281611867565b82525050565b6000602082019050611ebd6000830184611e99565b92915050565b6000819050919050565b6000611ee8611ee3611ede84611634565b611ec3565b6115fe565b9050919050565b611ef881611ecd565b82525050565b6000611f0982611847565b9050919050565b611f1981611efe565b82525050565b611f28816115fe565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f68578082015181840152602081019050611f4d565b60008484015250505050565b6000611f7f82611f2e565b611f898185611f39565b9350611f99818560208601611f4a565b611fa28161170b565b840191505092915050565b6000606083016000830151611fc56000860182611f1f565b506020830151611fd86020860182611f1f565b5060408301518482036040860152611ff08282611f74565b9150508091505092915050565b600082825260208201905092915050565b600061201982611f2e565b6120238185611ffd565b9350612033818560208601611f4a565b61203c8161170b565b840191505092915050565b60006101208201905061205d600083018c611b75565b61206a602083018b611eef565b612077604083018a611eef565b6120846060830189611f10565b61209160808301886119ea565b61209e60a08301876119ea565b81810360c08301526120b08186611fad565b905081810360e08301526120c4818561200e565b90508181036101008301526120d9818461200e565b90509a9950505050505050505050565b600060a0820190506120fe6000830188611e99565b61210b6020830187611e99565b6121186040830186611e99565b61212560608301856119ea565b6121326080830184611b75565b9695505050505050565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b6000612172601f83611bc8565b915061217d8261213c565b602082019050919050565b600060208201905081810360008301526121a181612165565b9050919050565b6121b181611efe565b81146121bc57600080fd5b50565b6000815190506121ce816121a8565b92915050565b6000602082840312156121ea576121e96115f4565b5b60006121f8848285016121bf565b91505092915050565b60006040820190506122166000830185611e99565b61222360208301846119ea565b9392505050565b6000819050919050565b600060ff82169050919050565b600061225c6122576122528461222a565b611ec3565b612234565b9050919050565b61226c81612241565b82525050565b600060a0820190506122876000830188611b75565b6122946020830187612263565b81810360408301526122a6818661200e565b905081810360608301526122ba818561200e565b905081810360808301526122ce8184611fad565b90509695505050505050565b6000815190506122e981611608565b92915050565b60008060408385031215612306576123056115f4565b5b6000612314858286016122da565b9250506020612325858286016122da565b9150509250929050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b600061238b603583611bc8565b91506123968261232f565b604082019050919050565b600060208201905081810360008301526123ba8161237e565b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b600061241d603383611bc8565b9150612428826123c1565b604082019050919050565b6000602082019050818103600083015261244c81612410565b9050919050565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b6000612489601d83611bc8565b915061249482612453565b602082019050919050565b600060208201905081810360008301526124b88161247c565b9050919050565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b600061251b602883611bc8565b9150612526826124bf565b604082019050919050565b6000602082019050818103600083015261254a8161250e565b9050919050565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b60006125ad602583611bc8565b91506125b882612551565b604082019050919050565b600060208201905081810360008301526125dc816125a0565b9050919050565b600060a0820190506125f86000830188611b75565b6126056020830187611f10565b8181036040830152612617818661200e565b905061262660608301856119ea565b61263360808301846119ea565b9695505050505050565b60006080820190506126526000830187611e99565b61265f6020830186611e99565b61266c60408301856119ea565b6126796060830184611b75565b95945050505050565b7f53746172676174653a3a20696e76616c696420726f757465722061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006126de602183611bc8565b91506126e982612682565b604082019050919050565b6000602082019050818103600083015261270d816126d1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061274e826115fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127805761277f611d04565b5b600182019050919050565b60006060820190506127a06000830186611e99565b6127ad6020830185611e99565b6127ba6040830184611b75565b949350505050565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b600061281e603183611bc8565b9150612829826127c2565b604082019050919050565b6000602082019050818103600083015261284d81612811565b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006128b0602283611bc8565b91506128bb82612854565b604082019050919050565b600060208201905081810360008301526128df816128a3565b9050919050565b60006060820190506128fb6000830186611e99565b6129086020830185611e99565b61291560408301846119ea565b949350505050565b60006040820190506129326000830185611e99565b61293f6020830184611e99565b9392505050565b60006020828403121561295c5761295b6115f4565b5b600061296a848285016122da565b91505092915050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b60006129cf603683611bc8565b91506129da82612973565b604082019050919050565b600060208201905081810360008301526129fe816129c2565b9050919050565b60008115159050919050565b612a1a81612a05565b8114612a2557600080fd5b50565b600081519050612a3781612a11565b92915050565b600060208284031215612a5357612a526115f4565b5b6000612a6184828501612a28565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612ac6602a83611bc8565b9150612ad182612a6a565b604082019050919050565b60006020820190508181036000830152612af581612ab9565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000612b58602683611bc8565b9150612b6382612afc565b604082019050919050565b60006020820190508181036000830152612b8781612b4b565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000612bc4601d83611bc8565b9150612bcf82612b8e565b602082019050919050565b60006020820190508181036000830152612bf381612bb7565b9050919050565b600081905092915050565b6000612c1082611f2e565b612c1a8185612bfa565b9350612c2a818560208601611f4a565b80840191505092915050565b6000612c428284612c05565b915081905092915050565b600081519050919050565b6000612c6382612c4d565b612c6d8185611bc8565b9350612c7d818560208601611f4a565b612c868161170b565b840191505092915050565b60006020820190508181036000830152612cab8184612c58565b90509291505056fea26469706673582212209322f362441818c0655a2ffb0b4ddaccae4855fe24b3db9dce7dfb28c688d3ed64736f6c63430008110033", + "bytecode": "0x60a060405261271060809081525034801561001957600080fd5b50608051613c5361004a6000396000818161091b015281816109530152818161174001526117780152613c536000f3fe6080604052600436106100c25760003560e01c8063839408ac1161007f578063ab8236f311610059578063ab8236f31461025a578063ac0d2b1314610283578063e08e5071146102c0578063ffa47670146102fd576100c2565b8063839408ac146101f9578063940c9dee146102155780639b250ded1461023e576100c2565b806314917f99146100c757806316016d03146100f0578063264e6c9b1461012d578063295d4d411461016a57806332a7ab5d146101935780634a6f22c4146101bc575b600080fd5b3480156100d357600080fd5b506100ee60048036038101906100e99190612548565b61033a565b005b3480156100fc57600080fd5b5061011760048036038101906101129190612548565b61033d565b6040516101249190612590565b60405180910390f35b34801561013957600080fd5b50610154600480360381019061014f9190612640565b610344565b604051610161919061269b565b60405180910390f35b34801561017657600080fd5b50610191600480360381019061018c919061271c565b6104e7565b005b34801561019f57600080fd5b506101ba60048036038101906101b59190612548565b610609565b005b3480156101c857600080fd5b506101e360048036038101906101de9190612548565b61060c565b6040516101f09190612590565b60405180910390f35b610213600480360381019061020e919061275c565b610617565b005b34801561022157600080fd5b5061023c6004803603810190610237919061281b565b610d0c565b005b610258600480360381019061025391906128c2565b61104b565b005b34801561026657600080fd5b50610281600480360381019061027c9190612a30565b61190d565b005b34801561028f57600080fd5b506102aa60048036038101906102a59190612548565b611ae3565b6040516102b79190612590565b60405180910390f35b3480156102cc57600080fd5b506102e760048036038101906102e29190612af5565b611aea565b6040516102f49190612b31565b60405180910390f35b34801561030957600080fd5b50610324600480360381019061031f9190612548565b611c4d565b6040516103319190612590565b60405180910390f35b50565b6000919050565b600061035a676b6a1706fc40421f60c01b610609565b61036e67a17253b2deeb069060c01b610609565b61038267ccc986379c4d80f160c01b610609565b60008273ffffffffffffffffffffffffffffffffffffffff16630a5123696103ad8660400135611aea565b60018760e00160208101906103c29190612b4c565b6040516020016103d29190612bc1565b6040516020818303038152906040528860a00160208101906103f49190612b4c565b6040516020016104049190612beb565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016104409190612bc1565b6040516020818303038152906040528152506040518663ffffffff1660e01b8152600401610472959493929190612d80565b6040805180830381865afa15801561048e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b29190612dfd565b5090506104c967e102f2c572cf40f860c01b610609565b6104dd6716e95b907e1816a560c01b610609565b8091505092915050565b6104fb67988e490ae4c703d260c01b610609565b61050f676f8f307cb7de9ab860c01b610609565b6105236758da89dc13ce7b8860c01b610609565b61052b611c58565b61053f676a22c727528aee5e60c01b610609565b61055367108c5580da60d05260c01b610609565b600061055d611d57565b905061057367f670e362f8950d9d60c01b610609565b8181600301600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055506105b7675bcc90cec163367d60c01b610609565b6105cb674c56ade916095c4060c01b610609565b7f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc83836040516105fc929190612e3d565b60405180910390a1505050565b50565b600060019050919050565b61062b6718ed4b83c401710460c01b610609565b61063f6770f43b674d4e55d060c01b61033a565b61065367fdb58b8d5e8c5bd260c01b61033a565b61066767f88563faceb9065260c01b61033a565b6000610671611dd5565b905061068767f5511ed184b06f9d60c01b61033a565b61069b675fe6356e9bb02e7e60c01b61033a565b60018160000154036106ed576106bb67c2bf72a01148a95560c01b61033a565b6040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107016759328cc6ac1a5b8460c01b61033a565b610715676585023ebf8de8b060c01b61033a565b600181600001819055506107336794e629fc71d8c79e60c01b61033a565b610747672881a2aec321239260c01b610609565b61075b67dd2c0f1b8d09895b60c01b610609565b61076f67cd6a1ff81758e0f760c01b610609565b6107836782429254fa8269b060c01b610609565b61079767a0f691c89b27008d60c01b610609565b60008260000135116107de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d590612ec3565b60405180910390fd5b6107f2677ebf072840a4d95f60c01b610609565b61080667fed74be637eda80b60c01b610609565b61081a676eb83bf20210390c60c01b610609565b6000610824611e53565b905061083a678182ad2943df89e460c01b610609565b61084e677425dff707a185d960c01b610609565b600061085a8483610344565b9050610870674404183e17d9e74c60c01b610609565b610884673bd291009b8078c860c01b610609565b610898670f089b8f5498528860c01b610609565b803410156108db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d290612f55565b60405180910390fd5b6108ef67820939dc08b273dd60c01b610609565b61090367c4e73b662355a21b60c01b610609565b61091767a3a1bb2ef1bf1ec660c01b610609565b60007f00000000000000000000000000000000000000000000000000000000000000008560c001602081019061094d9190612f75565b61ffff167f000000000000000000000000000000000000000000000000000000000000000061097c9190612fd1565b866000013561098b9190613005565b6109959190613076565b90506109ab67cc171d672a2a38cf60c01b610609565b6109bf673cb3bfc2ae73be4260c01b610609565b60008560e00160208101906109d49190612b4c565b6040516020016109e49190612bc1565b6040516020818303038152906040529050610a09670ddeef3ed113f00660c01b610609565b610a1d674e97eb2217c77f0f60c01b610609565b60008660a0016020810190610a329190612b4c565b604051602001610a429190612beb565b6040516020818303038152906040529050610a67674dab0ce8baf9c74160c01b610609565b610a7b67b7bb61978f9d97e560c01b610609565b610abe333089600001358a6020016020810190610a989190612b4c565b73ffffffffffffffffffffffffffffffffffffffff16611ec2909392919063ffffffff16565b610ad26708c58c8607868d6660c01b610609565b610ae6672a5fdb16657578a160c01b610609565b610b27858860000135896020016020810190610b029190612b4c565b73ffffffffffffffffffffffffffffffffffffffff16611f4b9092919063ffffffff16565b610b3b67fb60f2f8d21dd4f560c01b610609565b610b4f672e33f0d6552af9c760c01b610609565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc85610b798a60400135611aea565b8a6060016020810190610b8c9190612f75565b8b6080016020810190610b9f9190612f75565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b8152600401610c20999897969594939291906130f9565b6000604051808303818588803b158015610c3957600080fd5b505af1158015610c4d573d6000803e3d6000fd5b5050505050610c6667bab67b428018644460c01b610609565b610c7a6706ce641916e6cc2c60c01b610609565b7f0e95200cdc1da2112676781af663a51503f29bb3e511cfaa660977d2580be1d0876020016020810190610cae9190612b4c565b338960a0016020810190610cc29190612b4c565b8a600001358b60400135604051610cdd95949392919061319b565b60405180910390a15050505050610cfe67441391ce80e99b6c60c01b61033a565b600081600001819055505050565b610d2067dc78b0b6dcb719a660c01b610609565b610d34671ad991e745fcd88760c01b610609565b610d4867fbb408854cfb5ba560c01b610609565b610d5c671bab65bc473a358060c01b610609565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610dcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc290613260565b60405180910390fd5b610ddf67e238d996e1c6a29b60c01b610609565b610df367346f91eeb5fc6c6260c01b610609565b610e076759434cdfca46912960c01b610609565b610e0f611c58565b610e23672f925d4afc29a3a260c01b610609565b610e3767e89ae70bcfd142a660c01b610609565b6000610e41611d57565b9050610e5767ec5bab896690566660c01b610609565b858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610eae670c86ec52c985f76e60c01b610609565b848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f0567230957ad1da75ff460c01b610609565b838160020181905550610f2267f53cb1bb6c6a5c5860c01b610609565b610f36674dbd10ddc78689da60c01b610609565b60005b83839050811015610fdf57610f58677766d8e0fe7ffd4b60c01b610609565b838382818110610f6b57610f6a613280565b5b9050604002016020016020810190610f839190612f75565b826003016000868685818110610f9c57610f9b613280565b5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610fd8906132af565b9050610f39565b50610ff467eea98b178fd576e060c01b610609565b611008672f4996614d79aa5760c01b610609565b7ff4ec21f4fb595315ed445181b8973d6ebb853009bd6593a82fbbeadab2efc9b086868660405161103b939291906132f7565b60405180910390a1505050505050565b61105f677b6b1c7fc9e8a18560c01b610609565b6110736770f43b674d4e55d060c01b61033a565b61108767fdb58b8d5e8c5bd260c01b61033a565b61109b67f88563faceb9065260c01b61033a565b60006110a5611dd5565b90506110bb67f5511ed184b06f9d60c01b61033a565b6110cf675fe6356e9bb02e7e60c01b61033a565b6001816000015403611121576110ef67c2bf72a01148a95560c01b61033a565b6040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111356759328cc6ac1a5b8460c01b61033a565b611149676585023ebf8de8b060c01b61033a565b600181600001819055506111676794e629fc71d8c79e60c01b61033a565b61117b6755ebe8d99bfab0e660c01b610609565b61118f6783c099c3d6920eee60c01b610609565b6111a3677b2d23df6c743c1660c01b610609565b6111b7670e1bf95028b3562660c01b610609565b60006111c161209a565b90506111d767826a8031febc47a560c01b610609565b6111eb67e55f748511272f7660c01b610609565b6111ff6797ef46cfb2e1f1d860c01b610609565b60018114801561121f575061121e67b9defce38c448c0160c01b611c4d565b5b80611263575061a4b18114801561124657506112456744e394d95fc655b860c01b611c4d565b5b80156112625750611261676db8cef885766f1060c01b611c4d565b5b5b8061128a5750600a8114801561128957506112886791823fee38b54f9160c01b611c4d565b5b5b6112c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c0906133a0565b60405180910390fd5b6112dd67c9884dd7993613aa60c01b610609565b6112f167ce6b46409cb3036260c01b610609565b611305678e4e74cf10e6efcd60c01b610609565b61131967f1661058e39d604460c01b610609565b6001836020013514801561133d575061133c67d994b9fff3faf3d060c01b611c4d565b5b80611385575061a4b183602001351480156113685750611367678522fbcee38e3f2b60c01b611c4d565b5b80156113845750611383673d7f2a1cdc796c6b60c01b611c4d565b5b5b806113b05750600a83602001351480156113af57506113ae67a0b23bb6c5a2034d60c01b611c4d565b5b5b6113ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e690613432565b60405180910390fd5b61140367634ee426de357fec60c01b610609565b61141767671a1c703a7e255060c01b610609565b61142b671b85965e9b09a19360c01b610609565b61143f673e51b130d02414f960c01b610609565b60003411611482576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114799061349e565b60405180910390fd5b611496675475f5afcea4234f60c01b610609565b6114aa675be0e357a87433b260c01b610609565b6114be6714bd332749c6464c60c01b610609565b6114d267824e0feb461fd68b60c01b610609565b6000836000013511611519576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151090612ec3565b60405180910390fd5b61152d675aead8b9e4a94ad660c01b610609565b6115416715642c51226fe7e860c01b610609565b61155567bf6afb6d248e364260c01b610609565b611569675814d8dff7797ece60c01b610609565b826000013534116115af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a690613530565b60405180910390fd5b6115c367a7838bcc3dcf6f4960c01b610609565b6115d7674b87efcc48a2f6f860c01b610609565b6115eb67b577870ea07885de60c01b610609565b60006115f56120e9565b905061160b67504c44f964d09bda60c01b610609565b61161f67b629ff5fe4b6bbfb60c01b610609565b6116336791136c08444782d460c01b610609565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611699906135c2565b60405180910390fd5b6116b667945f14428689a58760c01b610609565b6116ca6709e6dbebddbfaf8160c01b610609565b6116de67506d17b653e10f7c60c01b610609565b60008460400160208101906116f39190612b4c565b6040516020016117039190612bc1565b60405160208183030381529060405290506117286779683220dd60860f60c01b610609565b61173c67c5d6139a64abbcc360c01b610609565b60007f00000000000000000000000000000000000000000000000000000000000000008660600160208101906117729190612f75565b61ffff167f00000000000000000000000000000000000000000000000000000000000000006117a19190612fd1565b87600001356117b09190613005565b6117ba9190613076565b90506117d067edccaf14a309f8b960c01b610609565b6117e467dfd394e8ca55834a60c01b610609565b8273ffffffffffffffffffffffffffffffffffffffff16631114cd2a3461180e8960200135611aea565b33868b60000135876040518763ffffffff1660e01b81526004016118369594939291906135e2565b6000604051808303818588803b15801561184f57600080fd5b505af1158015611863573d6000803e3d6000fd5b505050505061187c678f9ff857a7f5aa9860c01b610609565b611890679c044cacc1ce321260c01b610609565b7f2bedf250e292271a6dbcf3e289b75c4218a8494e721aabc2b475c22d8816f1d2338760400160208101906118c59190612b4c565b886000013589602001356040516118df949392919061363c565b60405180910390a1505050506118ff67441391ce80e99b6c60c01b61033a565b600081600001819055505050565b61192167c3456030a1bbb0e360c01b610609565b611935670b715fd8e1f8669860c01b610609565b61194967b53fdb9756ae99c460c01b610609565b61195d67de50a656d8824a5b60c01b610609565b611965611e53565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c9906136cd565b60405180910390fd5b6119e66704131b314593100d60c01b610609565b6119fa677fc8dbefdd35b0e460c01b610609565b611a0e6748055bde4d58675260c01b610609565b600081806020019051810190611a249190613719565b9050611a3a675e435c4e6f42509860c01b610609565b611a4e675b92b8826195634960c01b610609565b611a7981848673ffffffffffffffffffffffffffffffffffffffff166121589092919063ffffffff16565b611a8d67cf796a2db721527860c01b610609565b611aa167582a53062f53745760c01b610609565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c8484604051611ad2929190613746565b60405180910390a150505050505050565b6000919050565b6000611b0067a57cd9c6b9c41c6a60c01b610609565b611b14674f07f9242ebfa41160c01b610609565b611b28677a529f509caba1b060c01b610609565b6000611b32611d57565b9050611b48678fefb47c1559ea4b60c01b610609565b611b5c67d18e9683e19854f960c01b610609565b600081600301600085815260200190815260200160002060009054906101000a900461ffff169050611b9867e3c404249a55474b60c01b610609565b611bac67fbcd6388192b0a2f60c01b610609565b611bc0678530e22ceaeb424960c01b610609565b60008161ffff1603611c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfe906137e1565b60405180910390fd5b611c1b670c18b96b58e103a860c01b610609565b611c2f67f817d71c659e66ef60c01b610609565b611c43673ae9ed46966d707860c01b610609565b8092505050919050565b600060019050919050565b611c6c6721b40df6734b4e6460c01b6121de565b611c80677276b6d1bbf7b68b60c01b6121de565b611c9467f8611dbcb55a1f7860c01b6121de565b611ca8676cedf54251a3375160c01b6121de565b611cb06121e1565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3890613873565b60405180910390fd5b611d5567e452355b21bbd41e60c01b6121de565b565b6000611d6d67b34d90284ae0e9ef60c01b610609565b611d81672ed81e52c23168e360c01b610609565b611d9567e2ec83ce9578657560c01b610609565b60007fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c89050611dce670edd023654e5f17260c01b610609565b8091505090565b6000611deb67fa11c344c1ec53a860c01b61033a565b611dff670fd7b7008acdbf5460c01b61033a565b611e13679fbd6d57c5d665d460c01b61033a565b60007fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b49050611e4c67a9235c9a8268ed9060c01b61033a565b8091505090565b6000611e6967fd4dc90c18680f3060c01b610609565b611e7d6793e4e41457cec23060c01b610609565b611e9167f074c466862371b560c01b610609565b611e99611d57565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611f45846323b872dd60e01b858585604051602401611ee3939291906132f7565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061225f565b50505050565b6000811480611fd5575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401611f92929190613893565b602060405180830381865afa158015611faf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd391906138bc565b145b612014576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200b9061395b565b60405180910390fd5b6120958363095ea7b360e01b8484604051602401612033929190613746565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061225f565b505050565b60006120b067d1228306a9aa7ca160c01b610609565b6120c467a36f2b778691a42060c01b610609565b6120d86768a861b45d12e14460c01b610609565b6120e0611d57565b60020154905090565b60006120ff67ef5c638aa66eb48260c01b610609565b612113675a88d7efbd851a3e60c01b610609565b61212767cceaffc246b2acc960c01b610609565b61212f611d57565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6121d98363a9059cbb60e01b8484604051602401612177929190613746565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061225f565b505050565b50565b60006121f7674f9afbb757d80e6360c01b6121de565b61220b674b823103125da15660c01b6121de565b61221f674ab715c231c1608d60c01b6121de565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061225867982d9bb86701efa860c01b6121de565b8091505090565b60006122c1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166123269092919063ffffffff16565b905060008151111561232157808060200190518101906122e191906139a7565b612320576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231790613a46565b60405180910390fd5b5b505050565b6060612335848460008561233e565b90509392505050565b606082471015612383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237a90613ad8565b60405180910390fd5b61238c85612452565b6123cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123c290613b44565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516123f49190613ba0565b60006040518083038185875af1925050503d8060008114612431576040519150601f19603f3d011682016040523d82523d6000602084013e612436565b606091505b5091509150612446828286612475565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315612485578290506124d5565b6000835111156124985782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124cc9190613bfb565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b612525816124f0565b811461253057600080fd5b50565b6000813590506125428161251c565b92915050565b60006020828403121561255e5761255d6124e6565b5b600061256c84828501612533565b91505092915050565b60008115159050919050565b61258a81612575565b82525050565b60006020820190506125a56000830184612581565b92915050565b600080fd5b600061010082840312156125c7576125c66125ab565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125fb826125d0565b9050919050565b600061260d826125f0565b9050919050565b61261d81612602565b811461262857600080fd5b50565b60008135905061263a81612614565b92915050565b6000806101208385031215612658576126576124e6565b5b6000612666858286016125b0565b9250506101006126788582860161262b565b9150509250929050565b6000819050919050565b61269581612682565b82525050565b60006020820190506126b0600083018461268c565b92915050565b6126bf81612682565b81146126ca57600080fd5b50565b6000813590506126dc816126b6565b92915050565b600061ffff82169050919050565b6126f9816126e2565b811461270457600080fd5b50565b600081359050612716816126f0565b92915050565b60008060408385031215612733576127326124e6565b5b6000612741858286016126cd565b925050602061275285828601612707565b9150509250929050565b60006101008284031215612773576127726124e6565b5b6000612781848285016125b0565b91505092915050565b612793816125f0565b811461279e57600080fd5b50565b6000813590506127b08161278a565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126127db576127da6127b6565b5b8235905067ffffffffffffffff8111156127f8576127f76127bb565b5b602083019150836040820283011115612814576128136127c0565b5b9250929050565b600080600080600060808688031215612837576128366124e6565b5b6000612845888289016127a1565b9550506020612856888289016127a1565b9450506040612867888289016126cd565b935050606086013567ffffffffffffffff811115612888576128876124eb565b5b612894888289016127c5565b92509250509295509295909350565b6000608082840312156128b9576128b86125ab565b5b81905092915050565b6000608082840312156128d8576128d76124e6565b5b60006128e6848285016128a3565b91505092915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61293d826128f4565b810181811067ffffffffffffffff8211171561295c5761295b612905565b5b80604052505050565b600061296f6124dc565b905061297b8282612934565b919050565b600067ffffffffffffffff82111561299b5761299a612905565b5b6129a4826128f4565b9050602081019050919050565b82818337600083830152505050565b60006129d36129ce84612980565b612965565b9050828152602081018484840111156129ef576129ee6128ef565b5b6129fa8482856129b1565b509392505050565b600082601f830112612a1757612a166127b6565b5b8135612a278482602086016129c0565b91505092915050565b60008060008060008060c08789031215612a4d57612a4c6124e6565b5b6000612a5b89828a01612707565b965050602087013567ffffffffffffffff811115612a7c57612a7b6124eb565b5b612a8889828a01612a02565b9550506040612a9989828a016126cd565b9450506060612aaa89828a016127a1565b9350506080612abb89828a016126cd565b92505060a087013567ffffffffffffffff811115612adc57612adb6124eb565b5b612ae889828a01612a02565b9150509295509295509295565b600060208284031215612b0b57612b0a6124e6565b5b6000612b19848285016126cd565b91505092915050565b612b2b816126e2565b82525050565b6000602082019050612b466000830184612b22565b92915050565b600060208284031215612b6257612b616124e6565b5b6000612b70848285016127a1565b91505092915050565b60008160601b9050919050565b6000612b9182612b79565b9050919050565b6000612ba382612b86565b9050919050565b612bbb612bb6826125f0565b612b98565b82525050565b6000612bcd8284612baa565b60148201915081905092915050565b612be5816125f0565b82525050565b6000602082019050612c006000830184612bdc565b92915050565b6000819050919050565b600060ff82169050919050565b6000819050919050565b6000612c42612c3d612c3884612c06565b612c1d565b612c10565b9050919050565b612c5281612c27565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c92578082015181840152602081019050612c77565b60008484015250505050565b6000612ca982612c58565b612cb38185612c63565b9350612cc3818560208601612c74565b612ccc816128f4565b840191505092915050565b612ce081612682565b82525050565b600082825260208201905092915050565b6000612d0282612c58565b612d0c8185612ce6565b9350612d1c818560208601612c74565b612d25816128f4565b840191505092915050565b6000606083016000830151612d486000860182612cd7565b506020830151612d5b6020860182612cd7565b5060408301518482036040860152612d738282612cf7565b9150508091505092915050565b600060a082019050612d956000830188612b22565b612da26020830187612c49565b8181036040830152612db48186612c9e565b90508181036060830152612dc88185612c9e565b90508181036080830152612ddc8184612d30565b90509695505050505050565b600081519050612df7816126b6565b92915050565b60008060408385031215612e1457612e136124e6565b5b6000612e2285828601612de8565b9250506020612e3385828601612de8565b9150509250929050565b6000604082019050612e52600083018561268c565b612e5f6020830184612b22565b9392505050565b600082825260208201905092915050565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b6000612ead601b83612e66565b9150612eb882612e77565b602082019050919050565b60006020820190508181036000830152612edc81612ea0565b9050919050565b7f53746172676174653a3a206d73672e76616c7565206e6f7420656e6f7567682060008201527f746f20706179206272696467696e672066656500000000000000000000000000602082015250565b6000612f3f603383612e66565b9150612f4a82612ee3565b604082019050919050565b60006020820190508181036000830152612f6e81612f32565b9050919050565b600060208284031215612f8b57612f8a6124e6565b5b6000612f9984828501612707565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612fdc82612682565b9150612fe783612682565b9250828203905081811115612fff57612ffe612fa2565b5b92915050565b600061301082612682565b915061301b83612682565b925082820261302981612682565b915082820484148315176130405761303f612fa2565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061308182612682565b915061308c83612682565b92508261309c5761309b613047565b5b828204905092915050565b60006130c26130bd6130b8846126e2565b612c1d565b612682565b9050919050565b6130d2816130a7565b82525050565b60006130e3826125d0565b9050919050565b6130f3816130d8565b82525050565b60006101208201905061310f600083018c612b22565b61311c602083018b6130c9565b613129604083018a6130c9565b61313660608301896130ea565b613143608083018861268c565b61315060a083018761268c565b81810360c08301526131628186612d30565b905081810360e08301526131768185612c9e565b905081810361010083015261318b8184612c9e565b90509a9950505050505050505050565b600060a0820190506131b06000830188612bdc565b6131bd6020830187612bdc565b6131ca6040830186612bdc565b6131d7606083018561268c565b6131e4608083018461268c565b9695505050505050565b7f53746172676174653a3a20696e76616c696420726f757465722061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061324a602183612e66565b9150613255826131ee565b604082019050919050565b600060208201905081810360008301526132798161323d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006132ba82612682565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132ec576132eb612fa2565b5b600182019050919050565b600060608201905061330c6000830186612bdc565b6133196020830185612bdc565b613326604083018461268c565b949350505050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b600061338a603583612e66565b91506133958261332e565b604082019050919050565b600060208201905081810360008301526133b98161337d565b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b600061341c603383612e66565b9150613427826133c0565b604082019050919050565b6000602082019050818103600083015261344b8161340f565b9050919050565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b6000613488601d83612e66565b915061349382613452565b602082019050919050565b600060208201905081810360008301526134b78161347b565b9050919050565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b600061351a602883612e66565b9150613525826134be565b604082019050919050565b600060208201905081810360008301526135498161350d565b9050919050565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b60006135ac602583612e66565b91506135b782613550565b604082019050919050565b600060208201905081810360008301526135db8161359f565b9050919050565b600060a0820190506135f76000830188612b22565b61360460208301876130ea565b81810360408301526136168186612c9e565b9050613625606083018561268c565b613632608083018461268c565b9695505050505050565b60006080820190506136516000830187612bdc565b61365e6020830186612bdc565b61366b604083018561268c565b613678606083018461268c565b95945050505050565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b60006136b7601f83612e66565b91506136c282613681565b602082019050919050565b600060208201905081810360008301526136e6816136aa565b9050919050565b6136f6816130d8565b811461370157600080fd5b50565b600081519050613713816136ed565b92915050565b60006020828403121561372f5761372e6124e6565b5b600061373d84828501613704565b91505092915050565b600060408201905061375b6000830185612bdc565b613768602083018461268c565b9392505050565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b60006137cb603183612e66565b91506137d68261376f565b604082019050919050565b600060208201905081810360008301526137fa816137be565b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b600061385d602283612e66565b915061386882613801565b604082019050919050565b6000602082019050818103600083015261388c81613850565b9050919050565b60006040820190506138a86000830185612bdc565b6138b56020830184612bdc565b9392505050565b6000602082840312156138d2576138d16124e6565b5b60006138e084828501612de8565b91505092915050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b6000613945603683612e66565b9150613950826138e9565b604082019050919050565b6000602082019050818103600083015261397481613938565b9050919050565b61398481612575565b811461398f57600080fd5b50565b6000815190506139a18161397b565b92915050565b6000602082840312156139bd576139bc6124e6565b5b60006139cb84828501613992565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000613a30602a83612e66565b9150613a3b826139d4565b604082019050919050565b60006020820190508181036000830152613a5f81613a23565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000613ac2602683612e66565b9150613acd82613a66565b604082019050919050565b60006020820190508181036000830152613af181613ab5565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000613b2e601d83612e66565b9150613b3982613af8565b602082019050919050565b60006020820190508181036000830152613b5d81613b21565b9050919050565b600081905092915050565b6000613b7a82612c58565b613b848185613b64565b9350613b94818560208601612c74565b80840191505092915050565b6000613bac8284613b6f565b915081905092915050565b600081519050919050565b6000613bcd82613bb7565b613bd78185612e66565b9350613be7818560208601612c74565b613bf0816128f4565b840191505092915050565b60006020820190508181036000830152613c158184613bc2565b90509291505056fea264697066735822122090655d77560fbdcd4e095f3dfc930a3e7db070b320dc9b637744ec84d85af1ca64736f6c63430008110033", + "deployedBytecode": "0x6080604052600436106100c25760003560e01c8063839408ac1161007f578063ab8236f311610059578063ab8236f31461025a578063ac0d2b1314610283578063e08e5071146102c0578063ffa47670146102fd576100c2565b8063839408ac146101f9578063940c9dee146102155780639b250ded1461023e576100c2565b806314917f99146100c757806316016d03146100f0578063264e6c9b1461012d578063295d4d411461016a57806332a7ab5d146101935780634a6f22c4146101bc575b600080fd5b3480156100d357600080fd5b506100ee60048036038101906100e99190612548565b61033a565b005b3480156100fc57600080fd5b5061011760048036038101906101129190612548565b61033d565b6040516101249190612590565b60405180910390f35b34801561013957600080fd5b50610154600480360381019061014f9190612640565b610344565b604051610161919061269b565b60405180910390f35b34801561017657600080fd5b50610191600480360381019061018c919061271c565b6104e7565b005b34801561019f57600080fd5b506101ba60048036038101906101b59190612548565b610609565b005b3480156101c857600080fd5b506101e360048036038101906101de9190612548565b61060c565b6040516101f09190612590565b60405180910390f35b610213600480360381019061020e919061275c565b610617565b005b34801561022157600080fd5b5061023c6004803603810190610237919061281b565b610d0c565b005b610258600480360381019061025391906128c2565b61104b565b005b34801561026657600080fd5b50610281600480360381019061027c9190612a30565b61190d565b005b34801561028f57600080fd5b506102aa60048036038101906102a59190612548565b611ae3565b6040516102b79190612590565b60405180910390f35b3480156102cc57600080fd5b506102e760048036038101906102e29190612af5565b611aea565b6040516102f49190612b31565b60405180910390f35b34801561030957600080fd5b50610324600480360381019061031f9190612548565b611c4d565b6040516103319190612590565b60405180910390f35b50565b6000919050565b600061035a676b6a1706fc40421f60c01b610609565b61036e67a17253b2deeb069060c01b610609565b61038267ccc986379c4d80f160c01b610609565b60008273ffffffffffffffffffffffffffffffffffffffff16630a5123696103ad8660400135611aea565b60018760e00160208101906103c29190612b4c565b6040516020016103d29190612bc1565b6040516020818303038152906040528860a00160208101906103f49190612b4c565b6040516020016104049190612beb565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016104409190612bc1565b6040516020818303038152906040528152506040518663ffffffff1660e01b8152600401610472959493929190612d80565b6040805180830381865afa15801561048e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b29190612dfd565b5090506104c967e102f2c572cf40f860c01b610609565b6104dd6716e95b907e1816a560c01b610609565b8091505092915050565b6104fb67988e490ae4c703d260c01b610609565b61050f676f8f307cb7de9ab860c01b610609565b6105236758da89dc13ce7b8860c01b610609565b61052b611c58565b61053f676a22c727528aee5e60c01b610609565b61055367108c5580da60d05260c01b610609565b600061055d611d57565b905061057367f670e362f8950d9d60c01b610609565b8181600301600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055506105b7675bcc90cec163367d60c01b610609565b6105cb674c56ade916095c4060c01b610609565b7f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc83836040516105fc929190612e3d565b60405180910390a1505050565b50565b600060019050919050565b61062b6718ed4b83c401710460c01b610609565b61063f6770f43b674d4e55d060c01b61033a565b61065367fdb58b8d5e8c5bd260c01b61033a565b61066767f88563faceb9065260c01b61033a565b6000610671611dd5565b905061068767f5511ed184b06f9d60c01b61033a565b61069b675fe6356e9bb02e7e60c01b61033a565b60018160000154036106ed576106bb67c2bf72a01148a95560c01b61033a565b6040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107016759328cc6ac1a5b8460c01b61033a565b610715676585023ebf8de8b060c01b61033a565b600181600001819055506107336794e629fc71d8c79e60c01b61033a565b610747672881a2aec321239260c01b610609565b61075b67dd2c0f1b8d09895b60c01b610609565b61076f67cd6a1ff81758e0f760c01b610609565b6107836782429254fa8269b060c01b610609565b61079767a0f691c89b27008d60c01b610609565b60008260000135116107de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d590612ec3565b60405180910390fd5b6107f2677ebf072840a4d95f60c01b610609565b61080667fed74be637eda80b60c01b610609565b61081a676eb83bf20210390c60c01b610609565b6000610824611e53565b905061083a678182ad2943df89e460c01b610609565b61084e677425dff707a185d960c01b610609565b600061085a8483610344565b9050610870674404183e17d9e74c60c01b610609565b610884673bd291009b8078c860c01b610609565b610898670f089b8f5498528860c01b610609565b803410156108db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d290612f55565b60405180910390fd5b6108ef67820939dc08b273dd60c01b610609565b61090367c4e73b662355a21b60c01b610609565b61091767a3a1bb2ef1bf1ec660c01b610609565b60007f00000000000000000000000000000000000000000000000000000000000000008560c001602081019061094d9190612f75565b61ffff167f000000000000000000000000000000000000000000000000000000000000000061097c9190612fd1565b866000013561098b9190613005565b6109959190613076565b90506109ab67cc171d672a2a38cf60c01b610609565b6109bf673cb3bfc2ae73be4260c01b610609565b60008560e00160208101906109d49190612b4c565b6040516020016109e49190612bc1565b6040516020818303038152906040529050610a09670ddeef3ed113f00660c01b610609565b610a1d674e97eb2217c77f0f60c01b610609565b60008660a0016020810190610a329190612b4c565b604051602001610a429190612beb565b6040516020818303038152906040529050610a67674dab0ce8baf9c74160c01b610609565b610a7b67b7bb61978f9d97e560c01b610609565b610abe333089600001358a6020016020810190610a989190612b4c565b73ffffffffffffffffffffffffffffffffffffffff16611ec2909392919063ffffffff16565b610ad26708c58c8607868d6660c01b610609565b610ae6672a5fdb16657578a160c01b610609565b610b27858860000135896020016020810190610b029190612b4c565b73ffffffffffffffffffffffffffffffffffffffff16611f4b9092919063ffffffff16565b610b3b67fb60f2f8d21dd4f560c01b610609565b610b4f672e33f0d6552af9c760c01b610609565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc85610b798a60400135611aea565b8a6060016020810190610b8c9190612f75565b8b6080016020810190610b9f9190612f75565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b8152600401610c20999897969594939291906130f9565b6000604051808303818588803b158015610c3957600080fd5b505af1158015610c4d573d6000803e3d6000fd5b5050505050610c6667bab67b428018644460c01b610609565b610c7a6706ce641916e6cc2c60c01b610609565b7f0e95200cdc1da2112676781af663a51503f29bb3e511cfaa660977d2580be1d0876020016020810190610cae9190612b4c565b338960a0016020810190610cc29190612b4c565b8a600001358b60400135604051610cdd95949392919061319b565b60405180910390a15050505050610cfe67441391ce80e99b6c60c01b61033a565b600081600001819055505050565b610d2067dc78b0b6dcb719a660c01b610609565b610d34671ad991e745fcd88760c01b610609565b610d4867fbb408854cfb5ba560c01b610609565b610d5c671bab65bc473a358060c01b610609565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610dcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc290613260565b60405180910390fd5b610ddf67e238d996e1c6a29b60c01b610609565b610df367346f91eeb5fc6c6260c01b610609565b610e076759434cdfca46912960c01b610609565b610e0f611c58565b610e23672f925d4afc29a3a260c01b610609565b610e3767e89ae70bcfd142a660c01b610609565b6000610e41611d57565b9050610e5767ec5bab896690566660c01b610609565b858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610eae670c86ec52c985f76e60c01b610609565b848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f0567230957ad1da75ff460c01b610609565b838160020181905550610f2267f53cb1bb6c6a5c5860c01b610609565b610f36674dbd10ddc78689da60c01b610609565b60005b83839050811015610fdf57610f58677766d8e0fe7ffd4b60c01b610609565b838382818110610f6b57610f6a613280565b5b9050604002016020016020810190610f839190612f75565b826003016000868685818110610f9c57610f9b613280565b5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610fd8906132af565b9050610f39565b50610ff467eea98b178fd576e060c01b610609565b611008672f4996614d79aa5760c01b610609565b7ff4ec21f4fb595315ed445181b8973d6ebb853009bd6593a82fbbeadab2efc9b086868660405161103b939291906132f7565b60405180910390a1505050505050565b61105f677b6b1c7fc9e8a18560c01b610609565b6110736770f43b674d4e55d060c01b61033a565b61108767fdb58b8d5e8c5bd260c01b61033a565b61109b67f88563faceb9065260c01b61033a565b60006110a5611dd5565b90506110bb67f5511ed184b06f9d60c01b61033a565b6110cf675fe6356e9bb02e7e60c01b61033a565b6001816000015403611121576110ef67c2bf72a01148a95560c01b61033a565b6040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111356759328cc6ac1a5b8460c01b61033a565b611149676585023ebf8de8b060c01b61033a565b600181600001819055506111676794e629fc71d8c79e60c01b61033a565b61117b6755ebe8d99bfab0e660c01b610609565b61118f6783c099c3d6920eee60c01b610609565b6111a3677b2d23df6c743c1660c01b610609565b6111b7670e1bf95028b3562660c01b610609565b60006111c161209a565b90506111d767826a8031febc47a560c01b610609565b6111eb67e55f748511272f7660c01b610609565b6111ff6797ef46cfb2e1f1d860c01b610609565b60018114801561121f575061121e67b9defce38c448c0160c01b611c4d565b5b80611263575061a4b18114801561124657506112456744e394d95fc655b860c01b611c4d565b5b80156112625750611261676db8cef885766f1060c01b611c4d565b5b5b8061128a5750600a8114801561128957506112886791823fee38b54f9160c01b611c4d565b5b5b6112c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c0906133a0565b60405180910390fd5b6112dd67c9884dd7993613aa60c01b610609565b6112f167ce6b46409cb3036260c01b610609565b611305678e4e74cf10e6efcd60c01b610609565b61131967f1661058e39d604460c01b610609565b6001836020013514801561133d575061133c67d994b9fff3faf3d060c01b611c4d565b5b80611385575061a4b183602001351480156113685750611367678522fbcee38e3f2b60c01b611c4d565b5b80156113845750611383673d7f2a1cdc796c6b60c01b611c4d565b5b5b806113b05750600a83602001351480156113af57506113ae67a0b23bb6c5a2034d60c01b611c4d565b5b5b6113ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e690613432565b60405180910390fd5b61140367634ee426de357fec60c01b610609565b61141767671a1c703a7e255060c01b610609565b61142b671b85965e9b09a19360c01b610609565b61143f673e51b130d02414f960c01b610609565b60003411611482576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114799061349e565b60405180910390fd5b611496675475f5afcea4234f60c01b610609565b6114aa675be0e357a87433b260c01b610609565b6114be6714bd332749c6464c60c01b610609565b6114d267824e0feb461fd68b60c01b610609565b6000836000013511611519576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151090612ec3565b60405180910390fd5b61152d675aead8b9e4a94ad660c01b610609565b6115416715642c51226fe7e860c01b610609565b61155567bf6afb6d248e364260c01b610609565b611569675814d8dff7797ece60c01b610609565b826000013534116115af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a690613530565b60405180910390fd5b6115c367a7838bcc3dcf6f4960c01b610609565b6115d7674b87efcc48a2f6f860c01b610609565b6115eb67b577870ea07885de60c01b610609565b60006115f56120e9565b905061160b67504c44f964d09bda60c01b610609565b61161f67b629ff5fe4b6bbfb60c01b610609565b6116336791136c08444782d460c01b610609565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611699906135c2565b60405180910390fd5b6116b667945f14428689a58760c01b610609565b6116ca6709e6dbebddbfaf8160c01b610609565b6116de67506d17b653e10f7c60c01b610609565b60008460400160208101906116f39190612b4c565b6040516020016117039190612bc1565b60405160208183030381529060405290506117286779683220dd60860f60c01b610609565b61173c67c5d6139a64abbcc360c01b610609565b60007f00000000000000000000000000000000000000000000000000000000000000008660600160208101906117729190612f75565b61ffff167f00000000000000000000000000000000000000000000000000000000000000006117a19190612fd1565b87600001356117b09190613005565b6117ba9190613076565b90506117d067edccaf14a309f8b960c01b610609565b6117e467dfd394e8ca55834a60c01b610609565b8273ffffffffffffffffffffffffffffffffffffffff16631114cd2a3461180e8960200135611aea565b33868b60000135876040518763ffffffff1660e01b81526004016118369594939291906135e2565b6000604051808303818588803b15801561184f57600080fd5b505af1158015611863573d6000803e3d6000fd5b505050505061187c678f9ff857a7f5aa9860c01b610609565b611890679c044cacc1ce321260c01b610609565b7f2bedf250e292271a6dbcf3e289b75c4218a8494e721aabc2b475c22d8816f1d2338760400160208101906118c59190612b4c565b886000013589602001356040516118df949392919061363c565b60405180910390a1505050506118ff67441391ce80e99b6c60c01b61033a565b600081600001819055505050565b61192167c3456030a1bbb0e360c01b610609565b611935670b715fd8e1f8669860c01b610609565b61194967b53fdb9756ae99c460c01b610609565b61195d67de50a656d8824a5b60c01b610609565b611965611e53565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c9906136cd565b60405180910390fd5b6119e66704131b314593100d60c01b610609565b6119fa677fc8dbefdd35b0e460c01b610609565b611a0e6748055bde4d58675260c01b610609565b600081806020019051810190611a249190613719565b9050611a3a675e435c4e6f42509860c01b610609565b611a4e675b92b8826195634960c01b610609565b611a7981848673ffffffffffffffffffffffffffffffffffffffff166121589092919063ffffffff16565b611a8d67cf796a2db721527860c01b610609565b611aa167582a53062f53745760c01b610609565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c8484604051611ad2929190613746565b60405180910390a150505050505050565b6000919050565b6000611b0067a57cd9c6b9c41c6a60c01b610609565b611b14674f07f9242ebfa41160c01b610609565b611b28677a529f509caba1b060c01b610609565b6000611b32611d57565b9050611b48678fefb47c1559ea4b60c01b610609565b611b5c67d18e9683e19854f960c01b610609565b600081600301600085815260200190815260200160002060009054906101000a900461ffff169050611b9867e3c404249a55474b60c01b610609565b611bac67fbcd6388192b0a2f60c01b610609565b611bc0678530e22ceaeb424960c01b610609565b60008161ffff1603611c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfe906137e1565b60405180910390fd5b611c1b670c18b96b58e103a860c01b610609565b611c2f67f817d71c659e66ef60c01b610609565b611c43673ae9ed46966d707860c01b610609565b8092505050919050565b600060019050919050565b611c6c6721b40df6734b4e6460c01b6121de565b611c80677276b6d1bbf7b68b60c01b6121de565b611c9467f8611dbcb55a1f7860c01b6121de565b611ca8676cedf54251a3375160c01b6121de565b611cb06121e1565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3890613873565b60405180910390fd5b611d5567e452355b21bbd41e60c01b6121de565b565b6000611d6d67b34d90284ae0e9ef60c01b610609565b611d81672ed81e52c23168e360c01b610609565b611d9567e2ec83ce9578657560c01b610609565b60007fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c89050611dce670edd023654e5f17260c01b610609565b8091505090565b6000611deb67fa11c344c1ec53a860c01b61033a565b611dff670fd7b7008acdbf5460c01b61033a565b611e13679fbd6d57c5d665d460c01b61033a565b60007fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b49050611e4c67a9235c9a8268ed9060c01b61033a565b8091505090565b6000611e6967fd4dc90c18680f3060c01b610609565b611e7d6793e4e41457cec23060c01b610609565b611e9167f074c466862371b560c01b610609565b611e99611d57565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611f45846323b872dd60e01b858585604051602401611ee3939291906132f7565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061225f565b50505050565b6000811480611fd5575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401611f92929190613893565b602060405180830381865afa158015611faf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd391906138bc565b145b612014576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200b9061395b565b60405180910390fd5b6120958363095ea7b360e01b8484604051602401612033929190613746565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061225f565b505050565b60006120b067d1228306a9aa7ca160c01b610609565b6120c467a36f2b778691a42060c01b610609565b6120d86768a861b45d12e14460c01b610609565b6120e0611d57565b60020154905090565b60006120ff67ef5c638aa66eb48260c01b610609565b612113675a88d7efbd851a3e60c01b610609565b61212767cceaffc246b2acc960c01b610609565b61212f611d57565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6121d98363a9059cbb60e01b8484604051602401612177929190613746565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061225f565b505050565b50565b60006121f7674f9afbb757d80e6360c01b6121de565b61220b674b823103125da15660c01b6121de565b61221f674ab715c231c1608d60c01b6121de565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061225867982d9bb86701efa860c01b6121de565b8091505090565b60006122c1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166123269092919063ffffffff16565b905060008151111561232157808060200190518101906122e191906139a7565b612320576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231790613a46565b60405180910390fd5b5b505050565b6060612335848460008561233e565b90509392505050565b606082471015612383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237a90613ad8565b60405180910390fd5b61238c85612452565b6123cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123c290613b44565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516123f49190613ba0565b60006040518083038185875af1925050503d8060008114612431576040519150601f19603f3d011682016040523d82523d6000602084013e612436565b606091505b5091509150612446828286612475565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315612485578290506124d5565b6000835111156124985782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124cc9190613bfb565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b612525816124f0565b811461253057600080fd5b50565b6000813590506125428161251c565b92915050565b60006020828403121561255e5761255d6124e6565b5b600061256c84828501612533565b91505092915050565b60008115159050919050565b61258a81612575565b82525050565b60006020820190506125a56000830184612581565b92915050565b600080fd5b600061010082840312156125c7576125c66125ab565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125fb826125d0565b9050919050565b600061260d826125f0565b9050919050565b61261d81612602565b811461262857600080fd5b50565b60008135905061263a81612614565b92915050565b6000806101208385031215612658576126576124e6565b5b6000612666858286016125b0565b9250506101006126788582860161262b565b9150509250929050565b6000819050919050565b61269581612682565b82525050565b60006020820190506126b0600083018461268c565b92915050565b6126bf81612682565b81146126ca57600080fd5b50565b6000813590506126dc816126b6565b92915050565b600061ffff82169050919050565b6126f9816126e2565b811461270457600080fd5b50565b600081359050612716816126f0565b92915050565b60008060408385031215612733576127326124e6565b5b6000612741858286016126cd565b925050602061275285828601612707565b9150509250929050565b60006101008284031215612773576127726124e6565b5b6000612781848285016125b0565b91505092915050565b612793816125f0565b811461279e57600080fd5b50565b6000813590506127b08161278a565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126127db576127da6127b6565b5b8235905067ffffffffffffffff8111156127f8576127f76127bb565b5b602083019150836040820283011115612814576128136127c0565b5b9250929050565b600080600080600060808688031215612837576128366124e6565b5b6000612845888289016127a1565b9550506020612856888289016127a1565b9450506040612867888289016126cd565b935050606086013567ffffffffffffffff811115612888576128876124eb565b5b612894888289016127c5565b92509250509295509295909350565b6000608082840312156128b9576128b86125ab565b5b81905092915050565b6000608082840312156128d8576128d76124e6565b5b60006128e6848285016128a3565b91505092915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61293d826128f4565b810181811067ffffffffffffffff8211171561295c5761295b612905565b5b80604052505050565b600061296f6124dc565b905061297b8282612934565b919050565b600067ffffffffffffffff82111561299b5761299a612905565b5b6129a4826128f4565b9050602081019050919050565b82818337600083830152505050565b60006129d36129ce84612980565b612965565b9050828152602081018484840111156129ef576129ee6128ef565b5b6129fa8482856129b1565b509392505050565b600082601f830112612a1757612a166127b6565b5b8135612a278482602086016129c0565b91505092915050565b60008060008060008060c08789031215612a4d57612a4c6124e6565b5b6000612a5b89828a01612707565b965050602087013567ffffffffffffffff811115612a7c57612a7b6124eb565b5b612a8889828a01612a02565b9550506040612a9989828a016126cd565b9450506060612aaa89828a016127a1565b9350506080612abb89828a016126cd565b92505060a087013567ffffffffffffffff811115612adc57612adb6124eb565b5b612ae889828a01612a02565b9150509295509295509295565b600060208284031215612b0b57612b0a6124e6565b5b6000612b19848285016126cd565b91505092915050565b612b2b816126e2565b82525050565b6000602082019050612b466000830184612b22565b92915050565b600060208284031215612b6257612b616124e6565b5b6000612b70848285016127a1565b91505092915050565b60008160601b9050919050565b6000612b9182612b79565b9050919050565b6000612ba382612b86565b9050919050565b612bbb612bb6826125f0565b612b98565b82525050565b6000612bcd8284612baa565b60148201915081905092915050565b612be5816125f0565b82525050565b6000602082019050612c006000830184612bdc565b92915050565b6000819050919050565b600060ff82169050919050565b6000819050919050565b6000612c42612c3d612c3884612c06565b612c1d565b612c10565b9050919050565b612c5281612c27565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c92578082015181840152602081019050612c77565b60008484015250505050565b6000612ca982612c58565b612cb38185612c63565b9350612cc3818560208601612c74565b612ccc816128f4565b840191505092915050565b612ce081612682565b82525050565b600082825260208201905092915050565b6000612d0282612c58565b612d0c8185612ce6565b9350612d1c818560208601612c74565b612d25816128f4565b840191505092915050565b6000606083016000830151612d486000860182612cd7565b506020830151612d5b6020860182612cd7565b5060408301518482036040860152612d738282612cf7565b9150508091505092915050565b600060a082019050612d956000830188612b22565b612da26020830187612c49565b8181036040830152612db48186612c9e565b90508181036060830152612dc88185612c9e565b90508181036080830152612ddc8184612d30565b90509695505050505050565b600081519050612df7816126b6565b92915050565b60008060408385031215612e1457612e136124e6565b5b6000612e2285828601612de8565b9250506020612e3385828601612de8565b9150509250929050565b6000604082019050612e52600083018561268c565b612e5f6020830184612b22565b9392505050565b600082825260208201905092915050565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b6000612ead601b83612e66565b9150612eb882612e77565b602082019050919050565b60006020820190508181036000830152612edc81612ea0565b9050919050565b7f53746172676174653a3a206d73672e76616c7565206e6f7420656e6f7567682060008201527f746f20706179206272696467696e672066656500000000000000000000000000602082015250565b6000612f3f603383612e66565b9150612f4a82612ee3565b604082019050919050565b60006020820190508181036000830152612f6e81612f32565b9050919050565b600060208284031215612f8b57612f8a6124e6565b5b6000612f9984828501612707565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612fdc82612682565b9150612fe783612682565b9250828203905081811115612fff57612ffe612fa2565b5b92915050565b600061301082612682565b915061301b83612682565b925082820261302981612682565b915082820484148315176130405761303f612fa2565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061308182612682565b915061308c83612682565b92508261309c5761309b613047565b5b828204905092915050565b60006130c26130bd6130b8846126e2565b612c1d565b612682565b9050919050565b6130d2816130a7565b82525050565b60006130e3826125d0565b9050919050565b6130f3816130d8565b82525050565b60006101208201905061310f600083018c612b22565b61311c602083018b6130c9565b613129604083018a6130c9565b61313660608301896130ea565b613143608083018861268c565b61315060a083018761268c565b81810360c08301526131628186612d30565b905081810360e08301526131768185612c9e565b905081810361010083015261318b8184612c9e565b90509a9950505050505050505050565b600060a0820190506131b06000830188612bdc565b6131bd6020830187612bdc565b6131ca6040830186612bdc565b6131d7606083018561268c565b6131e4608083018461268c565b9695505050505050565b7f53746172676174653a3a20696e76616c696420726f757465722061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061324a602183612e66565b9150613255826131ee565b604082019050919050565b600060208201905081810360008301526132798161323d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006132ba82612682565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132ec576132eb612fa2565b5b600182019050919050565b600060608201905061330c6000830186612bdc565b6133196020830185612bdc565b613326604083018461268c565b949350505050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b600061338a603583612e66565b91506133958261332e565b604082019050919050565b600060208201905081810360008301526133b98161337d565b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b600061341c603383612e66565b9150613427826133c0565b604082019050919050565b6000602082019050818103600083015261344b8161340f565b9050919050565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b6000613488601d83612e66565b915061349382613452565b602082019050919050565b600060208201905081810360008301526134b78161347b565b9050919050565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b600061351a602883612e66565b9150613525826134be565b604082019050919050565b600060208201905081810360008301526135498161350d565b9050919050565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b60006135ac602583612e66565b91506135b782613550565b604082019050919050565b600060208201905081810360008301526135db8161359f565b9050919050565b600060a0820190506135f76000830188612b22565b61360460208301876130ea565b81810360408301526136168186612c9e565b9050613625606083018561268c565b613632608083018461268c565b9695505050505050565b60006080820190506136516000830187612bdc565b61365e6020830186612bdc565b61366b604083018561268c565b613678606083018461268c565b95945050505050565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b60006136b7601f83612e66565b91506136c282613681565b602082019050919050565b600060208201905081810360008301526136e6816136aa565b9050919050565b6136f6816130d8565b811461370157600080fd5b50565b600081519050613713816136ed565b92915050565b60006020828403121561372f5761372e6124e6565b5b600061373d84828501613704565b91505092915050565b600060408201905061375b6000830185612bdc565b613768602083018461268c565b9392505050565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b60006137cb603183612e66565b91506137d68261376f565b604082019050919050565b600060208201905081810360008301526137fa816137be565b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b600061385d602283612e66565b915061386882613801565b604082019050919050565b6000602082019050818103600083015261388c81613850565b9050919050565b60006040820190506138a86000830185612bdc565b6138b56020830184612bdc565b9392505050565b6000602082840312156138d2576138d16124e6565b5b60006138e084828501612de8565b91505092915050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b6000613945603683612e66565b9150613950826138e9565b604082019050919050565b6000602082019050818103600083015261397481613938565b9050919050565b61398481612575565b811461398f57600080fd5b50565b6000815190506139a18161397b565b92915050565b6000602082840312156139bd576139bc6124e6565b5b60006139cb84828501613992565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000613a30602a83612e66565b9150613a3b826139d4565b604082019050919050565b60006020820190508181036000830152613a5f81613a23565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000613ac2602683612e66565b9150613acd82613a66565b604082019050919050565b60006020820190508181036000830152613af181613ab5565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000613b2e601d83612e66565b9150613b3982613af8565b602082019050919050565b60006020820190508181036000830152613b5d81613b21565b9050919050565b600081905092915050565b6000613b7a82612c58565b613b848185613b64565b9350613b94818560208601612c74565b80840191505092915050565b6000613bac8284613b6f565b915081905092915050565b600081519050919050565b6000613bcd82613bb7565b613bd78185612e66565b9350613be7818560208601612c74565b613bf0816128f4565b840191505092915050565b60006020820190508181036000830152613c158184613bc2565b90509291505056fea264697066735822122090655d77560fbdcd4e095f3dfc930a3e7db070b320dc9b637744ec84d85af1ca64736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/WrappedWeiToken.json b/artifacts/WrappedWeiToken.json index b9a23edc..0b181dfb 100644 --- a/artifacts/WrappedWeiToken.json +++ b/artifacts/WrappedWeiToken.json @@ -164,6 +164,210 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_098c0657", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__42d24766", + "type": "bytes8" + } + ], + "name": "c_42d24766", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__99a47378", + "type": "bytes8" + } + ], + "name": "c_99a47378", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__d18be0f9", + "type": "bytes8" + } + ], + "name": "c_d18be0f9", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_false098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__42d24766", + "type": "bytes8" + } + ], + "name": "c_false42d24766", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__99a47378", + "type": "bytes8" + } + ], + "name": "c_false99a47378", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__d18be0f9", + "type": "bytes8" + } + ], + "name": "c_falsed18be0f9", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__098c0657", + "type": "bytes8" + } + ], + "name": "c_true098c0657", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__42d24766", + "type": "bytes8" + } + ], + "name": "c_true42d24766", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__99a47378", + "type": "bytes8" + } + ], + "name": "c_true99a47378", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes8", + "name": "c__d18be0f9", + "type": "bytes8" + } + ], + "name": "c_trued18be0f9", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, { "inputs": [], "name": "decimals", @@ -415,8 +619,8 @@ "type": "receive" } ], - "bytecode": "0x60806040523480156200001157600080fd5b50326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600b81526020017f5772617070656420576569000000000000000000000000000000000000000000815250600190805190602001906200009f929190620000f4565b506040518060400160405280600481526020017f575745490000000000000000000000000000000000000000000000000000000081525060029080519060200190620000ed929190620000f4565b506200019a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200013757805160ff191683800117855562000168565b8280016001018555821562000168579182015b82811115620001675782518255916020019190600101906200014a565b5b5090506200017791906200017b565b5090565b5b80821115620001965760008160009055506001016200017c565b5090565b6120b080620001aa6000396000f3fe6080604052600436106101235760003560e01c806356a3b64b116100a0578063a9059cbb11610064578063a9059cbb1461065f578063b760faf9146106d0578063ca9add8f14610714578063dd62ed3e14610765578063f55647e0146107ea5761013b565b806356a3b64b146104d557806370a08231146104ec578063834ff73914610551578063853828b6146105b857806395d89b41146105cf5761013b565b806323b872dd116100e757806323b872dd146103085780632e1a7d4d14610399578063313ce567146103d4578063392e53cd14610402578063462d0b2e1461042f5761013b565b806306fdde0314610140578063095ea7b3146101d0578063116191b61461024157806318160ddd14610282578063205c2878146102ad5761013b565b3661013b57610139610133610801565b34610810565b005b600080fd5b34801561014c57600080fd5b50610155610a26565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019557808201518184015260208101905061017a565b50505050905090810190601f1680156101c25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101dc57600080fd5b50610229600480360360408110156101f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ac4565b60405180821515815260200191505060405180910390f35b34801561024d57600080fd5b50610256610ae2565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561028e57600080fd5b50610297610b08565b6040518082815260200191505060405180910390f35b3480156102b957600080fd5b50610306600480360360408110156102d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b0e565b005b34801561031457600080fd5b506103816004803603606081101561032b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b24565b60405180821515815260200191505060405180910390f35b3480156103a557600080fd5b506103d2600480360360208110156103bc57600080fd5b8101908080359060200190929190505050610be1565b005b3480156103e057600080fd5b506103e9610bfd565b604051808260ff16815260200191505060405180910390f35b34801561040e57600080fd5b50610417610c10565b60405180821515815260200191505060405180910390f35b34801561043b57600080fd5b506104d36004803603604081101561045257600080fd5b810190808035906020019064010000000081111561046f57600080fd5b82018360208201111561048157600080fd5b803590602001918460208302840111640100000000831117156104a357600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c66565b005b3480156104e157600080fd5b506104ea610e05565b005b3480156104f857600080fd5b5061053b6004803603602081101561050f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e17565b6040518082815260200191505060405180910390f35b34801561055d57600080fd5b506105a06004803603602081101561057457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e60565b60405180821515815260200191505060405180910390f35b3480156105c457600080fd5b506105cd610eb6565b005b3480156105db57600080fd5b506105e4610f0f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610624578082015181840152602081019050610609565b50505050905090810190601f1680156106515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561066b57600080fd5b506106b86004803603604081101561068257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fad565b60405180821515815260200191505060405180910390f35b610712600480360360208110156106e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fcb565b005b34801561072057600080fd5b506107636004803603602081101561073757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fd8565b005b34801561077157600080fd5b506107d46004803603604081101561078857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611032565b6040518082815260200191505060405180910390f35b3480156107f657600080fd5b506107ff6110b9565b005b600061080b61120f565b905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610896576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611fb66026913960400191505060405180910390fd5b6000811161090c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4552433230546f6b656e3a2063616e6e6f74206d696e7420302076616c75650081525060200191505060405180910390fd5b61095e81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461122090919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109b68160045461122090919063ffffffff16565b6004819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610abc5780601f10610a9157610100808354040283529160200191610abc565b820191906000526020600020905b815481529060010190602001808311610a9f57829003601f168201915b505050505081565b6000610ad8610ad1610801565b84846112a8565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b610b20610b19610801565b838361149f565b5050565b600080610b2f610801565b9050610b3c858585611538565b610bd58582610bd086600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ab90919063ffffffff16565b6112a8565b60019150509392505050565b610bfa610bec610801565b610bf4610801565b8361149f565b50565b600360009054906101000a900460ff1681565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610d0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180611ec8602f913960400191505060405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008383905014610daa57600083839050905060005b81811015610da757610d9a858583818110610d7857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff166115d8565b8080600101915050610d61565b50505b610db381611723565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b610e15610e10610801565b6115d8565b565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000610ec0610801565b9050610f0c8182600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461149f565b50565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fa55780601f10610f7a57610100808354040283529160200191610fa5565b820191906000526020600020905b815481529060010190602001808311610f8857829003601f168201915b505050505081565b6000610fc1610fba610801565b8484611538565b6001905092915050565b610fd58134610810565b50565b6000610fe2610801565b905061102e8183600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461149f565b5050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60006110c3610801565b9050600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611167576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806120066027913960400191505060405180910390fd5b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fe3f5ed5f263f1f01764a96edfc7d025f511ec5f7d180e8816908b78bcf74f09881604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600061121b6028611767565b905090565b60008082840190508381101561129e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174684c69623a206164646974696f6e206f766572666c6f77000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561132e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180611f8b602b913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611f416029913960400191505060405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6114a983826117fc565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050611533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061202d6025913960400191505060405180910390fd5b505050565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561159a5761159583838361149f565b6115a6565b6115a58383836119b6565b5b505050565b60006115d08383604051806060016040528060218152602001611f6a60219139611c56565b905092915050565b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561167b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180611ef76028913960400191505060405180910390fd5b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f28b26e7a3d20aedbc5f8f2ebf7da671c0491723a2b78f47a097b0e46dee0714281604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009050611776611d10565b156117ef5760008360003690500390506117e76000368390601485019261179f93929190611e6c565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611dd3565b9150506117f3565b3390505b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611882576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180611ea06028913960400191505060405180910390fd5b6118ee8160405180606001604052806026815260200161205260269139600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c569092919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611946816004546115ab90919063ffffffff16565b600481905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612078602c913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ac2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180611fdc602a913960400191505060405180910390fd5b611b1481600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ab90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ba981600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461122090919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290611d03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611cc8578082015181840152602081019050611cad565b50505050905090810190601f168015611cf55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082840390509392505050565b600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611dcc57602c60003690501015611dc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611f1f6022913960400191505060405180910390fd5b600190505b8091505090565b6000806014835114611e4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f42797465734c69623a20696e76616c69642064617461206c656e67746800000081525060200191505060405180910390fd5b6c01000000000000000000000000602084015104905080915050919050565b60008085851115611e7c57600080fd5b83861115611e8957600080fd5b600185028301915084860390509450949250505056fe4552433230546f6b656e3a2063616e6e6f74206275726e2066726f6d203078302061646472657373496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a657257726170706564576569546f6b656e3a20636f6e73756d657220616c72656164792065786973747347617465776179526563697069656e743a20696e76616c6964206d73672e646174614552433230546f6b656e3a2063616e6e6f7420617070726f766520746f203078302061646472657373536166654d6174684c69623a207375627472616374696f6e206f766572666c6f774552433230546f6b656e3a2063616e6e6f7420617070726f76652066726f6d2030783020616464726573734552433230546f6b656e3a2063616e6e6f74206d696e7420746f2030783020616464726573734552433230546f6b656e3a2063616e6e6f74207472616e7366657220746f20307830206164647265737357726170706564576569546f6b656e3a20636f6e73756d657220646f65736e277420657869737457726170706564576569546f6b656e3a207472616e73616374696f6e2072657665727465644552433230546f6b656e3a206275726e2076616c756520657863656564732062616c616e63654552433230546f6b656e3a2063616e6e6f74207472616e736665722066726f6d203078302061646472657373a164736f6c634300060c000a", - "deployedBytecode": "0x6080604052600436106101235760003560e01c806356a3b64b116100a0578063a9059cbb11610064578063a9059cbb1461065f578063b760faf9146106d0578063ca9add8f14610714578063dd62ed3e14610765578063f55647e0146107ea5761013b565b806356a3b64b146104d557806370a08231146104ec578063834ff73914610551578063853828b6146105b857806395d89b41146105cf5761013b565b806323b872dd116100e757806323b872dd146103085780632e1a7d4d14610399578063313ce567146103d4578063392e53cd14610402578063462d0b2e1461042f5761013b565b806306fdde0314610140578063095ea7b3146101d0578063116191b61461024157806318160ddd14610282578063205c2878146102ad5761013b565b3661013b57610139610133610801565b34610810565b005b600080fd5b34801561014c57600080fd5b50610155610a26565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019557808201518184015260208101905061017a565b50505050905090810190601f1680156101c25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101dc57600080fd5b50610229600480360360408110156101f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ac4565b60405180821515815260200191505060405180910390f35b34801561024d57600080fd5b50610256610ae2565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561028e57600080fd5b50610297610b08565b6040518082815260200191505060405180910390f35b3480156102b957600080fd5b50610306600480360360408110156102d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b0e565b005b34801561031457600080fd5b506103816004803603606081101561032b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b24565b60405180821515815260200191505060405180910390f35b3480156103a557600080fd5b506103d2600480360360208110156103bc57600080fd5b8101908080359060200190929190505050610be1565b005b3480156103e057600080fd5b506103e9610bfd565b604051808260ff16815260200191505060405180910390f35b34801561040e57600080fd5b50610417610c10565b60405180821515815260200191505060405180910390f35b34801561043b57600080fd5b506104d36004803603604081101561045257600080fd5b810190808035906020019064010000000081111561046f57600080fd5b82018360208201111561048157600080fd5b803590602001918460208302840111640100000000831117156104a357600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c66565b005b3480156104e157600080fd5b506104ea610e05565b005b3480156104f857600080fd5b5061053b6004803603602081101561050f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e17565b6040518082815260200191505060405180910390f35b34801561055d57600080fd5b506105a06004803603602081101561057457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e60565b60405180821515815260200191505060405180910390f35b3480156105c457600080fd5b506105cd610eb6565b005b3480156105db57600080fd5b506105e4610f0f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610624578082015181840152602081019050610609565b50505050905090810190601f1680156106515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561066b57600080fd5b506106b86004803603604081101561068257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fad565b60405180821515815260200191505060405180910390f35b610712600480360360208110156106e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fcb565b005b34801561072057600080fd5b506107636004803603602081101561073757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fd8565b005b34801561077157600080fd5b506107d46004803603604081101561078857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611032565b6040518082815260200191505060405180910390f35b3480156107f657600080fd5b506107ff6110b9565b005b600061080b61120f565b905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610896576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611fb66026913960400191505060405180910390fd5b6000811161090c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4552433230546f6b656e3a2063616e6e6f74206d696e7420302076616c75650081525060200191505060405180910390fd5b61095e81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461122090919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109b68160045461122090919063ffffffff16565b6004819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610abc5780601f10610a9157610100808354040283529160200191610abc565b820191906000526020600020905b815481529060010190602001808311610a9f57829003601f168201915b505050505081565b6000610ad8610ad1610801565b84846112a8565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b610b20610b19610801565b838361149f565b5050565b600080610b2f610801565b9050610b3c858585611538565b610bd58582610bd086600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ab90919063ffffffff16565b6112a8565b60019150509392505050565b610bfa610bec610801565b610bf4610801565b8361149f565b50565b600360009054906101000a900460ff1681565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610d0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180611ec8602f913960400191505060405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008383905014610daa57600083839050905060005b81811015610da757610d9a858583818110610d7857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff166115d8565b8080600101915050610d61565b50505b610db381611723565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b610e15610e10610801565b6115d8565b565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000610ec0610801565b9050610f0c8182600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461149f565b50565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fa55780601f10610f7a57610100808354040283529160200191610fa5565b820191906000526020600020905b815481529060010190602001808311610f8857829003601f168201915b505050505081565b6000610fc1610fba610801565b8484611538565b6001905092915050565b610fd58134610810565b50565b6000610fe2610801565b905061102e8183600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461149f565b5050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60006110c3610801565b9050600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611167576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806120066027913960400191505060405180910390fd5b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fe3f5ed5f263f1f01764a96edfc7d025f511ec5f7d180e8816908b78bcf74f09881604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600061121b6028611767565b905090565b60008082840190508381101561129e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174684c69623a206164646974696f6e206f766572666c6f77000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561132e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180611f8b602b913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611f416029913960400191505060405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6114a983826117fc565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050611533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061202d6025913960400191505060405180910390fd5b505050565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561159a5761159583838361149f565b6115a6565b6115a58383836119b6565b5b505050565b60006115d08383604051806060016040528060218152602001611f6a60219139611c56565b905092915050565b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561167b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180611ef76028913960400191505060405180910390fd5b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f28b26e7a3d20aedbc5f8f2ebf7da671c0491723a2b78f47a097b0e46dee0714281604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009050611776611d10565b156117ef5760008360003690500390506117e76000368390601485019261179f93929190611e6c565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611dd3565b9150506117f3565b3390505b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611882576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180611ea06028913960400191505060405180910390fd5b6118ee8160405180606001604052806026815260200161205260269139600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c569092919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611946816004546115ab90919063ffffffff16565b600481905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612078602c913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ac2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180611fdc602a913960400191505060405180910390fd5b611b1481600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ab90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ba981600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461122090919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290611d03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611cc8578082015181840152602081019050611cad565b50505050905090810190601f168015611cf55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082840390509392505050565b600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611dcc57602c60003690501015611dc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611f1f6022913960400191505060405180910390fd5b600190505b8091505090565b6000806014835114611e4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f42797465734c69623a20696e76616c69642064617461206c656e67746800000081525060200191505060405180910390fd5b6c01000000000000000000000000602084015104905080915050919050565b60008085851115611e7c57600080fd5b83861115611e8957600080fd5b600185028301915084860390509450949250505056fe4552433230546f6b656e3a2063616e6e6f74206275726e2066726f6d203078302061646472657373496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a657257726170706564576569546f6b656e3a20636f6e73756d657220616c72656164792065786973747347617465776179526563697069656e743a20696e76616c6964206d73672e646174614552433230546f6b656e3a2063616e6e6f7420617070726f766520746f203078302061646472657373536166654d6174684c69623a207375627472616374696f6e206f766572666c6f774552433230546f6b656e3a2063616e6e6f7420617070726f76652066726f6d2030783020616464726573734552433230546f6b656e3a2063616e6e6f74206d696e7420746f2030783020616464726573734552433230546f6b656e3a2063616e6e6f74207472616e7366657220746f20307830206164647265737357726170706564576569546f6b656e3a20636f6e73756d657220646f65736e277420657869737457726170706564576569546f6b656e3a207472616e73616374696f6e2072657665727465644552433230546f6b656e3a206275726e2076616c756520657863656564732062616c616e63654552433230546f6b656e3a2063616e6e6f74207472616e736665722066726f6d203078302061646472657373a164736f6c634300060c000a", + "bytecode": "0x60806040523480156200001157600080fd5b506200002e67bcc9be562f8a4b0a60c01b620001b860201b60201c565b6200004a67579ae7209daca85260c01b620001b860201b60201c565b326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000a667d2295553e6d85b4460c01b620001bb60201b60201c565b620000c2674f33f857671bcade60c01b620001be60201b60201c565b620000de6772a61782d26adf1660c01b620001c160201b60201c565b620000fa6741903526ccaa472460c01b620001c160201b60201c565b6040518060400160405280600b81526020017f57726170706564205765690000000000000000000000000000000000000000008152506001908051906020019062000147929190620001c4565b506200016467a44e88e0af10dbc560c01b620001c160201b60201c565b6040518060400160405280600481526020017f575745490000000000000000000000000000000000000000000000000000000081525060029080519060200190620001b1929190620001c4565b506200026a565b50565b50565b50565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200020757805160ff191683800117855562000238565b8280016001018555821562000238579182015b82811115620002375782518255916020019190600101906200021a565b5b5090506200024791906200024b565b5090565b5b80821115620002665760008160009055506001016200024c565b5090565b6137fe806200027a6000396000f3fe6080604052600436106101e75760003560e01c8063692b0ad911610102578063b760faf911610095578063d84fa10c11610064578063d84fa10c14610c33578063dd62ed3e14610c9f578063f0af072114610d24578063f55647e014610d7a57610213565b8063b760faf914610adc578063c0fb758214610b20578063c454330514610b76578063ca9add8f14610be257610213565b806395d89b41116100d157806395d89b41146109035780639d713549146109935780639f106f7e146109ff578063a9059cbb14610a6b57610213565b8063692b0ad9146107b457806370a0823114610820578063834ff73914610885578063853828b6146108ec57610213565b80632e1a7d4d1161017a578063462d0b2e11610149578063462d0b2e146106355780634b08df6b146106db57806356a3b64b14610731578063683e15fd1461074857610213565b80632e1a7d4d14610549578063313ce56714610584578063392e53cd146105b25780633e260b13146105df57610213565b806318160ddd116101b657806318160ddd146103c6578063205c2878146103f157806323b872dd1461044c57806325921237146104dd57610213565b806306fdde0314610218578063095ea7b3146102a85780630bdaef0514610319578063116191b61461038557610213565b36610213576102006792eb7c3145cf751760c01b610d91565b61021161020b610d94565b34610ddf565b005b600080fd5b34801561022457600080fd5b5061022d6110f9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561026d578082015181840152602081019050610252565b50505050905090810190601f16801561029a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b457600080fd5b50610301600480360360408110156102cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611197565b60405180821515815260200191505060405180910390f35b34801561032557600080fd5b5061036d6004803603602081101561033c57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611219565b60405180821515815260200191505060405180910390f35b34801561039157600080fd5b5061039a611224565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103d257600080fd5b506103db61124a565b6040518082815260200191505060405180910390f35b3480156103fd57600080fd5b5061044a6004803603604081101561041457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611250565b005b34801561045857600080fd5b506104c56004803603606081101561046f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112a2565b60405180821515815260200191505060405180910390f35b3480156104e957600080fd5b506105316004803603602081101561050057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611414565b60405180821515815260200191505060405180910390f35b34801561055557600080fd5b506105826004803603602081101561056c57600080fd5b810190808035906020019092919050505061141f565b005b34801561059057600080fd5b50610599611477565b604051808260ff16815260200191505060405180910390f35b3480156105be57600080fd5b506105c761148a565b60405180821515815260200191505060405180910390f35b3480156105eb57600080fd5b506106336004803603602081101561060257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061151d565b005b34801561064157600080fd5b506106d96004803603604081101561065857600080fd5b810190808035906020019064010000000081111561067557600080fd5b82018360208201111561068757600080fd5b803590602001918460208302840111640100000000831117156106a957600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611520565b005b3480156106e757600080fd5b5061072f600480360360208110156106fe57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506118a4565b005b34801561073d57600080fd5b506107466118a7565b005b34801561075457600080fd5b5061079c6004803603602081101561076b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506118f5565b60405180821515815260200191505060405180910390f35b3480156107c057600080fd5b50610808600480360360208110156107d757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506118fc565b60405180821515815260200191505060405180910390f35b34801561082c57600080fd5b5061086f6004803603602081101561084357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611903565b6040518082815260200191505060405180910390f35b34801561089157600080fd5b506108d4600480360360208110156108a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611988565b60405180821515815260200191505060405180910390f35b3480156108f857600080fd5b50610901611a1a565b005b34801561090f57600080fd5b50610918611ad7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561095857808201518184015260208101905061093d565b50505050905090810190601f1680156109855780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561099f57600080fd5b506109e7600480360360208110156109b657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611b75565b60405180821515815260200191505060405180910390f35b348015610a0b57600080fd5b50610a5360048036036020811015610a2257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611b7c565b60405180821515815260200191505060405180910390f35b348015610a7757600080fd5b50610ac460048036036040811015610a8e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b87565b60405180821515815260200191505060405180910390f35b610b1e60048036036020811015610af257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c09565b005b348015610b2c57600080fd5b50610b7460048036036020811015610b4357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610d91565b005b348015610b8257600080fd5b50610bca60048036036020811015610b9957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611c52565b60405180821515815260200191505060405180910390f35b348015610bee57600080fd5b50610c3160048036036020811015610c0557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c5d565b005b348015610c3f57600080fd5b50610c8760048036036020811015610c5657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611d1b565b60405180821515815260200191505060405180910390f35b348015610cab57600080fd5b50610d0e60048036036040811015610cc257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d22565b6040518082815260200191505060405180910390f35b348015610d3057600080fd5b50610d7860048036036020811015610d4757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611de5565b005b348015610d8657600080fd5b50610d8f611de8565b005b50565b6000610daa673b19a8263bb5ce2460c01b610d91565b610dbe6707308200f7e8bb4d60c01b610d91565b610dd267a9938f0e39e5eb3d60c01b610d91565b610dda612006565b905090565b610df3675e2153e1f04496b660c01b6118a4565b610e0767bc8dc79551375fc360c01b6118a4565b610e1b67d8c712b22313922360c01b6118a4565b610e2f67e0f6206a227a3a8e60c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610eb5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806137046026913960400191505060405180910390fd5b610ec967ae039e1267b9559d60c01b6118a4565b610edd67db578c8e6e46de9260c01b6118a4565b610ef167e5ab2d5fbd27ad7b60c01b6118a4565b610f0567d6e3b8bd2f0c381960c01b6118a4565b60008111610f7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4552433230546f6b656e3a2063616e6e6f74206d696e7420302076616c75650081525060200191505060405180910390fd5b610f8f672123d38f06edc1d960c01b6118a4565b610fa3674b7af22033a895c860c01b6118a4565b610ff581600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205390919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061104c67ea2406dd5469a09560c01b6118a4565b6110618160045461205390919063ffffffff16565b60048190555061107b675c59db56e0a7542360c01b6118a4565b61108f672022246315104eac60c01b6118a4565b8173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561118f5780601f106111645761010080835404028352916020019161118f565b820191906000526020600020905b81548152906001019060200180831161117257829003601f168201915b505050505081565b60006111ad6753bec140568681c060c01b6118a4565b6111c1673fe4b697901a171d60c01b6118a4565b6111d56730b64dab119d9aa060c01b6118a4565b6111e76111e0610d94565b8484612190565b6111fb67e05419833179c73560c01b6118a4565b61120f677ca1f591274800dd60c01b6118a4565b6001905092915050565b600060019050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6112646752831001089b6de460c01b610d91565b61127867109e354adc08fcd760c01b610d91565b61128c6708f8eb69ec45706160c01b610d91565b61129e611297610d94565b8383612477565b5050565b60006112b86769df9d60650e32ef60c01b6118a4565b6112cc67d0ac32c0a71a47dd60c01b6118a4565b6112e067499eb90da77634db60c01b6118a4565b60006112ea610d94565b905061130067bb9ddff3033764bb60c01b6118a4565b611314678ab65d386d94fe9660c01b6118a4565b61131f85858561259c565b611333678c2a5f95b7f72efe60c01b6118a4565b61134767ee2bb8b53d569c0460c01b6118a4565b6113e085826113db86600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c390919063ffffffff16565b612190565b6113f467726c4938a33167c360c01b6118a4565b61140867e2df8d12e60e2b3460c01b6118a4565b60019150509392505050565b600060019050919050565b611433675f0e4b215ce3e35b60c01b610d91565b611447679a6e749bc50b015460c01b610d91565b61145b67d9c3d5315c46b14b60c01b610d91565b611474611466610d94565b61146e610d94565b83612477565b50565b600360009054906101000a900460ff1681565b60006114a067e29fe2f351ca6b2760c01b61151d565b6114b4676f5dd3f08b97747760c01b61151d565b6114c8673a9488d62818322a60c01b61151d565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b6115346756e55d7a3416e9c260c01b610d91565b61154867d2ba19feb39e0b7f60c01b61151d565b61155c670c5ad53cdb9edd1560c01b61151d565b61157067b6b588d2ebb9ae6960c01b61151d565b61158467c4ec9a90a885875260c01b61151d565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180613616602f913960400191505060405180910390fd5b61163c67c3785ba1534db95460c01b61151d565b61165067e4202927591248ef60c01b61151d565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506116a567531cfa2817fbdc8660c01b61151d565b6116b96725112fbc6ad1983560c01b610d91565b6116cd6774de259cf59a52a060c01b610d91565b6116e167413fe8b2561609c360c01b610d91565b6116f5673c40f28155f55a7460c01b610d91565b600083839050146117e45761171467d2bf7add9390b8ab60c01b610d91565b61172867c85fbc643d893c2660c01b610d91565b61173c67e8b07434fefc74b260c01b610d91565b6000838390509050611758670904b86e5b4f176f60c01b610d91565b61176c67f1990e4ec7ff150b60c01b610d91565b60005b818110156117dd5761178b6778daa037f5002fa960c01b610d91565b61179f67bbb76c7699d9c3ab60c01b610d91565b6117d08585838181106117ae57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1661272c565b808060010191505061176f565b50506117f9565b6117f867c96393be4a94ec6d60c01b610d91565b5b61180d67070298a97c7cd85960c01b610d91565b61182167a289f83d4763b18b60c01b610d91565b61182a81612917565b61183e6701520f419008b58e60c01b61151d565b6118526775364c04848b013b60c01b61151d565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b50565b6118bb67fe0e01cc5375259060c01b610d91565b6118cf67fc8caeb1e65f57dd60c01b610d91565b6118e3673313c636cb55688360c01b610d91565b6118f36118ee610d94565b61272c565b565b6000919050565b6000919050565b600061191967d01fdb7dd74bc5aa60c01b6118a4565b61192d670163cf5e2436a2dd60c01b6118a4565b61194167b670bfbcbdad8dbf60c01b6118a4565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600061199e67557a32e63afd7fae60c01b610d91565b6119b267af98f833a3543e5560c01b610d91565b6119c667585c1b6e111b4a0d60c01b610d91565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611a2e67d10e42b3232f553660c01b610d91565b611a4267ab1899c5f8e6d78d60c01b610d91565b611a5667be0ea1bfa097245160c01b610d91565b6000611a60610d94565b9050611a76679ea6aa7e891d5e2360c01b610d91565b611a8a67973a00b8d03c62a960c01b610d91565b611ad48182600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612477565b50565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b6d5780601f10611b4257610100808354040283529160200191611b6d565b820191906000526020600020905b815481529060010190602001808311611b5057829003601f168201915b505050505081565b6000919050565b600060019050919050565b6000611b9d67a1f7e11949ea673560c01b6118a4565b611bb16787d7d0fd85a9bf1460c01b6118a4565b611bc567fbb8b6f8a252809960c01b6118a4565b611bd7611bd0610d94565b848461259c565b611beb6773727b9781cbc97760c01b6118a4565b611bff679893780bf3355ed360c01b6118a4565b6001905092915050565b611c1d6710d22658e34d8a1e60c01b610d91565b611c316745d71858c148dcc060c01b610d91565b611c45672007145b8fc56ca760c01b610d91565b611c4f8134610ddf565b50565b600060019050919050565b611c7167cb6796f5f55fa8b060c01b610d91565b611c85675f90f5ba6367291660c01b610d91565b611c9967cdbcc0280667dda760c01b610d91565b6000611ca3610d94565b9050611cb9670e82bc9a4e3336a260c01b610d91565b611ccd67e6308fea357f466a60c01b610d91565b611d178183600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612477565b5050565b6000919050565b6000611d3867729c8b6593ca8f8960c01b6118a4565b611d4c67e58501633424d2de60c01b6118a4565b611d6067c33edf4e7d4f7b8660c01b6118a4565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b50565b611dfc679e757f11a69f758760c01b610d91565b611e106787c00fd9cd62c25660c01b610d91565b611e2467bebb895358ec005a60c01b610d91565b6000611e2e610d94565b9050611e44674b64f02e133a70c860c01b610d91565b611e5867fcc1ec6f797b112560c01b610d91565b611e6c67c5142b5459c66f1660c01b610d91565b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611f0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806137546027913960400191505060405180910390fd5b611f2267c075cd592854b9ad60c01b610d91565b611f3667e6d6ba5100391fca60c01b610d91565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611fa267b274bd40f3d8ce8660c01b610d91565b611fb667eb389a834e01769d60c01b610d91565b7fe3f5ed5f263f1f01764a96edfc7d025f511ec5f7d180e8816908b78bcf74f09881604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600061201c677ac614d5268cc8ac60c01b611de5565b612030670a6b7ac33c94c4ed60c01b611de5565b61204467e7ef433820a2765360c01b611de5565b61204e6028612983565b905090565b6000612069672797d9bbee8e685760c01b612b19565b61207d67e25930aa3032662f60c01b612b19565b612091673b804ace3fd44ea060c01b612b19565b600082840190506120ac67e0d809daafe36a0460c01b612b19565b6120c067d0d7b021c1a6823260c01b612b19565b6120d46741f1099b5fa09b9360c01b612b19565b8381101561214a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174684c69623a206164646974696f6e206f766572666c6f77000081525060200191505060405180910390fd5b61215e6728a352a27e50889560c01b612b19565b61217267f55e5f024a80111c60c01b612b19565b61218667d865abdcb752192460c01b612b19565b8091505092915050565b6121a467bfc0ff88689df43460c01b6118a4565b6121b8679a14afb3f0a041d360c01b6118a4565b6121cc67bc128d0a874c4c3e60c01b6118a4565b6121e0678d8cbef08defe69360c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806136d9602b913960400191505060405180910390fd5b61227a675349b1b172aa0a0b60c01b6118a4565b61228e67a7a8f58d25b50fd860c01b6118a4565b6122a2671ee4a7660e290fa660c01b6118a4565b6122b667815a40a05033c43460c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561233c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061368f6029913960400191505060405180910390fd5b61235067f33c07d56d5928e460c01b6118a4565b612364673937a971ebc35cc360c01b6118a4565b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123f967ca487db6f83002b660c01b6118a4565b61240d67e9b745e5ba7cbe6060c01b6118a4565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b61248b67187ddac9d5bc8bd160c01b610d91565b61249f67fbe7feb4b95b96c560c01b610d91565b6124b367a35ce9908849156360c01b610d91565b6124bd8382612b1c565b6124d167925831981356ea5e60c01b610d91565b6124e567cab401306d87cae360c01b610d91565b6124f96777aed7e1f4f8582460c01b610d91565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050612583576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061377b6025913960400191505060405180910390fd5b6125976754a6bfed8f0f6e8f60c01b610d91565b505050565b6125b067881f2d43dfda86ce60c01b610d91565b6125c4675725d33c0352682360c01b610d91565b6125d86739cbd5e8af561a7760c01b610d91565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156126765761263e6732e98b0a1e609fdd60c01b610d91565b612652678e42a4adb560808d60c01b610d91565b612666675f86e6684580200060c01b610d91565b612671838383612477565b6126be565b61268a6786b10d3e0d3edcd260c01b610d91565b61269e67147fe14eac7d123360c01b610d91565b6126b267cacbb0791179368760c01b610d91565b6126bd838383612d8a565b5b505050565b60006126d967e0716c1000d7d1da60c01b612b19565b6126ed674e44df08c8f0b5bb60c01b612b19565b612701679b7e32e8ae0c005160c01b612b19565b61272483836040518060600160405280602181526020016136b86021913961312e565b905092915050565b61274067a137779df390536260c01b610d91565b612754678e5297a1aa72533860c01b610d91565b6127686734e57ab99ec6b64160c01b610d91565b61277c6711bcf916f600f17460c01b610d91565b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561281f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806136456028913960400191505060405180910390fd5b61283367f3d6f26f35ccb86060c01b610d91565b61284767b9a863a98600747660c01b610d91565b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506128b3676e060f957467342d60c01b610d91565b6128c767b500732acf97022160c01b610d91565b7f28b26e7a3d20aedbc5f8f2ebf7da671c0491723a2b78f47a097b0e46dee0714281604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b61292b670beab42e12728d3b60c01b611de5565b61293f675ecbac840a5512ec60c01b611de5565b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006129996787c8246a4b35d1f160c01b611de5565b6129ad67976a1e8d41064d2460c01b611de5565b6129c1671867d8bf077bb31160c01b611de5565b60006129d767bdfeda5454a1273960c01b611de5565b6129eb677709e048711a13c960c01b611de5565b6129f3613274565b15612abc57612a0c67d3c6f6b0bcac9b6e60c01b611de5565b612a20673b2573735f5d680260c01b611de5565b612a34675089eb0622c78a2260c01b611de5565b6000836000369050039050612a53674bc94a8e9a6ee57960c01b611de5565b612ab460003683906014850192612a6c939291906135ba565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613455565b915050612ae8565b612ad0677e45e81af2ec2edc60c01b611de5565b612ae467391e31dbfdfb407e60c01b611de5565b3390505b612afc67c4042e2c7c2c999760c01b611de5565b612b1067fc44c5cccf2cd16760c01b611de5565b80915050919050565b50565b612b3067bc021464e5f3dd5460c01b6118a4565b612b4467bfc9321f335d4b8160c01b6118a4565b612b58673da1f67c1f439b0960c01b6118a4565b612b6c6764f5be91a42ad5bc60c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612bf2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806135ee6028913960400191505060405180910390fd5b612c06673f1310f25b67216160c01b6118a4565b612c1a672ae8ed6802151ce460c01b6118a4565b612c86816040518060600160405280602681526020016137a060269139600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312e9092919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612cdd674ae84cdbca296be160c01b6118a4565b612cf2816004546126c390919063ffffffff16565b600481905550612d0c6790c5dcef045f105560c01b6118a4565b612d2067df66109d66fc00c860c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b612d9e674d9d827b3eb8335f60c01b6118a4565b612db267029e04d47309ef2160c01b6118a4565b612dc6672a3032957b5eca3560c01b6118a4565b612dda676962e5e3dc9f5a1660c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612e60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806137c6602c913960400191505060405180910390fd5b612e746781fe059091eccd2260c01b6118a4565b612e8867ddb72a693e1e207f60c01b6118a4565b612e9c67a1475e83b0b9ddea60c01b6118a4565b612eb0674e6d322763042a0660c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612f36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061372a602a913960400191505060405180910390fd5b612f4a67df6b8336912560fa60c01b6118a4565b612f5e67617dce23d46bc03d60c01b6118a4565b612fb081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c390919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613007678bc66573c313c9d660c01b6118a4565b61305981600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205390919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130b067aa96686749a64e0c60c01b6118a4565b6130c4678ddd20d1037089ef60c01b6118a4565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000613144677d731b0c9f0e103a60c01b612b19565b613158672e44734f88495e8b60c01b612b19565b61316c670d025d40fd1bee3e60c01b612b19565b61318067025828287ef1fd1b60c01b612b19565b83831115829061322b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156131f05780820151818401526020810190506131d5565b50505050905090810190601f16801561321d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5061324067e9c31dd44a0bf91260c01b612b19565b613254675031ed2b8fb2561960c01b612b19565b61326867301f4385f3c6735c60c01b612b19565b82840390509392505050565b600061328a6714ec9ba31585b6f760c01b611de5565b61329e6764d00f8ee4cbc0f460c01b611de5565b6132b26728aef4b71ffef7e260c01b611de5565b60006132c8677b6cf6392b8d09d960c01b611de5565b6132dc67da655f124163f4bc60c01b611de5565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561341157613346678c4556fd14dc507160c01b611de5565b61335a674811af4455ee520960c01b611de5565b61336e67ae36e4b52033411860c01b611de5565b61338267ffe63a27679b309260c01b611de5565b602c600036905010156133e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061366d6022913960400191505060405180910390fd5b6133f467d1762b0b1ca636f360c01b611de5565b6134086769c465f7e405b9f660c01b611de5565b60019050613426565b6134256710f40798097af22060c01b611de5565b5b61343a671855328cbdf7411660c01b611de5565b61344e670e4f1457e534f9ac60c01b611de5565b8091505090565b600061346b670df8d76b8cabf76a60c01b6135b7565b61347f67e180fcce9e2bf4c560c01b6135b7565b613493670dcb70abe8e8bb0b60c01b6135b7565b60006134a967c9f13cc22eb780e060c01b6135b7565b6134bd67c60f8d891ff21de960c01b6135b7565b6134d16782bb9e679e55c73460c01b6135b7565b6014835114613548576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f42797465734c69623a20696e76616c69642064617461206c656e67746800000081525060200191505060405180910390fd5b61355c679ea304b1b6348ade60c01b6135b7565b61357067a0049b4768bf518260c01b6135b7565b6c01000000000000000000000000602084015104905061359a671f4dc55703cfba1860c01b6135b7565b6135ae67afb63a07e82275e260c01b6135b7565b80915050919050565b50565b600080858511156135ca57600080fd5b838611156135d757600080fd5b600185028301915084860390509450949250505056fe4552433230546f6b656e3a2063616e6e6f74206275726e2066726f6d203078302061646472657373496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a657257726170706564576569546f6b656e3a20636f6e73756d657220616c72656164792065786973747347617465776179526563697069656e743a20696e76616c6964206d73672e646174614552433230546f6b656e3a2063616e6e6f7420617070726f766520746f203078302061646472657373536166654d6174684c69623a207375627472616374696f6e206f766572666c6f774552433230546f6b656e3a2063616e6e6f7420617070726f76652066726f6d2030783020616464726573734552433230546f6b656e3a2063616e6e6f74206d696e7420746f2030783020616464726573734552433230546f6b656e3a2063616e6e6f74207472616e7366657220746f20307830206164647265737357726170706564576569546f6b656e3a20636f6e73756d657220646f65736e277420657869737457726170706564576569546f6b656e3a207472616e73616374696f6e2072657665727465644552433230546f6b656e3a206275726e2076616c756520657863656564732062616c616e63654552433230546f6b656e3a2063616e6e6f74207472616e736665722066726f6d203078302061646472657373a164736f6c634300060c000a", + "deployedBytecode": "0x6080604052600436106101e75760003560e01c8063692b0ad911610102578063b760faf911610095578063d84fa10c11610064578063d84fa10c14610c33578063dd62ed3e14610c9f578063f0af072114610d24578063f55647e014610d7a57610213565b8063b760faf914610adc578063c0fb758214610b20578063c454330514610b76578063ca9add8f14610be257610213565b806395d89b41116100d157806395d89b41146109035780639d713549146109935780639f106f7e146109ff578063a9059cbb14610a6b57610213565b8063692b0ad9146107b457806370a0823114610820578063834ff73914610885578063853828b6146108ec57610213565b80632e1a7d4d1161017a578063462d0b2e11610149578063462d0b2e146106355780634b08df6b146106db57806356a3b64b14610731578063683e15fd1461074857610213565b80632e1a7d4d14610549578063313ce56714610584578063392e53cd146105b25780633e260b13146105df57610213565b806318160ddd116101b657806318160ddd146103c6578063205c2878146103f157806323b872dd1461044c57806325921237146104dd57610213565b806306fdde0314610218578063095ea7b3146102a85780630bdaef0514610319578063116191b61461038557610213565b36610213576102006792eb7c3145cf751760c01b610d91565b61021161020b610d94565b34610ddf565b005b600080fd5b34801561022457600080fd5b5061022d6110f9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561026d578082015181840152602081019050610252565b50505050905090810190601f16801561029a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b457600080fd5b50610301600480360360408110156102cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611197565b60405180821515815260200191505060405180910390f35b34801561032557600080fd5b5061036d6004803603602081101561033c57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611219565b60405180821515815260200191505060405180910390f35b34801561039157600080fd5b5061039a611224565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103d257600080fd5b506103db61124a565b6040518082815260200191505060405180910390f35b3480156103fd57600080fd5b5061044a6004803603604081101561041457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611250565b005b34801561045857600080fd5b506104c56004803603606081101561046f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112a2565b60405180821515815260200191505060405180910390f35b3480156104e957600080fd5b506105316004803603602081101561050057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611414565b60405180821515815260200191505060405180910390f35b34801561055557600080fd5b506105826004803603602081101561056c57600080fd5b810190808035906020019092919050505061141f565b005b34801561059057600080fd5b50610599611477565b604051808260ff16815260200191505060405180910390f35b3480156105be57600080fd5b506105c761148a565b60405180821515815260200191505060405180910390f35b3480156105eb57600080fd5b506106336004803603602081101561060257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061151d565b005b34801561064157600080fd5b506106d96004803603604081101561065857600080fd5b810190808035906020019064010000000081111561067557600080fd5b82018360208201111561068757600080fd5b803590602001918460208302840111640100000000831117156106a957600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611520565b005b3480156106e757600080fd5b5061072f600480360360208110156106fe57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506118a4565b005b34801561073d57600080fd5b506107466118a7565b005b34801561075457600080fd5b5061079c6004803603602081101561076b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506118f5565b60405180821515815260200191505060405180910390f35b3480156107c057600080fd5b50610808600480360360208110156107d757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506118fc565b60405180821515815260200191505060405180910390f35b34801561082c57600080fd5b5061086f6004803603602081101561084357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611903565b6040518082815260200191505060405180910390f35b34801561089157600080fd5b506108d4600480360360208110156108a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611988565b60405180821515815260200191505060405180910390f35b3480156108f857600080fd5b50610901611a1a565b005b34801561090f57600080fd5b50610918611ad7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561095857808201518184015260208101905061093d565b50505050905090810190601f1680156109855780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561099f57600080fd5b506109e7600480360360208110156109b657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611b75565b60405180821515815260200191505060405180910390f35b348015610a0b57600080fd5b50610a5360048036036020811015610a2257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611b7c565b60405180821515815260200191505060405180910390f35b348015610a7757600080fd5b50610ac460048036036040811015610a8e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b87565b60405180821515815260200191505060405180910390f35b610b1e60048036036020811015610af257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c09565b005b348015610b2c57600080fd5b50610b7460048036036020811015610b4357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610d91565b005b348015610b8257600080fd5b50610bca60048036036020811015610b9957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611c52565b60405180821515815260200191505060405180910390f35b348015610bee57600080fd5b50610c3160048036036020811015610c0557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c5d565b005b348015610c3f57600080fd5b50610c8760048036036020811015610c5657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611d1b565b60405180821515815260200191505060405180910390f35b348015610cab57600080fd5b50610d0e60048036036040811015610cc257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d22565b6040518082815260200191505060405180910390f35b348015610d3057600080fd5b50610d7860048036036020811015610d4757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611de5565b005b348015610d8657600080fd5b50610d8f611de8565b005b50565b6000610daa673b19a8263bb5ce2460c01b610d91565b610dbe6707308200f7e8bb4d60c01b610d91565b610dd267a9938f0e39e5eb3d60c01b610d91565b610dda612006565b905090565b610df3675e2153e1f04496b660c01b6118a4565b610e0767bc8dc79551375fc360c01b6118a4565b610e1b67d8c712b22313922360c01b6118a4565b610e2f67e0f6206a227a3a8e60c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610eb5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806137046026913960400191505060405180910390fd5b610ec967ae039e1267b9559d60c01b6118a4565b610edd67db578c8e6e46de9260c01b6118a4565b610ef167e5ab2d5fbd27ad7b60c01b6118a4565b610f0567d6e3b8bd2f0c381960c01b6118a4565b60008111610f7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4552433230546f6b656e3a2063616e6e6f74206d696e7420302076616c75650081525060200191505060405180910390fd5b610f8f672123d38f06edc1d960c01b6118a4565b610fa3674b7af22033a895c860c01b6118a4565b610ff581600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205390919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061104c67ea2406dd5469a09560c01b6118a4565b6110618160045461205390919063ffffffff16565b60048190555061107b675c59db56e0a7542360c01b6118a4565b61108f672022246315104eac60c01b6118a4565b8173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561118f5780601f106111645761010080835404028352916020019161118f565b820191906000526020600020905b81548152906001019060200180831161117257829003601f168201915b505050505081565b60006111ad6753bec140568681c060c01b6118a4565b6111c1673fe4b697901a171d60c01b6118a4565b6111d56730b64dab119d9aa060c01b6118a4565b6111e76111e0610d94565b8484612190565b6111fb67e05419833179c73560c01b6118a4565b61120f677ca1f591274800dd60c01b6118a4565b6001905092915050565b600060019050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6112646752831001089b6de460c01b610d91565b61127867109e354adc08fcd760c01b610d91565b61128c6708f8eb69ec45706160c01b610d91565b61129e611297610d94565b8383612477565b5050565b60006112b86769df9d60650e32ef60c01b6118a4565b6112cc67d0ac32c0a71a47dd60c01b6118a4565b6112e067499eb90da77634db60c01b6118a4565b60006112ea610d94565b905061130067bb9ddff3033764bb60c01b6118a4565b611314678ab65d386d94fe9660c01b6118a4565b61131f85858561259c565b611333678c2a5f95b7f72efe60c01b6118a4565b61134767ee2bb8b53d569c0460c01b6118a4565b6113e085826113db86600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c390919063ffffffff16565b612190565b6113f467726c4938a33167c360c01b6118a4565b61140867e2df8d12e60e2b3460c01b6118a4565b60019150509392505050565b600060019050919050565b611433675f0e4b215ce3e35b60c01b610d91565b611447679a6e749bc50b015460c01b610d91565b61145b67d9c3d5315c46b14b60c01b610d91565b611474611466610d94565b61146e610d94565b83612477565b50565b600360009054906101000a900460ff1681565b60006114a067e29fe2f351ca6b2760c01b61151d565b6114b4676f5dd3f08b97747760c01b61151d565b6114c8673a9488d62818322a60c01b61151d565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b6115346756e55d7a3416e9c260c01b610d91565b61154867d2ba19feb39e0b7f60c01b61151d565b61155c670c5ad53cdb9edd1560c01b61151d565b61157067b6b588d2ebb9ae6960c01b61151d565b61158467c4ec9a90a885875260c01b61151d565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180613616602f913960400191505060405180910390fd5b61163c67c3785ba1534db95460c01b61151d565b61165067e4202927591248ef60c01b61151d565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506116a567531cfa2817fbdc8660c01b61151d565b6116b96725112fbc6ad1983560c01b610d91565b6116cd6774de259cf59a52a060c01b610d91565b6116e167413fe8b2561609c360c01b610d91565b6116f5673c40f28155f55a7460c01b610d91565b600083839050146117e45761171467d2bf7add9390b8ab60c01b610d91565b61172867c85fbc643d893c2660c01b610d91565b61173c67e8b07434fefc74b260c01b610d91565b6000838390509050611758670904b86e5b4f176f60c01b610d91565b61176c67f1990e4ec7ff150b60c01b610d91565b60005b818110156117dd5761178b6778daa037f5002fa960c01b610d91565b61179f67bbb76c7699d9c3ab60c01b610d91565b6117d08585838181106117ae57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1661272c565b808060010191505061176f565b50506117f9565b6117f867c96393be4a94ec6d60c01b610d91565b5b61180d67070298a97c7cd85960c01b610d91565b61182167a289f83d4763b18b60c01b610d91565b61182a81612917565b61183e6701520f419008b58e60c01b61151d565b6118526775364c04848b013b60c01b61151d565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b50565b6118bb67fe0e01cc5375259060c01b610d91565b6118cf67fc8caeb1e65f57dd60c01b610d91565b6118e3673313c636cb55688360c01b610d91565b6118f36118ee610d94565b61272c565b565b6000919050565b6000919050565b600061191967d01fdb7dd74bc5aa60c01b6118a4565b61192d670163cf5e2436a2dd60c01b6118a4565b61194167b670bfbcbdad8dbf60c01b6118a4565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600061199e67557a32e63afd7fae60c01b610d91565b6119b267af98f833a3543e5560c01b610d91565b6119c667585c1b6e111b4a0d60c01b610d91565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611a2e67d10e42b3232f553660c01b610d91565b611a4267ab1899c5f8e6d78d60c01b610d91565b611a5667be0ea1bfa097245160c01b610d91565b6000611a60610d94565b9050611a76679ea6aa7e891d5e2360c01b610d91565b611a8a67973a00b8d03c62a960c01b610d91565b611ad48182600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612477565b50565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b6d5780601f10611b4257610100808354040283529160200191611b6d565b820191906000526020600020905b815481529060010190602001808311611b5057829003601f168201915b505050505081565b6000919050565b600060019050919050565b6000611b9d67a1f7e11949ea673560c01b6118a4565b611bb16787d7d0fd85a9bf1460c01b6118a4565b611bc567fbb8b6f8a252809960c01b6118a4565b611bd7611bd0610d94565b848461259c565b611beb6773727b9781cbc97760c01b6118a4565b611bff679893780bf3355ed360c01b6118a4565b6001905092915050565b611c1d6710d22658e34d8a1e60c01b610d91565b611c316745d71858c148dcc060c01b610d91565b611c45672007145b8fc56ca760c01b610d91565b611c4f8134610ddf565b50565b600060019050919050565b611c7167cb6796f5f55fa8b060c01b610d91565b611c85675f90f5ba6367291660c01b610d91565b611c9967cdbcc0280667dda760c01b610d91565b6000611ca3610d94565b9050611cb9670e82bc9a4e3336a260c01b610d91565b611ccd67e6308fea357f466a60c01b610d91565b611d178183600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612477565b5050565b6000919050565b6000611d3867729c8b6593ca8f8960c01b6118a4565b611d4c67e58501633424d2de60c01b6118a4565b611d6067c33edf4e7d4f7b8660c01b6118a4565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b50565b611dfc679e757f11a69f758760c01b610d91565b611e106787c00fd9cd62c25660c01b610d91565b611e2467bebb895358ec005a60c01b610d91565b6000611e2e610d94565b9050611e44674b64f02e133a70c860c01b610d91565b611e5867fcc1ec6f797b112560c01b610d91565b611e6c67c5142b5459c66f1660c01b610d91565b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611f0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806137546027913960400191505060405180910390fd5b611f2267c075cd592854b9ad60c01b610d91565b611f3667e6d6ba5100391fca60c01b610d91565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611fa267b274bd40f3d8ce8660c01b610d91565b611fb667eb389a834e01769d60c01b610d91565b7fe3f5ed5f263f1f01764a96edfc7d025f511ec5f7d180e8816908b78bcf74f09881604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600061201c677ac614d5268cc8ac60c01b611de5565b612030670a6b7ac33c94c4ed60c01b611de5565b61204467e7ef433820a2765360c01b611de5565b61204e6028612983565b905090565b6000612069672797d9bbee8e685760c01b612b19565b61207d67e25930aa3032662f60c01b612b19565b612091673b804ace3fd44ea060c01b612b19565b600082840190506120ac67e0d809daafe36a0460c01b612b19565b6120c067d0d7b021c1a6823260c01b612b19565b6120d46741f1099b5fa09b9360c01b612b19565b8381101561214a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174684c69623a206164646974696f6e206f766572666c6f77000081525060200191505060405180910390fd5b61215e6728a352a27e50889560c01b612b19565b61217267f55e5f024a80111c60c01b612b19565b61218667d865abdcb752192460c01b612b19565b8091505092915050565b6121a467bfc0ff88689df43460c01b6118a4565b6121b8679a14afb3f0a041d360c01b6118a4565b6121cc67bc128d0a874c4c3e60c01b6118a4565b6121e0678d8cbef08defe69360c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806136d9602b913960400191505060405180910390fd5b61227a675349b1b172aa0a0b60c01b6118a4565b61228e67a7a8f58d25b50fd860c01b6118a4565b6122a2671ee4a7660e290fa660c01b6118a4565b6122b667815a40a05033c43460c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561233c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061368f6029913960400191505060405180910390fd5b61235067f33c07d56d5928e460c01b6118a4565b612364673937a971ebc35cc360c01b6118a4565b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123f967ca487db6f83002b660c01b6118a4565b61240d67e9b745e5ba7cbe6060c01b6118a4565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b61248b67187ddac9d5bc8bd160c01b610d91565b61249f67fbe7feb4b95b96c560c01b610d91565b6124b367a35ce9908849156360c01b610d91565b6124bd8382612b1c565b6124d167925831981356ea5e60c01b610d91565b6124e567cab401306d87cae360c01b610d91565b6124f96777aed7e1f4f8582460c01b610d91565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050612583576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061377b6025913960400191505060405180910390fd5b6125976754a6bfed8f0f6e8f60c01b610d91565b505050565b6125b067881f2d43dfda86ce60c01b610d91565b6125c4675725d33c0352682360c01b610d91565b6125d86739cbd5e8af561a7760c01b610d91565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156126765761263e6732e98b0a1e609fdd60c01b610d91565b612652678e42a4adb560808d60c01b610d91565b612666675f86e6684580200060c01b610d91565b612671838383612477565b6126be565b61268a6786b10d3e0d3edcd260c01b610d91565b61269e67147fe14eac7d123360c01b610d91565b6126b267cacbb0791179368760c01b610d91565b6126bd838383612d8a565b5b505050565b60006126d967e0716c1000d7d1da60c01b612b19565b6126ed674e44df08c8f0b5bb60c01b612b19565b612701679b7e32e8ae0c005160c01b612b19565b61272483836040518060600160405280602181526020016136b86021913961312e565b905092915050565b61274067a137779df390536260c01b610d91565b612754678e5297a1aa72533860c01b610d91565b6127686734e57ab99ec6b64160c01b610d91565b61277c6711bcf916f600f17460c01b610d91565b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561281f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806136456028913960400191505060405180910390fd5b61283367f3d6f26f35ccb86060c01b610d91565b61284767b9a863a98600747660c01b610d91565b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506128b3676e060f957467342d60c01b610d91565b6128c767b500732acf97022160c01b610d91565b7f28b26e7a3d20aedbc5f8f2ebf7da671c0491723a2b78f47a097b0e46dee0714281604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b61292b670beab42e12728d3b60c01b611de5565b61293f675ecbac840a5512ec60c01b611de5565b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006129996787c8246a4b35d1f160c01b611de5565b6129ad67976a1e8d41064d2460c01b611de5565b6129c1671867d8bf077bb31160c01b611de5565b60006129d767bdfeda5454a1273960c01b611de5565b6129eb677709e048711a13c960c01b611de5565b6129f3613274565b15612abc57612a0c67d3c6f6b0bcac9b6e60c01b611de5565b612a20673b2573735f5d680260c01b611de5565b612a34675089eb0622c78a2260c01b611de5565b6000836000369050039050612a53674bc94a8e9a6ee57960c01b611de5565b612ab460003683906014850192612a6c939291906135ba565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613455565b915050612ae8565b612ad0677e45e81af2ec2edc60c01b611de5565b612ae467391e31dbfdfb407e60c01b611de5565b3390505b612afc67c4042e2c7c2c999760c01b611de5565b612b1067fc44c5cccf2cd16760c01b611de5565b80915050919050565b50565b612b3067bc021464e5f3dd5460c01b6118a4565b612b4467bfc9321f335d4b8160c01b6118a4565b612b58673da1f67c1f439b0960c01b6118a4565b612b6c6764f5be91a42ad5bc60c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612bf2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806135ee6028913960400191505060405180910390fd5b612c06673f1310f25b67216160c01b6118a4565b612c1a672ae8ed6802151ce460c01b6118a4565b612c86816040518060600160405280602681526020016137a060269139600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312e9092919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612cdd674ae84cdbca296be160c01b6118a4565b612cf2816004546126c390919063ffffffff16565b600481905550612d0c6790c5dcef045f105560c01b6118a4565b612d2067df66109d66fc00c860c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b612d9e674d9d827b3eb8335f60c01b6118a4565b612db267029e04d47309ef2160c01b6118a4565b612dc6672a3032957b5eca3560c01b6118a4565b612dda676962e5e3dc9f5a1660c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612e60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806137c6602c913960400191505060405180910390fd5b612e746781fe059091eccd2260c01b6118a4565b612e8867ddb72a693e1e207f60c01b6118a4565b612e9c67a1475e83b0b9ddea60c01b6118a4565b612eb0674e6d322763042a0660c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612f36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061372a602a913960400191505060405180910390fd5b612f4a67df6b8336912560fa60c01b6118a4565b612f5e67617dce23d46bc03d60c01b6118a4565b612fb081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c390919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613007678bc66573c313c9d660c01b6118a4565b61305981600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205390919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130b067aa96686749a64e0c60c01b6118a4565b6130c4678ddd20d1037089ef60c01b6118a4565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000613144677d731b0c9f0e103a60c01b612b19565b613158672e44734f88495e8b60c01b612b19565b61316c670d025d40fd1bee3e60c01b612b19565b61318067025828287ef1fd1b60c01b612b19565b83831115829061322b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156131f05780820151818401526020810190506131d5565b50505050905090810190601f16801561321d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5061324067e9c31dd44a0bf91260c01b612b19565b613254675031ed2b8fb2561960c01b612b19565b61326867301f4385f3c6735c60c01b612b19565b82840390509392505050565b600061328a6714ec9ba31585b6f760c01b611de5565b61329e6764d00f8ee4cbc0f460c01b611de5565b6132b26728aef4b71ffef7e260c01b611de5565b60006132c8677b6cf6392b8d09d960c01b611de5565b6132dc67da655f124163f4bc60c01b611de5565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561341157613346678c4556fd14dc507160c01b611de5565b61335a674811af4455ee520960c01b611de5565b61336e67ae36e4b52033411860c01b611de5565b61338267ffe63a27679b309260c01b611de5565b602c600036905010156133e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061366d6022913960400191505060405180910390fd5b6133f467d1762b0b1ca636f360c01b611de5565b6134086769c465f7e405b9f660c01b611de5565b60019050613426565b6134256710f40798097af22060c01b611de5565b5b61343a671855328cbdf7411660c01b611de5565b61344e670e4f1457e534f9ac60c01b611de5565b8091505090565b600061346b670df8d76b8cabf76a60c01b6135b7565b61347f67e180fcce9e2bf4c560c01b6135b7565b613493670dcb70abe8e8bb0b60c01b6135b7565b60006134a967c9f13cc22eb780e060c01b6135b7565b6134bd67c60f8d891ff21de960c01b6135b7565b6134d16782bb9e679e55c73460c01b6135b7565b6014835114613548576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f42797465734c69623a20696e76616c69642064617461206c656e67746800000081525060200191505060405180910390fd5b61355c679ea304b1b6348ade60c01b6135b7565b61357067a0049b4768bf518260c01b6135b7565b6c01000000000000000000000000602084015104905061359a671f4dc55703cfba1860c01b6135b7565b6135ae67afb63a07e82275e260c01b6135b7565b80915050919050565b50565b600080858511156135ca57600080fd5b838611156135d757600080fd5b600185028301915084860390509450949250505056fe4552433230546f6b656e3a2063616e6e6f74206275726e2066726f6d203078302061646472657373496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a657257726170706564576569546f6b656e3a20636f6e73756d657220616c72656164792065786973747347617465776179526563697069656e743a20696e76616c6964206d73672e646174614552433230546f6b656e3a2063616e6e6f7420617070726f766520746f203078302061646472657373536166654d6174684c69623a207375627472616374696f6e206f766572666c6f774552433230546f6b656e3a2063616e6e6f7420617070726f76652066726f6d2030783020616464726573734552433230546f6b656e3a2063616e6e6f74206d696e7420746f2030783020616464726573734552433230546f6b656e3a2063616e6e6f74207472616e7366657220746f20307830206164647265737357726170706564576569546f6b656e3a20636f6e73756d657220646f65736e277420657869737457726170706564576569546f6b656e3a207472616e73616374696f6e2072657665727465644552433230546f6b656e3a206275726e2076616c756520657863656564732062616c616e63654552433230546f6b656e3a2063616e6e6f74207472616e736665722066726f6d203078302061646472657373a164736f6c634300060c000a", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/docs/bridging/STARGATE_FACET.md b/docs/bridging/STARGATE_FACET.md new file mode 100644 index 00000000..6612861b --- /dev/null +++ b/docs/bridging/STARGATE_FACET.md @@ -0,0 +1,195 @@ +# StargateFacet Smart Contract Documentation + +## Overview + +The StargateFacet is a Solidity smart contract that provides Stargate/LayerZero integration for bridging tokens across different chains. It allows users to transfer tokens and Ether between different chains using Stargate's routing mechanism. + +## Contract Details + +Solidity Version: 0.8.17 +License: MIT + +## Imports + +*@openzeppelin/contracts/token/ERC20/IERC20.sol*: Interface for ERC20 tokens. +*@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol*: Library for safe ERC20 token operations. +*../../common/helpers/DiamondReentrancyGuard.sol*: Helper contract for preventing reentrancy attacks. +*../libs/LibDiamond.sol*: Library for Diamond proxy contract implementation. +*../interfaces/stargate/IStargateRouter.sol*: Interface for Stargate Router contract. +*../interfaces/stargate/IStargateRouterETH.sol*: Interface for Stargate ETH Router contract. +*../interfaces/stargate/IStargateReceiver.sol*: Interface for Stargate Receiver contract. + +## Storage and Structs + +The contract has the following storage variables and structs: + +**Storage** +Contains various state variables for the contract: + +* `stargateRouter`: Address of the Stargate Router contract. +* `stargateETHRouter`: Address of the Stargate ETH Router contract. +* `chainId`: Current chain ID. +* `lzChainIds`: Mapping of chain IDs to corresponding LayerZero chain IDs. + +**ChainIdConfig** +Represents the mapping of chain IDs to LayerZero chain IDs: + +* `chainId`: Actual chain ID. +* `layerZeroChainId`: LayerZero chain ID that corresponds to the actual chain ID. + +**StargateData** +Represents the data required for token transfers between chains: + +* `amount`: Amount of tokens to swap. +* `bridgeToken`: The address of the native ERC20 token to swap. +* `dstChainId`: Chain ID of the destination chain. +* `srcPoolId`: Stargate pool ID for the source tokens. +* `dstPoolId`: Stargate pool ID for the destination tokens. +* `to`: Address to receive the destination tokens. +* `slippage`: Slippage tolerance on the quantity (in basis points). +* `destStargateComposed`: Address of the destination contract that must implement `sgReceive`. + +**StargateETHData** +Represents the data required for Ether transfers between chains: + +* `amount`: Amount of Ether to swap. +* `dstChainId`: Chain ID of the destination chain. +* `to`: Address to receive the destination Ether. +* `slippage`: Slippage tolerance on the quantity (in basis points). + +## Events + +The contract emits the following events: + +**StargateInitialized** +Emitted when the facet is initialized. + +Parameters: + +* `stargateRouter`: Address of the Stargate Router contract. +* `stargateETHRouter`: Address of the Stargate ETH Router contract. +* `chainId`: Current chain ID. + +**StargateTokenSwap** +Emitted on ERC20 token swap between chains. + +Parameters: + +* `fromToken`: Address of the token being swapped. +* `from`: Address from which the token is transferred. +* `to`: Address to which the token is transferred. +* `amount`: Amount of tokens being swapped. +* `chainIdTo`: Receiving chain ID. + +**StargateETHSwap** +Emitted on ETH swap between chains. + +Parameters: + +* `from`: Address from which the ETH is transferred. +* `to`: Address to which the ETH is transferred. +* `amount`: Amount of ETH being swapped. +* `chainIdTo`: Receiving chain ID. + +**StargateReceivedOnDestination** +Emitted when tokens are received on the destination chain. + +Parameters: + +* `token`: Address of the token received. +* `amount`: Amount of tokens received. + +**LzChainIdSet** +Emitted when a LayerZero chain ID is set for a chain. + +Parameters: + +* `chainId`: Chain ID for which the LayerZero chain ID is set. +* `lzChainId`: LayerZero chain ID that corresponds to the chain ID. + +## Public/External Functions + +The contract provides the following functions: + +`initStargate` +Initializes the state variables for the Stargate facet. + +Parameters: + +* `_stargateRouter`: Address of the Stargate Router contract. +* `_stargateEthRouter`: Address of the Stargate ETH Router contract. +* `_chainId`: Current chain ID. +* `_chainIdConfigs`: An array of ChainIdConfig representing mappings of chain IDs to LayerZero chain IDs. + +`stargateTokenTransfer` +Initiates a token bridge transfer between chains. + +Parameters: + +* `_data`: A StargateData object containing the transfer details. + +`stargateETHTransfer` +Initiates an Ether bridge transfer between chains. + +Parameters: + +* `_data`: A StargateETHData object containing the transfer details. + +`stargateFees` +Calculates the cross-chain fee for a token transfer. + +Parameters: + +* `_data`: A StargateData object containing the transfer details. +* `_router`: Address of the Stargate Router contract. +Returns: The calculated fee amount. + +`sgReceive` +Required to receive tokens on the destination chain. + +Parameters: + +* `_chainId`: Chain ID of the sender. +* `_srcAddress`: Source address on the sender chain (not used). +* `_nonce`: Nonce of the sender chain (not used). +* `_token`: The address of the token contract on the local chain. +* `_amountLD`: The quantity of local token contract tokens to receive. +* `_payload`: Bytes containing the destination address. + +`getLzChainId` +Gets the LayerZero chain ID for the specified chain. + +Parameters: + +* `_chainId`: Chain ID for which to get the LayerZero chain ID. +Returns: The corresponding LayerZero chain ID. + +`setLzChainId` +Sets the LayerZero chain ID for the specified chain. + +Parameters: + +* `_chainId`: Chain ID for which to set the LayerZero chain ID. +* _lzChainId: LayerZero chain ID to set. + +## Internal Functions + +`getStargateRouter` +Retrieves Stargate Router address from storage + +Returns: The Stargate Router address for the current chain. + +`getStargateETHRouter` +Retrieves Stargate ETH Router address from storage + +Returns: The Stargate ETH Router address for the current chain (if no ETH router then zero address will be returned). + +`getChainId` +Retrieves current chain ID. + +Returns: The current chain ID that the facet is deployed on. + +`getStorage` +Retrieves Storage struct data. + +Returns: All of the data stored in the Storage struct. diff --git a/scripts/001_test_stargate_facet.ts b/scripts/001_test_stargate_facet.ts new file mode 100644 index 00000000..96091471 --- /dev/null +++ b/scripts/001_test_stargate_facet.ts @@ -0,0 +1,75 @@ +import { DeployFunction } from "hardhat-deploy/types"; +import { HardhatRuntimeEnvironment } from "hardhat/types"; +import { addOrReplaceFacets } from "../utils/diamond"; +import config from "../config/stargate"; +import { ChainIdConfigStruct } from "typings/StargateFacet"; + +const func: DeployFunction = async function(hre: HardhatRuntimeEnvironment) { + const { + deployments: { deploy, log }, + getNamedAccounts, + ethers, + network, + } = hre; + const { from } = await getNamedAccounts(); + + if (!config[network.name]) { + return log( + "No stargate config for this network available: " + network.name, + ); + } + + const chainIdConfigs: ChainIdConfigStruct[] = []; + for (const networkName in config) { + if (config.hasOwnProperty(networkName)) { + const networkConfig = config[networkName]; + const { chainId, lzChainId } = networkConfig; + + const chainIds: ChainIdConfigStruct = { + chainId, + layerZeroChainId: lzChainId, + }; + + chainIdConfigs.push(chainIds); + } + } + + await deploy("StargateFacet", { + from, + log: true, + deterministicDeployment: true, + }); + + const diamond = await ethers.getContract("Diamond"); + const stargateFacet = await ethers.getContract("StargateFacet"); + + const ABI = [ + "function initStargate(address, address, uint16, ChainIdConfig[])", + ]; + const iface = new hre.ethers.utils.Interface(ABI); + + const initData = iface.encodeFunctionData("initStargate", [ + config[network.name].stargateRouter, + config[network.name].stargateETHRouter, + config[network.name].chainId, + chainIdConfigs, + ]); + + await addOrReplaceFacets( + [stargateFacet], + diamond.address, + stargateFacet.address, + initData, + ); + + await hre.run("verify:verify", { + address: stargateFacet.address, + contract: "src/bridges/facets/StargateFacet.sol", + constructorArguments: [], + }); +}; +func.id = "stargate_facet_deploy"; +func.tags = ["bridges", "stargate"]; +func.dependencies = ["init-facets"]; + +export default func; diff --git a/src/bridges/facets/StargateFacet.sol b/src/bridges/facets/StargateFacet.sol index 4ef418eb..fc070d36 100644 --- a/src/bridges/facets/StargateFacet.sol +++ b/src/bridges/facets/StargateFacet.sol @@ -23,7 +23,7 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { struct Storage { IStargateRouter stargateRouter; IStargateRouterETH stargateETHRouter; - uint16 chainId; + uint256 chainId; mapping(uint256 => uint16) lzChainIds; } @@ -41,7 +41,7 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { * @notice token transfer data object * @param amount - amount to swap * @param bridgeToken - the address of the native ERC20 to swap() - *must* be the token for the poolId - * @param dstChainId - stargate/layerzero chainId + * @param dstChainId - chain id * @param srcPoolId - stargate poolId - *must* be the poolId for the qty asset * @param dstPoolId - stargate destination poolId * @param to - address to send the destination tokens to @@ -51,7 +51,7 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { struct StargateData { uint256 amount; address bridgeToken; - uint16 dstChainId; + uint256 dstChainId; uint16 srcPoolId; uint16 dstPoolId; address to; @@ -62,13 +62,13 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { /** * @notice ETH transfer data object * @param amount - amount to swap - * @param dstChainId - stargate/layerzero chainId + * @param dstChainId - chain id * @param to - address to send the destination tokens to * @param slippage - slippage tolerance on _qty (eg 50 == 0.5%) */ struct StargateETHData { uint256 amount; - uint16 dstChainId; + uint256 dstChainId; address to; uint16 slippage; } @@ -86,7 +86,7 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { event StargateInitialized( address stargateRouter, address stargateETHRouter, - uint16 chainId + uint256 chainId ); /** @@ -102,7 +102,7 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { address from, address to, uint256 amount, - uint16 chainIdTo + uint256 chainIdTo ); /** @@ -116,7 +116,7 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { address from, address to, uint256 amount, - uint16 chainIdTo + uint256 chainIdTo ); /** @@ -143,7 +143,7 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { function initStargate( address _stargateRouter, address _stargateEthRouter, - uint16 _chainId, + uint256 _chainId, ChainIdConfig[] calldata _chainIdConfigs ) external { require( @@ -170,12 +170,16 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { function stargateTokenTransfer( StargateData calldata _data ) external payable nonReentrant { - require(msg.value > 0, "Stargate:: msg.value required to pay message"); require(_data.amount > 0, "Stargate:: invalid quantity"); IStargateRouter router = getStargateRouter(); // get stargate fees uint256 lzFee = stargateFees(_data, router); + // check msg.value is >= lzFee + require( + msg.value >= lzFee, + "Stargate:: msg.value not enough to pay bridging fee" + ); // calc minimum amount out uint256 minAmountOut = (_data.amount * (BPS - _data.slippage)) / BPS; @@ -362,7 +366,7 @@ contract StargateFacet is IStargateReceiver, ReentrancyGuard { * @dev returns stargate chainId * @return address connext contract */ - function getChainId() private view returns (uint16) { + function getChainId() private view returns (uint256) { return getStorage().chainId; } diff --git a/src/bridges/helpers/SGReceiver.sol b/src/bridges/helpers/SGReceiver.sol deleted file mode 100644 index 147c0d68..00000000 --- a/src/bridges/helpers/SGReceiver.sol +++ /dev/null @@ -1,54 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity 0.8.4; - -import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; -import {ReentrancyGuard} from "../../common/helpers/DiamondReentrancyGuard.sol"; -import {IStargateReceiver} from "../interfaces/stargate/IStargateReceiver.sol"; -import {IStargateRouter} from "../interfaces/stargate/IStargateRouter.sol"; - -/** - * @title SGReceiver - * @notice Test for sgReceive - */ - -contract SGReceiver is IStargateReceiver, ReentrancyGuard { - using SafeERC20 for IERC20; - - IStargateRouter router; - - /** - * @dev emitted when received on destination chain - * @param token - token address - * @param amount - amount swapping - */ - event StargateReceivedOnDestination(address token, uint256 amount); - - constructor(address _sgRouter) { - router = IStargateRouter(_sgRouter); - } - - /** - * @notice required to receive tokens on destination chain - * @param _token the token contract on the local chain - * @param _amountLD the qty of local _token contract tokens - * @param _payload the bytes containing the toAddress - */ - function sgReceive( - uint16 /*_chainId*/, - bytes memory /*_srcAddress*/, - uint256 /*_nonce*/, - address _token, - uint256 _amountLD, - bytes memory _payload - ) external override nonReentrant { - require( - msg.sender == address(router), - "Stargate:: only stargate router" - ); - - address to = abi.decode(_payload, (address)); - IERC20(_token).safeTransfer(to, _amountLD); - emit StargateReceivedOnDestination(_token, _amountLD); - } -} diff --git a/test/bridges/StargateFacet.ts b/test/bridges/StargateFacet.ts index 2c43c930..3f4da1d4 100644 --- a/test/bridges/StargateFacet.ts +++ b/test/bridges/StargateFacet.ts @@ -1,4 +1,9 @@ -import { Contract, ContractReceipt, ContractTransaction } from "ethers"; +import { + BigNumber, + Contract, + ContractReceipt, + ContractTransaction, +} from "ethers"; import { deployContract, multiCallCheckLastEventEmitted, @@ -37,6 +42,7 @@ const CHAIN_IDS_TO_LZ_CHAIN_IDS: ChainIdConfigStruct[] = [ { chainId: POLYGON_CHAIN_ID, layerZeroChainId: LZ_POLYGON_CHAIN_ID }, ]; const ZERO_ADDRESS = ethers.constants.AddressZero; +const ONE_USDC = ethers.utils.parseUnits("1", 6); const TEN_USDC = ethers.utils.parseUnits("10", 6); const VITALIK_ACCOUNT = "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"; const USDC_FUNDER_ACCOUNT = "0x95Ba4cF87D6723ad9C0Db21737D862bE80e93911"; @@ -191,14 +197,14 @@ describe("StargateFacet", () => { expect(result[0]).toEqual("StargateInitialized"); expect(result[1]).toEqual(MAINNET_STARGATE_ROUTER_ADDRESS); expect(result[2]).toEqual(MAINNET_STARGATE_ETH_ROUTER_ADDRESS); - expect(result[3]).toEqual(ETH_CHAIN_ID); + expect(result[3]).toEqual(BigNumber.from(ETH_CHAIN_ID)); }); }); describe("#stargateTokenTransfer", async () => { - it("should trigger error if no msg.value amount to pay for fees", async () => { + it("should trigger error if no amount is specified", async () => { transferData = { - amount: TEN_USDC, + amount: ethers.utils.parseUnits("0", 6), bridgeToken: MAINNET_USDC_ADDRESS, dstChainId: POLYGON_CHAIN_ID, srcPoolId: 1, // USDC pool id mainnet @@ -209,16 +215,18 @@ describe("StargateFacet", () => { }; await expectRevert( - stargateFacet.connect(alice).stargateTokenTransfer(transferData), - "Stargate:: msg.value required to pay message", + stargateFacet.connect(alice).stargateTokenTransfer(transferData, { + value: ethers.utils.parseEther("0.01"), + }), + "Stargate:: invalid quantity", ); }); - it("should trigger error if no amount is specified", async () => { + it("should trigger error if chain id is invalid", async () => { transferData = { - amount: ethers.utils.parseUnits("0", 6), + amount: TEN_USDC, bridgeToken: MAINNET_USDC_ADDRESS, - dstChainId: POLYGON_CHAIN_ID, + dstChainId: 999, srcPoolId: 1, // USDC pool id mainnet dstPoolId: 1, // USDC pool id polygon to: bob.address, @@ -230,15 +238,15 @@ describe("StargateFacet", () => { stargateFacet.connect(alice).stargateTokenTransfer(transferData, { value: ethers.utils.parseEther("0.01"), }), - "Stargate:: invalid quantity", + "Stargate:: chain not assigned layer zero chain id", ); }); - it("should trigger error if chain id is invalid", async () => { + it("should throw error if msg.value is not gte required layer zero fee", async () => { transferData = { - amount: TEN_USDC, + amount: ONE_USDC, bridgeToken: MAINNET_USDC_ADDRESS, - dstChainId: 999, + dstChainId: POLYGON_CHAIN_ID, srcPoolId: 1, // USDC pool id mainnet dstPoolId: 1, // USDC pool id polygon to: bob.address, @@ -246,11 +254,17 @@ describe("StargateFacet", () => { destStargateComposed: POLYGON_STARGATE_ROUTER_ADDRESS, }; + const lzFeeReq = await stargateFacet.stargateFees( + transferData, + MAINNET_STARGATE_ROUTER_ADDRESS, + ); + const ltLzFee = lzFeeReq.sub(1); + await expectRevert( stargateFacet.connect(alice).stargateTokenTransfer(transferData, { - value: ethers.utils.parseEther("0.01"), + value: ltLzFee, }), - "Stargate:: chain not assigned layer zero chain id", + "Stargate:: msg.value not enough to pay bridging fee", ); }); @@ -321,7 +335,7 @@ describe("StargateFacet", () => { expect(event[0].args.from).toEqual(alice.address); expect(event[0].args.to).toEqual(bob.address); expect(event[0].args.amount).toEqual(TEN_USDC); - expect(event[0].args.chainIdTo).toEqual(POLYGON_CHAIN_ID); + expect(event[0].args.chainIdTo).toEqual(BigNumber.from(POLYGON_CHAIN_ID)); }); it("should perform ERC20 token swap (MAINNET USDC => MATIC USDT)", async () => { @@ -351,7 +365,7 @@ describe("StargateFacet", () => { expect(event[0].args.from).toEqual(alice.address); expect(event[0].args.to).toEqual(bob.address); expect(event[0].args.amount).toEqual(TEN_USDC); - expect(event[0].args.chainIdTo).toEqual(POLYGON_CHAIN_ID); + expect(event[0].args.chainIdTo).toEqual(BigNumber.from(POLYGON_CHAIN_ID)); }); }); @@ -474,7 +488,9 @@ describe("StargateFacet", () => { expect(event[0].args.from).toEqual(alice.address); expect(event[0].args.to).toEqual(bob.address); expect(event[0].args.amount).toEqual(ethers.utils.parseEther("0.1")); - expect(event[0].args.chainIdTo).toEqual(ARBITRUM_CHAIN_ID); + expect(event[0].args.chainIdTo).toEqual( + BigNumber.from(ARBITRUM_CHAIN_ID), + ); }); }); @@ -495,6 +511,8 @@ describe("StargateFacet", () => { transferData, MAINNET_STARGATE_ROUTER_ADDRESS, ); + + console.log(`FEES: ${fees}`); expect(parseInt(fees.toString())).toBeGreaterThan(0); }); }); diff --git a/typings/Account.ts b/typings/Account.ts index 0d1ff47f..a17443a6 100644 --- a/typings/Account.ts +++ b/typings/Account.ts @@ -19,6 +19,15 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface AccountInterface extends utils.Interface { functions: { + "c_28344ffb(bytes8)": FunctionFragment; + "c_495bfa8b(bytes8)": FunctionFragment; + "c_ac4285e3(bytes8)": FunctionFragment; + "c_false28344ffb(bytes8)": FunctionFragment; + "c_false495bfa8b(bytes8)": FunctionFragment; + "c_falseac4285e3(bytes8)": FunctionFragment; + "c_true28344ffb(bytes8)": FunctionFragment; + "c_true495bfa8b(bytes8)": FunctionFragment; + "c_trueac4285e3(bytes8)": FunctionFragment; "controller()": FunctionFragment; "executeTransaction(address,uint256,bytes)": FunctionFragment; "implementation()": FunctionFragment; @@ -26,6 +35,42 @@ export interface AccountInterface extends utils.Interface { "setImplementation(address)": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_28344ffb", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_495bfa8b", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_ac4285e3", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false28344ffb", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false495bfa8b", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falseac4285e3", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true28344ffb", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true495bfa8b", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_trueac4285e3", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "controller", values?: undefined @@ -44,6 +89,33 @@ export interface AccountInterface extends utils.Interface { values: [string] ): string; + decodeFunctionResult(functionFragment: "c_28344ffb", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_495bfa8b", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_ac4285e3", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false28344ffb", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false495bfa8b", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_falseac4285e3", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true28344ffb", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true495bfa8b", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_trueac4285e3", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "controller", data: BytesLike): Result; decodeFunctionResult( functionFragment: "executeTransaction", @@ -89,6 +161,51 @@ export interface Account extends BaseContract { removeListener: OnEvent; functions: { + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_ac4285e3( + c__ac4285e3: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_falseac4285e3( + c__ac4285e3: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_trueac4285e3( + c__ac4285e3: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + controller(overrides?: CallOverrides): Promise<[string]>; executeTransaction( @@ -108,6 +225,42 @@ export interface Account extends BaseContract { ): Promise; }; + c_28344ffb(c__28344ffb: BytesLike, overrides?: CallOverrides): Promise; + + c_495bfa8b(c__495bfa8b: BytesLike, overrides?: CallOverrides): Promise; + + c_ac4285e3(c__ac4285e3: BytesLike, overrides?: CallOverrides): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falseac4285e3( + c__ac4285e3: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trueac4285e3( + c__ac4285e3: BytesLike, + overrides?: CallOverrides + ): Promise; + controller(overrides?: CallOverrides): Promise; executeTransaction( @@ -127,6 +280,51 @@ export interface Account extends BaseContract { ): Promise; callStatic: { + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_ac4285e3( + c__ac4285e3: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falseac4285e3( + c__ac4285e3: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trueac4285e3( + c__ac4285e3: BytesLike, + overrides?: CallOverrides + ): Promise; + controller(overrides?: CallOverrides): Promise; executeTransaction( @@ -149,6 +347,51 @@ export interface Account extends BaseContract { filters: {}; estimateGas: { + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_ac4285e3( + c__ac4285e3: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falseac4285e3( + c__ac4285e3: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trueac4285e3( + c__ac4285e3: BytesLike, + overrides?: CallOverrides + ): Promise; + controller(overrides?: CallOverrides): Promise; executeTransaction( @@ -169,6 +412,51 @@ export interface Account extends BaseContract { }; populateTransaction: { + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_ac4285e3( + c__ac4285e3: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falseac4285e3( + c__ac4285e3: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trueac4285e3( + c__ac4285e3: BytesLike, + overrides?: CallOverrides + ): Promise; + controller(overrides?: CallOverrides): Promise; executeTransaction( diff --git a/typings/AccountBase.ts b/typings/AccountBase.ts index 9166d6bd..c8fab5eb 100644 --- a/typings/AccountBase.ts +++ b/typings/AccountBase.ts @@ -16,11 +16,35 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface AccountBaseInterface extends utils.Interface { functions: { + "c_28344ffb(bytes8)": FunctionFragment; + "c_false28344ffb(bytes8)": FunctionFragment; + "c_true28344ffb(bytes8)": FunctionFragment; "registry()": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_28344ffb", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false28344ffb", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true28344ffb", + values: [BytesLike] + ): string; encodeFunctionData(functionFragment: "registry", values?: undefined): string; + decodeFunctionResult(functionFragment: "c_28344ffb", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false28344ffb", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true28344ffb", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "registry", data: BytesLike): Result; events: {}; @@ -53,22 +77,94 @@ export interface AccountBase extends BaseContract { removeListener: OnEvent; functions: { + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + registry(overrides?: CallOverrides): Promise<[string]>; }; + c_28344ffb(c__28344ffb: BytesLike, overrides?: CallOverrides): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + registry(overrides?: CallOverrides): Promise; callStatic: { + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + registry(overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + registry(overrides?: CallOverrides): Promise; }; populateTransaction: { + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + registry(overrides?: CallOverrides): Promise; }; } diff --git a/typings/AccountController.ts b/typings/AccountController.ts index 7472fafa..65d8f738 100644 --- a/typings/AccountController.ts +++ b/typings/AccountController.ts @@ -18,6 +18,9 @@ export interface AccountControllerInterface extends utils.Interface { functions: { "accountImplementation()": FunctionFragment; "accountRegistry()": FunctionFragment; + "c_bf6efb80(bytes8)": FunctionFragment; + "c_falsebf6efb80(bytes8)": FunctionFragment; + "c_truebf6efb80(bytes8)": FunctionFragment; }; encodeFunctionData( @@ -28,6 +31,18 @@ export interface AccountControllerInterface extends utils.Interface { functionFragment: "accountRegistry", values?: undefined ): string; + encodeFunctionData( + functionFragment: "c_bf6efb80", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsebf6efb80", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_truebf6efb80", + values: [BytesLike] + ): string; decodeFunctionResult( functionFragment: "accountImplementation", @@ -37,6 +52,15 @@ export interface AccountControllerInterface extends utils.Interface { functionFragment: "accountRegistry", data: BytesLike ): Result; + decodeFunctionResult(functionFragment: "c_bf6efb80", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_falsebf6efb80", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_truebf6efb80", + data: BytesLike + ): Result; events: { "AccountDeployed(address,address)": EventFragment; @@ -129,16 +153,58 @@ export interface AccountController extends BaseContract { accountImplementation(overrides?: CallOverrides): Promise<[string]>; accountRegistry(overrides?: CallOverrides): Promise<[string]>; + + c_bf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_falsebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_truebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; }; accountImplementation(overrides?: CallOverrides): Promise; accountRegistry(overrides?: CallOverrides): Promise; + c_bf6efb80(c__bf6efb80: BytesLike, overrides?: CallOverrides): Promise; + + c_falsebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + callStatic: { accountImplementation(overrides?: CallOverrides): Promise; accountRegistry(overrides?: CallOverrides): Promise; + + c_bf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; }; filters: { @@ -194,6 +260,21 @@ export interface AccountController extends BaseContract { accountImplementation(overrides?: CallOverrides): Promise; accountRegistry(overrides?: CallOverrides): Promise; + + c_bf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; }; populateTransaction: { @@ -202,5 +283,20 @@ export interface AccountController extends BaseContract { ): Promise; accountRegistry(overrides?: CallOverrides): Promise; + + c_bf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; }; } diff --git a/typings/AccountControllerMock.ts b/typings/AccountControllerMock.ts index 26af4089..ae12fd81 100644 --- a/typings/AccountControllerMock.ts +++ b/typings/AccountControllerMock.ts @@ -21,6 +21,12 @@ export interface AccountControllerMockInterface extends utils.Interface { functions: { "accountImplementation()": FunctionFragment; "accountRegistry()": FunctionFragment; + "c_8758a88a(bytes8)": FunctionFragment; + "c_bf6efb80(bytes8)": FunctionFragment; + "c_false8758a88a(bytes8)": FunctionFragment; + "c_falsebf6efb80(bytes8)": FunctionFragment; + "c_true8758a88a(bytes8)": FunctionFragment; + "c_truebf6efb80(bytes8)": FunctionFragment; "computeAccountAddress(bytes32)": FunctionFragment; "deployAccount(bytes32)": FunctionFragment; "executeAccountTransaction(address,address,uint256,bytes)": FunctionFragment; @@ -37,6 +43,30 @@ export interface AccountControllerMockInterface extends utils.Interface { functionFragment: "accountRegistry", values?: undefined ): string; + encodeFunctionData( + functionFragment: "c_8758a88a", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_bf6efb80", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false8758a88a", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsebf6efb80", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true8758a88a", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_truebf6efb80", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "computeAccountAddress", values: [BytesLike] @@ -70,6 +100,24 @@ export interface AccountControllerMockInterface extends utils.Interface { functionFragment: "accountRegistry", data: BytesLike ): Result; + decodeFunctionResult(functionFragment: "c_8758a88a", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_bf6efb80", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false8758a88a", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_falsebf6efb80", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true8758a88a", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_truebf6efb80", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "computeAccountAddress", data: BytesLike @@ -187,6 +235,36 @@ export interface AccountControllerMock extends BaseContract { accountRegistry(overrides?: CallOverrides): Promise<[string]>; + c_8758a88a( + c__8758a88a: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_bf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false8758a88a( + c__8758a88a: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_falsebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true8758a88a( + c__8758a88a: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_truebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + computeAccountAddress( salt: BytesLike, overrides?: CallOverrides @@ -225,6 +303,30 @@ export interface AccountControllerMock extends BaseContract { accountRegistry(overrides?: CallOverrides): Promise; + c_8758a88a(c__8758a88a: BytesLike, overrides?: CallOverrides): Promise; + + c_bf6efb80(c__bf6efb80: BytesLike, overrides?: CallOverrides): Promise; + + c_false8758a88a( + c__8758a88a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true8758a88a( + c__8758a88a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + computeAccountAddress( salt: BytesLike, overrides?: CallOverrides @@ -263,6 +365,36 @@ export interface AccountControllerMock extends BaseContract { accountRegistry(overrides?: CallOverrides): Promise; + c_8758a88a( + c__8758a88a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_bf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false8758a88a( + c__8758a88a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true8758a88a( + c__8758a88a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + computeAccountAddress( salt: BytesLike, overrides?: CallOverrides @@ -345,6 +477,36 @@ export interface AccountControllerMock extends BaseContract { accountRegistry(overrides?: CallOverrides): Promise; + c_8758a88a( + c__8758a88a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_bf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false8758a88a( + c__8758a88a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true8758a88a( + c__8758a88a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + computeAccountAddress( salt: BytesLike, overrides?: CallOverrides @@ -386,6 +548,36 @@ export interface AccountControllerMock extends BaseContract { accountRegistry(overrides?: CallOverrides): Promise; + c_8758a88a( + c__8758a88a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_bf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false8758a88a( + c__8758a88a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true8758a88a( + c__8758a88a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + computeAccountAddress( salt: BytesLike, overrides?: CallOverrides diff --git a/typings/AccountImplementationV1.ts b/typings/AccountImplementationV1.ts index 2326a4fb..308c1c53 100644 --- a/typings/AccountImplementationV1.ts +++ b/typings/AccountImplementationV1.ts @@ -19,6 +19,15 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface AccountImplementationV1Interface extends utils.Interface { functions: { + "c_098c0657(bytes8)": FunctionFragment; + "c_28344ffb(bytes8)": FunctionFragment; + "c_2860b96a(bytes8)": FunctionFragment; + "c_false098c0657(bytes8)": FunctionFragment; + "c_false28344ffb(bytes8)": FunctionFragment; + "c_false2860b96a(bytes8)": FunctionFragment; + "c_true098c0657(bytes8)": FunctionFragment; + "c_true28344ffb(bytes8)": FunctionFragment; + "c_true2860b96a(bytes8)": FunctionFragment; "canImplementInterfaceForAddress(bytes32,address)": FunctionFragment; "initialize(address)": FunctionFragment; "isInitialized()": FunctionFragment; @@ -29,6 +38,42 @@ export interface AccountImplementationV1Interface extends utils.Interface { "tokensReceived(address,address,address,uint256,bytes,bytes)": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_28344ffb", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_2860b96a", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false28344ffb", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false2860b96a", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true28344ffb", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true2860b96a", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "canImplementInterfaceForAddress", values: [BytesLike, string] @@ -56,6 +101,33 @@ export interface AccountImplementationV1Interface extends utils.Interface { values: [string, string, string, BigNumberish, BytesLike, BytesLike] ): string; + decodeFunctionResult(functionFragment: "c_098c0657", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_28344ffb", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_2860b96a", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false28344ffb", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false2860b96a", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true28344ffb", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true2860b96a", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "canImplementInterfaceForAddress", data: BytesLike @@ -121,6 +193,51 @@ export interface AccountImplementationV1 extends BaseContract { removeListener: OnEvent; functions: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + canImplementInterfaceForAddress( interfaceHash: BytesLike, addr: string, @@ -176,6 +293,42 @@ export interface AccountImplementationV1 extends BaseContract { ): Promise<[void]>; }; + c_098c0657(c__098c0657: BytesLike, overrides?: CallOverrides): Promise; + + c_28344ffb(c__28344ffb: BytesLike, overrides?: CallOverrides): Promise; + + c_2860b96a(c__2860b96a: BytesLike, overrides?: CallOverrides): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + canImplementInterfaceForAddress( interfaceHash: BytesLike, addr: string, @@ -231,6 +384,51 @@ export interface AccountImplementationV1 extends BaseContract { ): Promise; callStatic: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + canImplementInterfaceForAddress( interfaceHash: BytesLike, addr: string, @@ -289,6 +487,51 @@ export interface AccountImplementationV1 extends BaseContract { }; estimateGas: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + canImplementInterfaceForAddress( interfaceHash: BytesLike, addr: string, @@ -345,6 +588,51 @@ export interface AccountImplementationV1 extends BaseContract { }; populateTransaction: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + canImplementInterfaceForAddress( interfaceHash: BytesLike, addr: string, diff --git a/typings/AccountImplementationV1Mock.ts b/typings/AccountImplementationV1Mock.ts index fbc72491..f7be11f8 100644 --- a/typings/AccountImplementationV1Mock.ts +++ b/typings/AccountImplementationV1Mock.ts @@ -19,6 +19,18 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface AccountImplementationV1MockInterface extends utils.Interface { functions: { + "c_098c0657(bytes8)": FunctionFragment; + "c_28344ffb(bytes8)": FunctionFragment; + "c_2860b96a(bytes8)": FunctionFragment; + "c_3fd0a446(bytes8)": FunctionFragment; + "c_false098c0657(bytes8)": FunctionFragment; + "c_false28344ffb(bytes8)": FunctionFragment; + "c_false2860b96a(bytes8)": FunctionFragment; + "c_false3fd0a446(bytes8)": FunctionFragment; + "c_true098c0657(bytes8)": FunctionFragment; + "c_true28344ffb(bytes8)": FunctionFragment; + "c_true2860b96a(bytes8)": FunctionFragment; + "c_true3fd0a446(bytes8)": FunctionFragment; "canImplementInterfaceForAddress(bytes32,address)": FunctionFragment; "initialize(address)": FunctionFragment; "isInitialized()": FunctionFragment; @@ -29,6 +41,54 @@ export interface AccountImplementationV1MockInterface extends utils.Interface { "tokensReceived(address,address,address,uint256,bytes,bytes)": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_28344ffb", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_2860b96a", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_3fd0a446", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false28344ffb", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false2860b96a", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false3fd0a446", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true28344ffb", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true2860b96a", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true3fd0a446", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "canImplementInterfaceForAddress", values: [BytesLike, string] @@ -56,6 +116,42 @@ export interface AccountImplementationV1MockInterface extends utils.Interface { values: [string, string, string, BigNumberish, BytesLike, BytesLike] ): string; + decodeFunctionResult(functionFragment: "c_098c0657", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_28344ffb", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_2860b96a", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_3fd0a446", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false28344ffb", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false2860b96a", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false3fd0a446", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true28344ffb", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true2860b96a", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true3fd0a446", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "canImplementInterfaceForAddress", data: BytesLike @@ -121,6 +217,66 @@ export interface AccountImplementationV1Mock extends BaseContract { removeListener: OnEvent; functions: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_3fd0a446( + c__3fd0a446: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false3fd0a446( + c__3fd0a446: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true3fd0a446( + c__3fd0a446: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + canImplementInterfaceForAddress( interfaceHash: BytesLike, addr: string, @@ -176,6 +332,54 @@ export interface AccountImplementationV1Mock extends BaseContract { ): Promise<[void]>; }; + c_098c0657(c__098c0657: BytesLike, overrides?: CallOverrides): Promise; + + c_28344ffb(c__28344ffb: BytesLike, overrides?: CallOverrides): Promise; + + c_2860b96a(c__2860b96a: BytesLike, overrides?: CallOverrides): Promise; + + c_3fd0a446(c__3fd0a446: BytesLike, overrides?: CallOverrides): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false3fd0a446( + c__3fd0a446: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true3fd0a446( + c__3fd0a446: BytesLike, + overrides?: CallOverrides + ): Promise; + canImplementInterfaceForAddress( interfaceHash: BytesLike, addr: string, @@ -231,6 +435,66 @@ export interface AccountImplementationV1Mock extends BaseContract { ): Promise; callStatic: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_3fd0a446( + c__3fd0a446: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false3fd0a446( + c__3fd0a446: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true3fd0a446( + c__3fd0a446: BytesLike, + overrides?: CallOverrides + ): Promise; + canImplementInterfaceForAddress( interfaceHash: BytesLike, addr: string, @@ -289,6 +553,66 @@ export interface AccountImplementationV1Mock extends BaseContract { }; estimateGas: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_3fd0a446( + c__3fd0a446: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false3fd0a446( + c__3fd0a446: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true3fd0a446( + c__3fd0a446: BytesLike, + overrides?: CallOverrides + ): Promise; + canImplementInterfaceForAddress( interfaceHash: BytesLike, addr: string, @@ -345,6 +669,66 @@ export interface AccountImplementationV1Mock extends BaseContract { }; populateTransaction: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_3fd0a446( + c__3fd0a446: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false3fd0a446( + c__3fd0a446: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true3fd0a446( + c__3fd0a446: BytesLike, + overrides?: CallOverrides + ): Promise; + canImplementInterfaceForAddress( interfaceHash: BytesLike, addr: string, diff --git a/typings/AccountRegistry.ts b/typings/AccountRegistry.ts index 1159df76..94e80b99 100644 --- a/typings/AccountRegistry.ts +++ b/typings/AccountRegistry.ts @@ -16,14 +16,38 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface AccountRegistryInterface extends utils.Interface { functions: { + "c_9649d652(bytes8)": FunctionFragment; + "c_false9649d652(bytes8)": FunctionFragment; + "c_true9649d652(bytes8)": FunctionFragment; "isValidAccountSignature(address,bytes,bytes)": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_9649d652", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false9649d652", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true9649d652", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "isValidAccountSignature", values: [string, BytesLike, BytesLike] ): string; + decodeFunctionResult(functionFragment: "c_9649d652", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false9649d652", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true9649d652", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "isValidAccountSignature", data: BytesLike @@ -59,6 +83,21 @@ export interface AccountRegistry extends BaseContract { removeListener: OnEvent; functions: { + c_9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + "isValidAccountSignature(address,bytes,bytes)"( account: string, message: BytesLike, @@ -74,6 +113,18 @@ export interface AccountRegistry extends BaseContract { ): Promise<[boolean]>; }; + c_9649d652(c__9649d652: BytesLike, overrides?: CallOverrides): Promise; + + c_false9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + "isValidAccountSignature(address,bytes,bytes)"( account: string, message: BytesLike, @@ -89,6 +140,21 @@ export interface AccountRegistry extends BaseContract { ): Promise; callStatic: { + c_9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + "isValidAccountSignature(address,bytes,bytes)"( account: string, message: BytesLike, @@ -107,6 +173,21 @@ export interface AccountRegistry extends BaseContract { filters: {}; estimateGas: { + c_9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + "isValidAccountSignature(address,bytes,bytes)"( account: string, message: BytesLike, @@ -123,6 +204,21 @@ export interface AccountRegistry extends BaseContract { }; populateTransaction: { + c_9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + "isValidAccountSignature(address,bytes,bytes)"( account: string, message: BytesLike, diff --git a/typings/AccountRegistryMock.ts b/typings/AccountRegistryMock.ts index fddb5aaa..ee152850 100644 --- a/typings/AccountRegistryMock.ts +++ b/typings/AccountRegistryMock.ts @@ -18,10 +18,40 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface AccountRegistryMockInterface extends utils.Interface { functions: { + "c_9649d652(bytes8)": FunctionFragment; + "c_false9649d652(bytes8)": FunctionFragment; + "c_falsefbab7e5c(bytes8)": FunctionFragment; + "c_fbab7e5c(bytes8)": FunctionFragment; + "c_true9649d652(bytes8)": FunctionFragment; + "c_truefbab7e5c(bytes8)": FunctionFragment; "isValidAccountSignature(address,bytes,bytes)": FunctionFragment; "mockAccountOwners(address,address[])": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_9649d652", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false9649d652", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsefbab7e5c", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_fbab7e5c", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true9649d652", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_truefbab7e5c", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "isValidAccountSignature", values: [string, BytesLike, BytesLike] @@ -31,6 +61,24 @@ export interface AccountRegistryMockInterface extends utils.Interface { values: [string, string[]] ): string; + decodeFunctionResult(functionFragment: "c_9649d652", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false9649d652", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_falsefbab7e5c", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "c_fbab7e5c", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_true9649d652", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_truefbab7e5c", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "isValidAccountSignature", data: BytesLike @@ -70,6 +118,36 @@ export interface AccountRegistryMock extends BaseContract { removeListener: OnEvent; functions: { + c_9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_falsefbab7e5c( + c__fbab7e5c: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_fbab7e5c( + c__fbab7e5c: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_true9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_truefbab7e5c( + c__fbab7e5c: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + "isValidAccountSignature(address,bytes,bytes)"( account: string, message: BytesLike, @@ -91,6 +169,30 @@ export interface AccountRegistryMock extends BaseContract { ): Promise; }; + c_9649d652(c__9649d652: BytesLike, overrides?: CallOverrides): Promise; + + c_false9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsefbab7e5c( + c__fbab7e5c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_fbab7e5c(c__fbab7e5c: BytesLike, overrides?: CallOverrides): Promise; + + c_true9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truefbab7e5c( + c__fbab7e5c: BytesLike, + overrides?: CallOverrides + ): Promise; + "isValidAccountSignature(address,bytes,bytes)"( account: string, message: BytesLike, @@ -112,6 +214,36 @@ export interface AccountRegistryMock extends BaseContract { ): Promise; callStatic: { + c_9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsefbab7e5c( + c__fbab7e5c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_fbab7e5c( + c__fbab7e5c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truefbab7e5c( + c__fbab7e5c: BytesLike, + overrides?: CallOverrides + ): Promise; + "isValidAccountSignature(address,bytes,bytes)"( account: string, message: BytesLike, @@ -136,6 +268,36 @@ export interface AccountRegistryMock extends BaseContract { filters: {}; estimateGas: { + c_9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsefbab7e5c( + c__fbab7e5c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_fbab7e5c( + c__fbab7e5c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truefbab7e5c( + c__fbab7e5c: BytesLike, + overrides?: CallOverrides + ): Promise; + "isValidAccountSignature(address,bytes,bytes)"( account: string, message: BytesLike, @@ -158,6 +320,36 @@ export interface AccountRegistryMock extends BaseContract { }; populateTransaction: { + c_9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsefbab7e5c( + c__fbab7e5c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_fbab7e5c( + c__fbab7e5c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truefbab7e5c( + c__fbab7e5c: BytesLike, + overrides?: CallOverrides + ): Promise; + "isValidAccountSignature(address,bytes,bytes)"( account: string, message: BytesLike, diff --git a/typings/AddressLib.ts b/typings/AddressLib.ts index 1d4c91b4..4f0a57df 100644 --- a/typings/AddressLib.ts +++ b/typings/AddressLib.ts @@ -16,31 +16,31 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface AddressLibInterface extends utils.Interface { functions: { - "c_6866fc56(bytes8)": FunctionFragment; - "c_false6866fc56(bytes8)": FunctionFragment; - "c_true6866fc56(bytes8)": FunctionFragment; + "c_c8dd6f34(bytes8)": FunctionFragment; + "c_falsec8dd6f34(bytes8)": FunctionFragment; + "c_truec8dd6f34(bytes8)": FunctionFragment; }; encodeFunctionData( - functionFragment: "c_6866fc56", + functionFragment: "c_c8dd6f34", values: [BytesLike] ): string; encodeFunctionData( - functionFragment: "c_false6866fc56", + functionFragment: "c_falsec8dd6f34", values: [BytesLike] ): string; encodeFunctionData( - functionFragment: "c_true6866fc56", + functionFragment: "c_truec8dd6f34", values: [BytesLike] ): string; - decodeFunctionResult(functionFragment: "c_6866fc56", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_c8dd6f34", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "c_false6866fc56", + functionFragment: "c_falsec8dd6f34", data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "c_true6866fc56", + functionFragment: "c_truec8dd6f34", data: BytesLike ): Result; @@ -74,47 +74,47 @@ export interface AddressLib extends BaseContract { removeListener: OnEvent; functions: { - c_6866fc56( - c__6866fc56: BytesLike, + c_c8dd6f34( + c__c8dd6f34: BytesLike, overrides?: CallOverrides ): Promise<[void]>; - c_false6866fc56( - c__6866fc56: BytesLike, + c_falsec8dd6f34( + c__c8dd6f34: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; - c_true6866fc56( - c__6866fc56: BytesLike, + c_truec8dd6f34( + c__c8dd6f34: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; }; - c_6866fc56(c__6866fc56: BytesLike, overrides?: CallOverrides): Promise; + c_c8dd6f34(c__c8dd6f34: BytesLike, overrides?: CallOverrides): Promise; - c_false6866fc56( - c__6866fc56: BytesLike, + c_falsec8dd6f34( + c__c8dd6f34: BytesLike, overrides?: CallOverrides ): Promise; - c_true6866fc56( - c__6866fc56: BytesLike, + c_truec8dd6f34( + c__c8dd6f34: BytesLike, overrides?: CallOverrides ): Promise; callStatic: { - c_6866fc56( - c__6866fc56: BytesLike, + c_c8dd6f34( + c__c8dd6f34: BytesLike, overrides?: CallOverrides ): Promise; - c_false6866fc56( - c__6866fc56: BytesLike, + c_falsec8dd6f34( + c__c8dd6f34: BytesLike, overrides?: CallOverrides ): Promise; - c_true6866fc56( - c__6866fc56: BytesLike, + c_truec8dd6f34( + c__c8dd6f34: BytesLike, overrides?: CallOverrides ): Promise; }; @@ -122,35 +122,35 @@ export interface AddressLib extends BaseContract { filters: {}; estimateGas: { - c_6866fc56( - c__6866fc56: BytesLike, + c_c8dd6f34( + c__c8dd6f34: BytesLike, overrides?: CallOverrides ): Promise; - c_false6866fc56( - c__6866fc56: BytesLike, + c_falsec8dd6f34( + c__c8dd6f34: BytesLike, overrides?: CallOverrides ): Promise; - c_true6866fc56( - c__6866fc56: BytesLike, + c_truec8dd6f34( + c__c8dd6f34: BytesLike, overrides?: CallOverrides ): Promise; }; populateTransaction: { - c_6866fc56( - c__6866fc56: BytesLike, + c_c8dd6f34( + c__c8dd6f34: BytesLike, overrides?: CallOverrides ): Promise; - c_false6866fc56( - c__6866fc56: BytesLike, + c_falsec8dd6f34( + c__c8dd6f34: BytesLike, overrides?: CallOverrides ): Promise; - c_true6866fc56( - c__6866fc56: BytesLike, + c_truec8dd6f34( + c__c8dd6f34: BytesLike, overrides?: CallOverrides ): Promise; }; diff --git a/typings/BalancesHelper.ts b/typings/BalancesHelper.ts index 61a5b131..2e2940c1 100644 --- a/typings/BalancesHelper.ts +++ b/typings/BalancesHelper.ts @@ -16,14 +16,38 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface BalancesHelperInterface extends utils.Interface { functions: { + "c_7989c7ce(bytes8)": FunctionFragment; + "c_false7989c7ce(bytes8)": FunctionFragment; + "c_true7989c7ce(bytes8)": FunctionFragment; "getBalances(address[],address[])": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_7989c7ce", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false7989c7ce", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true7989c7ce", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "getBalances", values: [string[], string[]] ): string; + decodeFunctionResult(functionFragment: "c_7989c7ce", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false7989c7ce", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true7989c7ce", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "getBalances", data: BytesLike @@ -59,6 +83,21 @@ export interface BalancesHelper extends BaseContract { removeListener: OnEvent; functions: { + c_7989c7ce( + c__7989c7ce: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false7989c7ce( + c__7989c7ce: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true7989c7ce( + c__7989c7ce: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + getBalances( accounts: string[], tokens: string[], @@ -66,6 +105,18 @@ export interface BalancesHelper extends BaseContract { ): Promise<[BigNumber[]]>; }; + c_7989c7ce(c__7989c7ce: BytesLike, overrides?: CallOverrides): Promise; + + c_false7989c7ce( + c__7989c7ce: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true7989c7ce( + c__7989c7ce: BytesLike, + overrides?: CallOverrides + ): Promise; + getBalances( accounts: string[], tokens: string[], @@ -73,6 +124,21 @@ export interface BalancesHelper extends BaseContract { ): Promise; callStatic: { + c_7989c7ce( + c__7989c7ce: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false7989c7ce( + c__7989c7ce: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true7989c7ce( + c__7989c7ce: BytesLike, + overrides?: CallOverrides + ): Promise; + getBalances( accounts: string[], tokens: string[], @@ -83,6 +149,21 @@ export interface BalancesHelper extends BaseContract { filters: {}; estimateGas: { + c_7989c7ce( + c__7989c7ce: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false7989c7ce( + c__7989c7ce: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true7989c7ce( + c__7989c7ce: BytesLike, + overrides?: CallOverrides + ): Promise; + getBalances( accounts: string[], tokens: string[], @@ -91,6 +172,21 @@ export interface BalancesHelper extends BaseContract { }; populateTransaction: { + c_7989c7ce( + c__7989c7ce: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false7989c7ce( + c__7989c7ce: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true7989c7ce( + c__7989c7ce: BytesLike, + overrides?: CallOverrides + ): Promise; + getBalances( accounts: string[], tokens: string[], diff --git a/typings/BalancesHelperV2.ts b/typings/BalancesHelperV2.ts index f0d8a2d4..6348a19f 100644 --- a/typings/BalancesHelperV2.ts +++ b/typings/BalancesHelperV2.ts @@ -16,10 +16,25 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface BalancesHelperV2Interface extends utils.Interface { functions: { + "c_158c7976(bytes8)": FunctionFragment; + "c_false158c7976(bytes8)": FunctionFragment; + "c_true158c7976(bytes8)": FunctionFragment; "getBalances(address[],address[])": FunctionFragment; "getSuperfluidWrappedTokenBalances(address[],address[])": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_158c7976", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false158c7976", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true158c7976", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "getBalances", values: [string[], string[]] @@ -29,6 +44,15 @@ export interface BalancesHelperV2Interface extends utils.Interface { values: [string[], string[]] ): string; + decodeFunctionResult(functionFragment: "c_158c7976", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false158c7976", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true158c7976", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "getBalances", data: BytesLike @@ -68,6 +92,21 @@ export interface BalancesHelperV2 extends BaseContract { removeListener: OnEvent; functions: { + c_158c7976( + c__158c7976: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false158c7976( + c__158c7976: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true158c7976( + c__158c7976: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + getBalances( accounts: string[], tokens: string[], @@ -81,6 +120,18 @@ export interface BalancesHelperV2 extends BaseContract { ): Promise<[BigNumber[]]>; }; + c_158c7976(c__158c7976: BytesLike, overrides?: CallOverrides): Promise; + + c_false158c7976( + c__158c7976: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true158c7976( + c__158c7976: BytesLike, + overrides?: CallOverrides + ): Promise; + getBalances( accounts: string[], tokens: string[], @@ -94,6 +145,21 @@ export interface BalancesHelperV2 extends BaseContract { ): Promise; callStatic: { + c_158c7976( + c__158c7976: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false158c7976( + c__158c7976: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true158c7976( + c__158c7976: BytesLike, + overrides?: CallOverrides + ): Promise; + getBalances( accounts: string[], tokens: string[], @@ -110,6 +176,21 @@ export interface BalancesHelperV2 extends BaseContract { filters: {}; estimateGas: { + c_158c7976( + c__158c7976: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false158c7976( + c__158c7976: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true158c7976( + c__158c7976: BytesLike, + overrides?: CallOverrides + ): Promise; + getBalances( accounts: string[], tokens: string[], @@ -124,6 +205,21 @@ export interface BalancesHelperV2 extends BaseContract { }; populateTransaction: { + c_158c7976( + c__158c7976: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false158c7976( + c__158c7976: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true158c7976( + c__158c7976: BytesLike, + overrides?: CallOverrides + ): Promise; + getBalances( accounts: string[], tokens: string[], diff --git a/typings/BlockLib.ts b/typings/BlockLib.ts index 88d44417..1ec58335 100644 --- a/typings/BlockLib.ts +++ b/typings/BlockLib.ts @@ -16,31 +16,31 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface BlockLibInterface extends utils.Interface { functions: { - "c_f0eb5f6b(bytes8)": FunctionFragment; - "c_falsef0eb5f6b(bytes8)": FunctionFragment; - "c_truef0eb5f6b(bytes8)": FunctionFragment; + "c_078794b3(bytes8)": FunctionFragment; + "c_false078794b3(bytes8)": FunctionFragment; + "c_true078794b3(bytes8)": FunctionFragment; }; encodeFunctionData( - functionFragment: "c_f0eb5f6b", + functionFragment: "c_078794b3", values: [BytesLike] ): string; encodeFunctionData( - functionFragment: "c_falsef0eb5f6b", + functionFragment: "c_false078794b3", values: [BytesLike] ): string; encodeFunctionData( - functionFragment: "c_truef0eb5f6b", + functionFragment: "c_true078794b3", values: [BytesLike] ): string; - decodeFunctionResult(functionFragment: "c_f0eb5f6b", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_078794b3", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "c_falsef0eb5f6b", + functionFragment: "c_false078794b3", data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "c_truef0eb5f6b", + functionFragment: "c_true078794b3", data: BytesLike ): Result; @@ -74,47 +74,47 @@ export interface BlockLib extends BaseContract { removeListener: OnEvent; functions: { - c_f0eb5f6b( - c__f0eb5f6b: BytesLike, + c_078794b3( + c__078794b3: BytesLike, overrides?: CallOverrides ): Promise<[void]>; - c_falsef0eb5f6b( - c__f0eb5f6b: BytesLike, + c_false078794b3( + c__078794b3: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; - c_truef0eb5f6b( - c__f0eb5f6b: BytesLike, + c_true078794b3( + c__078794b3: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; }; - c_f0eb5f6b(c__f0eb5f6b: BytesLike, overrides?: CallOverrides): Promise; + c_078794b3(c__078794b3: BytesLike, overrides?: CallOverrides): Promise; - c_falsef0eb5f6b( - c__f0eb5f6b: BytesLike, + c_false078794b3( + c__078794b3: BytesLike, overrides?: CallOverrides ): Promise; - c_truef0eb5f6b( - c__f0eb5f6b: BytesLike, + c_true078794b3( + c__078794b3: BytesLike, overrides?: CallOverrides ): Promise; callStatic: { - c_f0eb5f6b( - c__f0eb5f6b: BytesLike, + c_078794b3( + c__078794b3: BytesLike, overrides?: CallOverrides ): Promise; - c_falsef0eb5f6b( - c__f0eb5f6b: BytesLike, + c_false078794b3( + c__078794b3: BytesLike, overrides?: CallOverrides ): Promise; - c_truef0eb5f6b( - c__f0eb5f6b: BytesLike, + c_true078794b3( + c__078794b3: BytesLike, overrides?: CallOverrides ): Promise; }; @@ -122,35 +122,35 @@ export interface BlockLib extends BaseContract { filters: {}; estimateGas: { - c_f0eb5f6b( - c__f0eb5f6b: BytesLike, + c_078794b3( + c__078794b3: BytesLike, overrides?: CallOverrides ): Promise; - c_falsef0eb5f6b( - c__f0eb5f6b: BytesLike, + c_false078794b3( + c__078794b3: BytesLike, overrides?: CallOverrides ): Promise; - c_truef0eb5f6b( - c__f0eb5f6b: BytesLike, + c_true078794b3( + c__078794b3: BytesLike, overrides?: CallOverrides ): Promise; }; populateTransaction: { - c_f0eb5f6b( - c__f0eb5f6b: BytesLike, + c_078794b3( + c__078794b3: BytesLike, overrides?: CallOverrides ): Promise; - c_falsef0eb5f6b( - c__f0eb5f6b: BytesLike, + c_false078794b3( + c__078794b3: BytesLike, overrides?: CallOverrides ): Promise; - c_truef0eb5f6b( - c__f0eb5f6b: BytesLike, + c_true078794b3( + c__078794b3: BytesLike, overrides?: CallOverrides ): Promise; }; diff --git a/typings/BytesLib.ts b/typings/BytesLib.ts index 5a16fe39..0b0a7304 100644 --- a/typings/BytesLib.ts +++ b/typings/BytesLib.ts @@ -16,31 +16,31 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface BytesLibInterface extends utils.Interface { functions: { - "c_cf01c64c(bytes8)": FunctionFragment; - "c_falsecf01c64c(bytes8)": FunctionFragment; - "c_truecf01c64c(bytes8)": FunctionFragment; + "c_2ad25a5a(bytes8)": FunctionFragment; + "c_false2ad25a5a(bytes8)": FunctionFragment; + "c_true2ad25a5a(bytes8)": FunctionFragment; }; encodeFunctionData( - functionFragment: "c_cf01c64c", + functionFragment: "c_2ad25a5a", values: [BytesLike] ): string; encodeFunctionData( - functionFragment: "c_falsecf01c64c", + functionFragment: "c_false2ad25a5a", values: [BytesLike] ): string; encodeFunctionData( - functionFragment: "c_truecf01c64c", + functionFragment: "c_true2ad25a5a", values: [BytesLike] ): string; - decodeFunctionResult(functionFragment: "c_cf01c64c", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_2ad25a5a", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "c_falsecf01c64c", + functionFragment: "c_false2ad25a5a", data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "c_truecf01c64c", + functionFragment: "c_true2ad25a5a", data: BytesLike ): Result; @@ -74,47 +74,47 @@ export interface BytesLib extends BaseContract { removeListener: OnEvent; functions: { - c_cf01c64c( - c__cf01c64c: BytesLike, + c_2ad25a5a( + c__2ad25a5a: BytesLike, overrides?: CallOverrides ): Promise<[void]>; - c_falsecf01c64c( - c__cf01c64c: BytesLike, + c_false2ad25a5a( + c__2ad25a5a: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; - c_truecf01c64c( - c__cf01c64c: BytesLike, + c_true2ad25a5a( + c__2ad25a5a: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; }; - c_cf01c64c(c__cf01c64c: BytesLike, overrides?: CallOverrides): Promise; + c_2ad25a5a(c__2ad25a5a: BytesLike, overrides?: CallOverrides): Promise; - c_falsecf01c64c( - c__cf01c64c: BytesLike, + c_false2ad25a5a( + c__2ad25a5a: BytesLike, overrides?: CallOverrides ): Promise; - c_truecf01c64c( - c__cf01c64c: BytesLike, + c_true2ad25a5a( + c__2ad25a5a: BytesLike, overrides?: CallOverrides ): Promise; callStatic: { - c_cf01c64c( - c__cf01c64c: BytesLike, + c_2ad25a5a( + c__2ad25a5a: BytesLike, overrides?: CallOverrides ): Promise; - c_falsecf01c64c( - c__cf01c64c: BytesLike, + c_false2ad25a5a( + c__2ad25a5a: BytesLike, overrides?: CallOverrides ): Promise; - c_truecf01c64c( - c__cf01c64c: BytesLike, + c_true2ad25a5a( + c__2ad25a5a: BytesLike, overrides?: CallOverrides ): Promise; }; @@ -122,35 +122,35 @@ export interface BytesLib extends BaseContract { filters: {}; estimateGas: { - c_cf01c64c( - c__cf01c64c: BytesLike, + c_2ad25a5a( + c__2ad25a5a: BytesLike, overrides?: CallOverrides ): Promise; - c_falsecf01c64c( - c__cf01c64c: BytesLike, + c_false2ad25a5a( + c__2ad25a5a: BytesLike, overrides?: CallOverrides ): Promise; - c_truecf01c64c( - c__cf01c64c: BytesLike, + c_true2ad25a5a( + c__2ad25a5a: BytesLike, overrides?: CallOverrides ): Promise; }; populateTransaction: { - c_cf01c64c( - c__cf01c64c: BytesLike, + c_2ad25a5a( + c__2ad25a5a: BytesLike, overrides?: CallOverrides ): Promise; - c_falsecf01c64c( - c__cf01c64c: BytesLike, + c_false2ad25a5a( + c__2ad25a5a: BytesLike, overrides?: CallOverrides ): Promise; - c_truecf01c64c( - c__cf01c64c: BytesLike, + c_true2ad25a5a( + c__2ad25a5a: BytesLike, overrides?: CallOverrides ): Promise; }; diff --git a/typings/CBridgeFacet.ts b/typings/CBridgeFacet.ts index d32b17ca..0d72c586 100644 --- a/typings/CBridgeFacet.ts +++ b/typings/CBridgeFacet.ts @@ -42,12 +42,42 @@ export type CBridgeDataStructOutput = [ export interface CBridgeFacetInterface extends utils.Interface { functions: { + "c_82a0834b(bytes8)": FunctionFragment; + "c_9296fc39(bytes8)": FunctionFragment; + "c_false82a0834b(bytes8)": FunctionFragment; + "c_false9296fc39(bytes8)": FunctionFragment; + "c_true82a0834b(bytes8)": FunctionFragment; + "c_true9296fc39(bytes8)": FunctionFragment; "cbBridgeTokens((uint64,uint64,uint256,address,address))": FunctionFragment; "cbInitialize(address)": FunctionFragment; "cbUpdateBridge(address)": FunctionFragment; "cbUpdateSlippageTolerance(uint32)": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_82a0834b", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_9296fc39", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false82a0834b", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false9296fc39", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true82a0834b", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true9296fc39", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "cbBridgeTokens", values: [CBridgeDataStruct] @@ -65,6 +95,24 @@ export interface CBridgeFacetInterface extends utils.Interface { values: [BigNumberish] ): string; + decodeFunctionResult(functionFragment: "c_82a0834b", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_9296fc39", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false82a0834b", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false9296fc39", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true82a0834b", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true9296fc39", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "cbBridgeTokens", data: BytesLike @@ -156,6 +204,36 @@ export interface CBridgeFacet extends BaseContract { removeListener: OnEvent; functions: { + c_82a0834b( + c__82a0834b: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false82a0834b( + c__82a0834b: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true82a0834b( + c__82a0834b: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + cbBridgeTokens( _cbData: CBridgeDataStruct, overrides?: PayableOverrides & { from?: string | Promise } @@ -177,6 +255,30 @@ export interface CBridgeFacet extends BaseContract { ): Promise; }; + c_82a0834b(c__82a0834b: BytesLike, overrides?: CallOverrides): Promise; + + c_9296fc39(c__9296fc39: BytesLike, overrides?: CallOverrides): Promise; + + c_false82a0834b( + c__82a0834b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true82a0834b( + c__82a0834b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + cbBridgeTokens( _cbData: CBridgeDataStruct, overrides?: PayableOverrides & { from?: string | Promise } @@ -198,6 +300,36 @@ export interface CBridgeFacet extends BaseContract { ): Promise; callStatic: { + c_82a0834b( + c__82a0834b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false82a0834b( + c__82a0834b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true82a0834b( + c__82a0834b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + cbBridgeTokens( _cbData: CBridgeDataStruct, overrides?: CallOverrides @@ -252,6 +384,36 @@ export interface CBridgeFacet extends BaseContract { }; estimateGas: { + c_82a0834b( + c__82a0834b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false82a0834b( + c__82a0834b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true82a0834b( + c__82a0834b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + cbBridgeTokens( _cbData: CBridgeDataStruct, overrides?: PayableOverrides & { from?: string | Promise } @@ -274,6 +436,36 @@ export interface CBridgeFacet extends BaseContract { }; populateTransaction: { + c_82a0834b( + c__82a0834b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false82a0834b( + c__82a0834b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true82a0834b( + c__82a0834b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + cbBridgeTokens( _cbData: CBridgeDataStruct, overrides?: PayableOverrides & { from?: string | Promise } diff --git a/typings/ConnextFacet.ts b/typings/ConnextFacet.ts index a98dc022..32604b8e 100644 --- a/typings/ConnextFacet.ts +++ b/typings/ConnextFacet.ts @@ -20,11 +20,26 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface ConnextFacetInterface extends utils.Interface { functions: { + "c_4f0a9270(bytes8)": FunctionFragment; + "c_false4f0a9270(bytes8)": FunctionFragment; + "c_true4f0a9270(bytes8)": FunctionFragment; "connextEthTransfer(address,uint256,address,uint32,uint256,uint256)": FunctionFragment; "connextTokenTransfer(address,uint256,address,uint32,uint256,uint256)": FunctionFragment; "initConnext(address,uint32,address)": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_4f0a9270", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false4f0a9270", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true4f0a9270", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "connextEthTransfer", values: [ @@ -52,6 +67,15 @@ export interface ConnextFacetInterface extends utils.Interface { values: [string, BigNumberish, string] ): string; + decodeFunctionResult(functionFragment: "c_4f0a9270", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false4f0a9270", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true4f0a9270", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "connextEthTransfer", data: BytesLike @@ -139,6 +163,21 @@ export interface ConnextFacet extends BaseContract { removeListener: OnEvent; functions: { + c_4f0a9270( + c__4f0a9270: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false4f0a9270( + c__4f0a9270: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true4f0a9270( + c__4f0a9270: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + connextEthTransfer( _destinationUnwrapper: string, _amount: BigNumberish, @@ -167,6 +206,18 @@ export interface ConnextFacet extends BaseContract { ): Promise; }; + c_4f0a9270(c__4f0a9270: BytesLike, overrides?: CallOverrides): Promise; + + c_false4f0a9270( + c__4f0a9270: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true4f0a9270( + c__4f0a9270: BytesLike, + overrides?: CallOverrides + ): Promise; + connextEthTransfer( _destinationUnwrapper: string, _amount: BigNumberish, @@ -195,6 +246,21 @@ export interface ConnextFacet extends BaseContract { ): Promise; callStatic: { + c_4f0a9270( + c__4f0a9270: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false4f0a9270( + c__4f0a9270: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true4f0a9270( + c__4f0a9270: BytesLike, + overrides?: CallOverrides + ): Promise; + connextEthTransfer( _destinationUnwrapper: string, _amount: BigNumberish, @@ -269,6 +335,21 @@ export interface ConnextFacet extends BaseContract { }; estimateGas: { + c_4f0a9270( + c__4f0a9270: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false4f0a9270( + c__4f0a9270: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true4f0a9270( + c__4f0a9270: BytesLike, + overrides?: CallOverrides + ): Promise; + connextEthTransfer( _destinationUnwrapper: string, _amount: BigNumberish, @@ -298,6 +379,21 @@ export interface ConnextFacet extends BaseContract { }; populateTransaction: { + c_4f0a9270( + c__4f0a9270: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false4f0a9270( + c__4f0a9270: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true4f0a9270( + c__4f0a9270: BytesLike, + overrides?: CallOverrides + ): Promise; + connextEthTransfer( _destinationUnwrapper: string, _amount: BigNumberish, diff --git a/typings/Controlled.ts b/typings/Controlled.ts index 5b53b60e..308a837d 100644 --- a/typings/Controlled.ts +++ b/typings/Controlled.ts @@ -16,14 +16,38 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface ControlledInterface extends utils.Interface { functions: { + "c_495bfa8b(bytes8)": FunctionFragment; + "c_false495bfa8b(bytes8)": FunctionFragment; + "c_true495bfa8b(bytes8)": FunctionFragment; "controller()": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_495bfa8b", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false495bfa8b", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true495bfa8b", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "controller", values?: undefined ): string; + decodeFunctionResult(functionFragment: "c_495bfa8b", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false495bfa8b", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true495bfa8b", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "controller", data: BytesLike): Result; events: {}; @@ -56,22 +80,94 @@ export interface Controlled extends BaseContract { removeListener: OnEvent; functions: { + c_495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + controller(overrides?: CallOverrides): Promise<[string]>; }; + c_495bfa8b(c__495bfa8b: BytesLike, overrides?: CallOverrides): Promise; + + c_false495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + controller(overrides?: CallOverrides): Promise; callStatic: { + c_495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + controller(overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { + c_495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + controller(overrides?: CallOverrides): Promise; }; populateTransaction: { + c_495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + controller(overrides?: CallOverrides): Promise; }; } diff --git a/typings/Diamond.ts b/typings/Diamond.ts index cf73be69..6ac949ad 100644 --- a/typings/Diamond.ts +++ b/typings/Diamond.ts @@ -1,13 +1,48 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import { BaseContract, Signer, utils } from "ethers"; - +import { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import { FunctionFragment, Result } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface DiamondInterface extends utils.Interface { - functions: {}; + functions: { + "c_e3a4c27e(bytes8)": FunctionFragment; + "c_falsee3a4c27e(bytes8)": FunctionFragment; + "c_truee3a4c27e(bytes8)": FunctionFragment; + }; + + encodeFunctionData( + functionFragment: "c_e3a4c27e", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsee3a4c27e", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_truee3a4c27e", + values: [BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "c_e3a4c27e", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_falsee3a4c27e", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_truee3a4c27e", + data: BytesLike + ): Result; events: {}; } @@ -38,13 +73,85 @@ export interface Diamond extends BaseContract { once: OnEvent; removeListener: OnEvent; - functions: {}; + functions: { + c_e3a4c27e( + c__e3a4c27e: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_falsee3a4c27e( + c__e3a4c27e: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_truee3a4c27e( + c__e3a4c27e: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + c_e3a4c27e(c__e3a4c27e: BytesLike, overrides?: CallOverrides): Promise; + + c_falsee3a4c27e( + c__e3a4c27e: BytesLike, + overrides?: CallOverrides + ): Promise; - callStatic: {}; + c_truee3a4c27e( + c__e3a4c27e: BytesLike, + overrides?: CallOverrides + ): Promise; + + callStatic: { + c_e3a4c27e( + c__e3a4c27e: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsee3a4c27e( + c__e3a4c27e: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truee3a4c27e( + c__e3a4c27e: BytesLike, + overrides?: CallOverrides + ): Promise; + }; filters: {}; - estimateGas: {}; + estimateGas: { + c_e3a4c27e( + c__e3a4c27e: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsee3a4c27e( + c__e3a4c27e: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truee3a4c27e( + c__e3a4c27e: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + c_e3a4c27e( + c__e3a4c27e: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsee3a4c27e( + c__e3a4c27e: BytesLike, + overrides?: CallOverrides + ): Promise; - populateTransaction: {}; + c_truee3a4c27e( + c__e3a4c27e: BytesLike, + overrides?: CallOverrides + ): Promise; + }; } diff --git a/typings/DiamondCutFacet.ts b/typings/DiamondCutFacet.ts index 4535a609..9021e960 100644 --- a/typings/DiamondCutFacet.ts +++ b/typings/DiamondCutFacet.ts @@ -31,14 +31,38 @@ export type FacetCutStructOutput = [string, number, string[]] & { export interface DiamondCutFacetInterface extends utils.Interface { functions: { + "c_e238b7d9(bytes8)": FunctionFragment; + "c_falsee238b7d9(bytes8)": FunctionFragment; + "c_truee238b7d9(bytes8)": FunctionFragment; "diamondCut((address,uint8,bytes4[])[],address,bytes)": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_e238b7d9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsee238b7d9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_truee238b7d9", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "diamondCut", values: [FacetCutStruct[], string, BytesLike] ): string; + decodeFunctionResult(functionFragment: "c_e238b7d9", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_falsee238b7d9", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_truee238b7d9", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "diamondCut", data: BytesLike): Result; events: { @@ -82,6 +106,21 @@ export interface DiamondCutFacet extends BaseContract { removeListener: OnEvent; functions: { + c_e238b7d9( + c__e238b7d9: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_falsee238b7d9( + c__e238b7d9: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_truee238b7d9( + c__e238b7d9: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + diamondCut( _diamondCut: FacetCutStruct[], _init: string, @@ -90,6 +129,18 @@ export interface DiamondCutFacet extends BaseContract { ): Promise; }; + c_e238b7d9(c__e238b7d9: BytesLike, overrides?: CallOverrides): Promise; + + c_falsee238b7d9( + c__e238b7d9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truee238b7d9( + c__e238b7d9: BytesLike, + overrides?: CallOverrides + ): Promise; + diamondCut( _diamondCut: FacetCutStruct[], _init: string, @@ -98,6 +149,21 @@ export interface DiamondCutFacet extends BaseContract { ): Promise; callStatic: { + c_e238b7d9( + c__e238b7d9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsee238b7d9( + c__e238b7d9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truee238b7d9( + c__e238b7d9: BytesLike, + overrides?: CallOverrides + ): Promise; + diamondCut( _diamondCut: FacetCutStruct[], _init: string, @@ -120,6 +186,21 @@ export interface DiamondCutFacet extends BaseContract { }; estimateGas: { + c_e238b7d9( + c__e238b7d9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsee238b7d9( + c__e238b7d9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truee238b7d9( + c__e238b7d9: BytesLike, + overrides?: CallOverrides + ): Promise; + diamondCut( _diamondCut: FacetCutStruct[], _init: string, @@ -129,6 +210,21 @@ export interface DiamondCutFacet extends BaseContract { }; populateTransaction: { + c_e238b7d9( + c__e238b7d9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsee238b7d9( + c__e238b7d9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truee238b7d9( + c__e238b7d9: BytesLike, + overrides?: CallOverrides + ): Promise; + diamondCut( _diamondCut: FacetCutStruct[], _init: string, diff --git a/typings/DiamondLoupeFacet.ts b/typings/DiamondLoupeFacet.ts index d41fe343..7021c62e 100644 --- a/typings/DiamondLoupeFacet.ts +++ b/typings/DiamondLoupeFacet.ts @@ -26,6 +26,9 @@ export type FacetStructOutput = [string, string[]] & { export interface DiamondLoupeFacetInterface extends utils.Interface { functions: { + "c_cb71d28d(bytes8)": FunctionFragment; + "c_falsecb71d28d(bytes8)": FunctionFragment; + "c_truecb71d28d(bytes8)": FunctionFragment; "facetAddress(bytes4)": FunctionFragment; "facetAddresses()": FunctionFragment; "facetFunctionSelectors(address)": FunctionFragment; @@ -33,6 +36,18 @@ export interface DiamondLoupeFacetInterface extends utils.Interface { "supportsInterface(bytes4)": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_cb71d28d", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsecb71d28d", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_truecb71d28d", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "facetAddress", values: [BytesLike] @@ -51,6 +66,15 @@ export interface DiamondLoupeFacetInterface extends utils.Interface { values: [BytesLike] ): string; + decodeFunctionResult(functionFragment: "c_cb71d28d", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_falsecb71d28d", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_truecb71d28d", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "facetAddress", data: BytesLike @@ -99,6 +123,21 @@ export interface DiamondLoupeFacet extends BaseContract { removeListener: OnEvent; functions: { + c_cb71d28d( + c__cb71d28d: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_falsecb71d28d( + c__cb71d28d: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_truecb71d28d( + c__cb71d28d: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + facetAddress( _functionSelector: BytesLike, overrides?: CallOverrides @@ -123,6 +162,18 @@ export interface DiamondLoupeFacet extends BaseContract { ): Promise<[boolean]>; }; + c_cb71d28d(c__cb71d28d: BytesLike, overrides?: CallOverrides): Promise; + + c_falsecb71d28d( + c__cb71d28d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truecb71d28d( + c__cb71d28d: BytesLike, + overrides?: CallOverrides + ): Promise; + facetAddress( _functionSelector: BytesLike, overrides?: CallOverrides @@ -143,6 +194,21 @@ export interface DiamondLoupeFacet extends BaseContract { ): Promise; callStatic: { + c_cb71d28d( + c__cb71d28d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsecb71d28d( + c__cb71d28d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truecb71d28d( + c__cb71d28d: BytesLike, + overrides?: CallOverrides + ): Promise; + facetAddress( _functionSelector: BytesLike, overrides?: CallOverrides @@ -166,6 +232,21 @@ export interface DiamondLoupeFacet extends BaseContract { filters: {}; estimateGas: { + c_cb71d28d( + c__cb71d28d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsecb71d28d( + c__cb71d28d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truecb71d28d( + c__cb71d28d: BytesLike, + overrides?: CallOverrides + ): Promise; + facetAddress( _functionSelector: BytesLike, overrides?: CallOverrides @@ -187,6 +268,21 @@ export interface DiamondLoupeFacet extends BaseContract { }; populateTransaction: { + c_cb71d28d( + c__cb71d28d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsecb71d28d( + c__cb71d28d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truecb71d28d( + c__cb71d28d: BytesLike, + overrides?: CallOverrides + ): Promise; + facetAddress( _functionSelector: BytesLike, overrides?: CallOverrides diff --git a/typings/ECDSAExtendedLib.ts b/typings/ECDSAExtendedLib.ts index 78628162..633531a3 100644 --- a/typings/ECDSAExtendedLib.ts +++ b/typings/ECDSAExtendedLib.ts @@ -16,31 +16,31 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface ECDSAExtendedLibInterface extends utils.Interface { functions: { - "c_29f5519d(bytes8)": FunctionFragment; - "c_false29f5519d(bytes8)": FunctionFragment; - "c_true29f5519d(bytes8)": FunctionFragment; + "c_edf8bcf6(bytes8)": FunctionFragment; + "c_falseedf8bcf6(bytes8)": FunctionFragment; + "c_trueedf8bcf6(bytes8)": FunctionFragment; }; encodeFunctionData( - functionFragment: "c_29f5519d", + functionFragment: "c_edf8bcf6", values: [BytesLike] ): string; encodeFunctionData( - functionFragment: "c_false29f5519d", + functionFragment: "c_falseedf8bcf6", values: [BytesLike] ): string; encodeFunctionData( - functionFragment: "c_true29f5519d", + functionFragment: "c_trueedf8bcf6", values: [BytesLike] ): string; - decodeFunctionResult(functionFragment: "c_29f5519d", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_edf8bcf6", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "c_false29f5519d", + functionFragment: "c_falseedf8bcf6", data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "c_true29f5519d", + functionFragment: "c_trueedf8bcf6", data: BytesLike ): Result; @@ -74,47 +74,47 @@ export interface ECDSAExtendedLib extends BaseContract { removeListener: OnEvent; functions: { - c_29f5519d( - c__29f5519d: BytesLike, + c_edf8bcf6( + c__edf8bcf6: BytesLike, overrides?: CallOverrides ): Promise<[void]>; - c_false29f5519d( - c__29f5519d: BytesLike, + c_falseedf8bcf6( + c__edf8bcf6: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; - c_true29f5519d( - c__29f5519d: BytesLike, + c_trueedf8bcf6( + c__edf8bcf6: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; }; - c_29f5519d(c__29f5519d: BytesLike, overrides?: CallOverrides): Promise; + c_edf8bcf6(c__edf8bcf6: BytesLike, overrides?: CallOverrides): Promise; - c_false29f5519d( - c__29f5519d: BytesLike, + c_falseedf8bcf6( + c__edf8bcf6: BytesLike, overrides?: CallOverrides ): Promise; - c_true29f5519d( - c__29f5519d: BytesLike, + c_trueedf8bcf6( + c__edf8bcf6: BytesLike, overrides?: CallOverrides ): Promise; callStatic: { - c_29f5519d( - c__29f5519d: BytesLike, + c_edf8bcf6( + c__edf8bcf6: BytesLike, overrides?: CallOverrides ): Promise; - c_false29f5519d( - c__29f5519d: BytesLike, + c_falseedf8bcf6( + c__edf8bcf6: BytesLike, overrides?: CallOverrides ): Promise; - c_true29f5519d( - c__29f5519d: BytesLike, + c_trueedf8bcf6( + c__edf8bcf6: BytesLike, overrides?: CallOverrides ): Promise; }; @@ -122,35 +122,35 @@ export interface ECDSAExtendedLib extends BaseContract { filters: {}; estimateGas: { - c_29f5519d( - c__29f5519d: BytesLike, + c_edf8bcf6( + c__edf8bcf6: BytesLike, overrides?: CallOverrides ): Promise; - c_false29f5519d( - c__29f5519d: BytesLike, + c_falseedf8bcf6( + c__edf8bcf6: BytesLike, overrides?: CallOverrides ): Promise; - c_true29f5519d( - c__29f5519d: BytesLike, + c_trueedf8bcf6( + c__edf8bcf6: BytesLike, overrides?: CallOverrides ): Promise; }; populateTransaction: { - c_29f5519d( - c__29f5519d: BytesLike, + c_edf8bcf6( + c__edf8bcf6: BytesLike, overrides?: CallOverrides ): Promise; - c_false29f5519d( - c__29f5519d: BytesLike, + c_falseedf8bcf6( + c__edf8bcf6: BytesLike, overrides?: CallOverrides ): Promise; - c_true29f5519d( - c__29f5519d: BytesLike, + c_trueedf8bcf6( + c__edf8bcf6: BytesLike, overrides?: CallOverrides ): Promise; }; diff --git a/typings/ECDSALib.ts b/typings/ECDSALib.ts index bde751df..d045ea61 100644 --- a/typings/ECDSALib.ts +++ b/typings/ECDSALib.ts @@ -16,31 +16,31 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface ECDSALibInterface extends utils.Interface { functions: { - "c_099dd06c(bytes8)": FunctionFragment; - "c_false099dd06c(bytes8)": FunctionFragment; - "c_true099dd06c(bytes8)": FunctionFragment; + "c_02f9a6b3(bytes8)": FunctionFragment; + "c_false02f9a6b3(bytes8)": FunctionFragment; + "c_true02f9a6b3(bytes8)": FunctionFragment; }; encodeFunctionData( - functionFragment: "c_099dd06c", + functionFragment: "c_02f9a6b3", values: [BytesLike] ): string; encodeFunctionData( - functionFragment: "c_false099dd06c", + functionFragment: "c_false02f9a6b3", values: [BytesLike] ): string; encodeFunctionData( - functionFragment: "c_true099dd06c", + functionFragment: "c_true02f9a6b3", values: [BytesLike] ): string; - decodeFunctionResult(functionFragment: "c_099dd06c", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_02f9a6b3", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "c_false099dd06c", + functionFragment: "c_false02f9a6b3", data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "c_true099dd06c", + functionFragment: "c_true02f9a6b3", data: BytesLike ): Result; @@ -74,47 +74,47 @@ export interface ECDSALib extends BaseContract { removeListener: OnEvent; functions: { - c_099dd06c( - c__099dd06c: BytesLike, + c_02f9a6b3( + c__02f9a6b3: BytesLike, overrides?: CallOverrides ): Promise<[void]>; - c_false099dd06c( - c__099dd06c: BytesLike, + c_false02f9a6b3( + c__02f9a6b3: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; - c_true099dd06c( - c__099dd06c: BytesLike, + c_true02f9a6b3( + c__02f9a6b3: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; }; - c_099dd06c(c__099dd06c: BytesLike, overrides?: CallOverrides): Promise; + c_02f9a6b3(c__02f9a6b3: BytesLike, overrides?: CallOverrides): Promise; - c_false099dd06c( - c__099dd06c: BytesLike, + c_false02f9a6b3( + c__02f9a6b3: BytesLike, overrides?: CallOverrides ): Promise; - c_true099dd06c( - c__099dd06c: BytesLike, + c_true02f9a6b3( + c__02f9a6b3: BytesLike, overrides?: CallOverrides ): Promise; callStatic: { - c_099dd06c( - c__099dd06c: BytesLike, + c_02f9a6b3( + c__02f9a6b3: BytesLike, overrides?: CallOverrides ): Promise; - c_false099dd06c( - c__099dd06c: BytesLike, + c_false02f9a6b3( + c__02f9a6b3: BytesLike, overrides?: CallOverrides ): Promise; - c_true099dd06c( - c__099dd06c: BytesLike, + c_true02f9a6b3( + c__02f9a6b3: BytesLike, overrides?: CallOverrides ): Promise; }; @@ -122,35 +122,35 @@ export interface ECDSALib extends BaseContract { filters: {}; estimateGas: { - c_099dd06c( - c__099dd06c: BytesLike, + c_02f9a6b3( + c__02f9a6b3: BytesLike, overrides?: CallOverrides ): Promise; - c_false099dd06c( - c__099dd06c: BytesLike, + c_false02f9a6b3( + c__02f9a6b3: BytesLike, overrides?: CallOverrides ): Promise; - c_true099dd06c( - c__099dd06c: BytesLike, + c_true02f9a6b3( + c__02f9a6b3: BytesLike, overrides?: CallOverrides ): Promise; }; populateTransaction: { - c_099dd06c( - c__099dd06c: BytesLike, + c_02f9a6b3( + c__02f9a6b3: BytesLike, overrides?: CallOverrides ): Promise; - c_false099dd06c( - c__099dd06c: BytesLike, + c_false02f9a6b3( + c__02f9a6b3: BytesLike, overrides?: CallOverrides ): Promise; - c_true099dd06c( - c__099dd06c: BytesLike, + c_true02f9a6b3( + c__02f9a6b3: BytesLike, overrides?: CallOverrides ): Promise; }; diff --git a/typings/ENSAbstractResolver.ts b/typings/ENSAbstractResolver.ts index 53dcab4f..7f22ee6a 100644 --- a/typings/ENSAbstractResolver.ts +++ b/typings/ENSAbstractResolver.ts @@ -16,31 +16,31 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface ENSAbstractResolverInterface extends utils.Interface { functions: { - "c_8e2129aa(bytes8)": FunctionFragment; - "c_false8e2129aa(bytes8)": FunctionFragment; - "c_true8e2129aa(bytes8)": FunctionFragment; + "c_f395fef5(bytes8)": FunctionFragment; + "c_falsef395fef5(bytes8)": FunctionFragment; + "c_truef395fef5(bytes8)": FunctionFragment; }; encodeFunctionData( - functionFragment: "c_8e2129aa", + functionFragment: "c_f395fef5", values: [BytesLike] ): string; encodeFunctionData( - functionFragment: "c_false8e2129aa", + functionFragment: "c_falsef395fef5", values: [BytesLike] ): string; encodeFunctionData( - functionFragment: "c_true8e2129aa", + functionFragment: "c_truef395fef5", values: [BytesLike] ): string; - decodeFunctionResult(functionFragment: "c_8e2129aa", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_f395fef5", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "c_false8e2129aa", + functionFragment: "c_falsef395fef5", data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "c_true8e2129aa", + functionFragment: "c_truef395fef5", data: BytesLike ): Result; @@ -74,47 +74,47 @@ export interface ENSAbstractResolver extends BaseContract { removeListener: OnEvent; functions: { - c_8e2129aa( - c__8e2129aa: BytesLike, + c_f395fef5( + c__f395fef5: BytesLike, overrides?: CallOverrides ): Promise<[void]>; - c_false8e2129aa( - c__8e2129aa: BytesLike, + c_falsef395fef5( + c__f395fef5: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; - c_true8e2129aa( - c__8e2129aa: BytesLike, + c_truef395fef5( + c__f395fef5: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; }; - c_8e2129aa(c__8e2129aa: BytesLike, overrides?: CallOverrides): Promise; + c_f395fef5(c__f395fef5: BytesLike, overrides?: CallOverrides): Promise; - c_false8e2129aa( - c__8e2129aa: BytesLike, + c_falsef395fef5( + c__f395fef5: BytesLike, overrides?: CallOverrides ): Promise; - c_true8e2129aa( - c__8e2129aa: BytesLike, + c_truef395fef5( + c__f395fef5: BytesLike, overrides?: CallOverrides ): Promise; callStatic: { - c_8e2129aa( - c__8e2129aa: BytesLike, + c_f395fef5( + c__f395fef5: BytesLike, overrides?: CallOverrides ): Promise; - c_false8e2129aa( - c__8e2129aa: BytesLike, + c_falsef395fef5( + c__f395fef5: BytesLike, overrides?: CallOverrides ): Promise; - c_true8e2129aa( - c__8e2129aa: BytesLike, + c_truef395fef5( + c__f395fef5: BytesLike, overrides?: CallOverrides ): Promise; }; @@ -122,35 +122,35 @@ export interface ENSAbstractResolver extends BaseContract { filters: {}; estimateGas: { - c_8e2129aa( - c__8e2129aa: BytesLike, + c_f395fef5( + c__f395fef5: BytesLike, overrides?: CallOverrides ): Promise; - c_false8e2129aa( - c__8e2129aa: BytesLike, + c_falsef395fef5( + c__f395fef5: BytesLike, overrides?: CallOverrides ): Promise; - c_true8e2129aa( - c__8e2129aa: BytesLike, + c_truef395fef5( + c__f395fef5: BytesLike, overrides?: CallOverrides ): Promise; }; populateTransaction: { - c_8e2129aa( - c__8e2129aa: BytesLike, + c_f395fef5( + c__f395fef5: BytesLike, overrides?: CallOverrides ): Promise; - c_false8e2129aa( - c__8e2129aa: BytesLike, + c_falsef395fef5( + c__f395fef5: BytesLike, overrides?: CallOverrides ): Promise; - c_true8e2129aa( - c__8e2129aa: BytesLike, + c_truef395fef5( + c__f395fef5: BytesLike, overrides?: CallOverrides ): Promise; }; diff --git a/typings/ENSAddressResolver.ts b/typings/ENSAddressResolver.ts index 0a129202..64507c62 100644 --- a/typings/ENSAddressResolver.ts +++ b/typings/ENSAddressResolver.ts @@ -20,16 +20,64 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface ENSAddressResolverInterface extends utils.Interface { functions: { "addr(bytes32)": FunctionFragment; + "c_3f206a34(bytes8)": FunctionFragment; + "c_f395fef5(bytes8)": FunctionFragment; + "c_false3f206a34(bytes8)": FunctionFragment; + "c_falsef395fef5(bytes8)": FunctionFragment; + "c_true3f206a34(bytes8)": FunctionFragment; + "c_truef395fef5(bytes8)": FunctionFragment; "setAddr(bytes32,uint256,bytes)": FunctionFragment; }; encodeFunctionData(functionFragment: "addr", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "c_3f206a34", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_f395fef5", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false3f206a34", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsef395fef5", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true3f206a34", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_truef395fef5", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "setAddr", values: [BytesLike, BigNumberish, BytesLike] ): string; decodeFunctionResult(functionFragment: "addr", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_3f206a34", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_f395fef5", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false3f206a34", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_falsef395fef5", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true3f206a34", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_truef395fef5", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "setAddr", data: BytesLike): Result; events: { @@ -93,6 +141,36 @@ export interface ENSAddressResolver extends BaseContract { overrides?: CallOverrides ): Promise<[string]>; + c_3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + "setAddr(bytes32,uint256,bytes)"( node: BytesLike, coinType: BigNumberish, @@ -115,6 +193,30 @@ export interface ENSAddressResolver extends BaseContract { overrides?: CallOverrides ): Promise; + c_3f206a34(c__3f206a34: BytesLike, overrides?: CallOverrides): Promise; + + c_f395fef5(c__f395fef5: BytesLike, overrides?: CallOverrides): Promise; + + c_false3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + "setAddr(bytes32,uint256,bytes)"( node: BytesLike, coinType: BigNumberish, @@ -140,6 +242,36 @@ export interface ENSAddressResolver extends BaseContract { overrides?: CallOverrides ): Promise; + c_3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + "setAddr(bytes32,uint256,bytes)"( node: BytesLike, coinType: BigNumberish, @@ -185,6 +317,36 @@ export interface ENSAddressResolver extends BaseContract { overrides?: CallOverrides ): Promise; + c_3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + "setAddr(bytes32,uint256,bytes)"( node: BytesLike, coinType: BigNumberish, @@ -211,6 +373,36 @@ export interface ENSAddressResolver extends BaseContract { overrides?: CallOverrides ): Promise; + c_3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + "setAddr(bytes32,uint256,bytes)"( node: BytesLike, coinType: BigNumberish, diff --git a/typings/ENSController.ts b/typings/ENSController.ts index f846d824..14859a88 100644 --- a/typings/ENSController.ts +++ b/typings/ENSController.ts @@ -33,6 +33,36 @@ export interface ENSControllerInterface extends utils.Interface { functions: { "addGuardian(address)": FunctionFragment; "addr(bytes32)": FunctionFragment; + "c_098c0657(bytes8)": FunctionFragment; + "c_0b6945c4(bytes8)": FunctionFragment; + "c_3f206a34(bytes8)": FunctionFragment; + "c_52615ca8(bytes8)": FunctionFragment; + "c_633abef9(bytes8)": FunctionFragment; + "c_6f06df17(bytes8)": FunctionFragment; + "c_7ffc1d72(bytes8)": FunctionFragment; + "c_8aa9670c(bytes8)": FunctionFragment; + "c_d18be0f9(bytes8)": FunctionFragment; + "c_f395fef5(bytes8)": FunctionFragment; + "c_false098c0657(bytes8)": FunctionFragment; + "c_false0b6945c4(bytes8)": FunctionFragment; + "c_false3f206a34(bytes8)": FunctionFragment; + "c_false52615ca8(bytes8)": FunctionFragment; + "c_false633abef9(bytes8)": FunctionFragment; + "c_false6f06df17(bytes8)": FunctionFragment; + "c_false7ffc1d72(bytes8)": FunctionFragment; + "c_false8aa9670c(bytes8)": FunctionFragment; + "c_falsed18be0f9(bytes8)": FunctionFragment; + "c_falsef395fef5(bytes8)": FunctionFragment; + "c_true098c0657(bytes8)": FunctionFragment; + "c_true0b6945c4(bytes8)": FunctionFragment; + "c_true3f206a34(bytes8)": FunctionFragment; + "c_true52615ca8(bytes8)": FunctionFragment; + "c_true633abef9(bytes8)": FunctionFragment; + "c_true6f06df17(bytes8)": FunctionFragment; + "c_true7ffc1d72(bytes8)": FunctionFragment; + "c_true8aa9670c(bytes8)": FunctionFragment; + "c_trued18be0f9(bytes8)": FunctionFragment; + "c_truef395fef5(bytes8)": FunctionFragment; "chainId()": FunctionFragment; "gateway()": FunctionFragment; "hashSubNodeRegistration((address,bytes32,bytes32))": FunctionFragment; @@ -61,6 +91,126 @@ export interface ENSControllerInterface extends utils.Interface { encodeFunctionData(functionFragment: "addGuardian", values: [string]): string; encodeFunctionData(functionFragment: "addr", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "c_098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_0b6945c4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_3f206a34", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_52615ca8", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_633abef9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_6f06df17", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_7ffc1d72", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_8aa9670c", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_d18be0f9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_f395fef5", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false0b6945c4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false3f206a34", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false52615ca8", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false633abef9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false6f06df17", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false7ffc1d72", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false8aa9670c", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsed18be0f9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsef395fef5", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true0b6945c4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true3f206a34", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true52615ca8", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true633abef9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true6f06df17", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true7ffc1d72", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true8aa9670c", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_trued18be0f9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_truef395fef5", + values: [BytesLike] + ): string; encodeFunctionData(functionFragment: "chainId", values?: undefined): string; encodeFunctionData(functionFragment: "gateway", values?: undefined): string; encodeFunctionData( @@ -139,6 +289,96 @@ export interface ENSControllerInterface extends utils.Interface { data: BytesLike ): Result; decodeFunctionResult(functionFragment: "addr", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_098c0657", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_0b6945c4", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_3f206a34", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_52615ca8", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_633abef9", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_6f06df17", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_7ffc1d72", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_8aa9670c", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_d18be0f9", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_f395fef5", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false0b6945c4", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false3f206a34", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false52615ca8", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false633abef9", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false6f06df17", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false7ffc1d72", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false8aa9670c", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_falsed18be0f9", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_falsef395fef5", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true0b6945c4", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true3f206a34", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true52615ca8", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true633abef9", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true6f06df17", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true7ffc1d72", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true8aa9670c", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_trued18be0f9", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_truef395fef5", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "chainId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "gateway", data: BytesLike): Result; decodeFunctionResult( @@ -335,6 +575,156 @@ export interface ENSController extends BaseContract { overrides?: CallOverrides ): Promise<[string]>; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_8aa9670c( + c__8aa9670c: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false8aa9670c( + c__8aa9670c: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true8aa9670c( + c__8aa9670c: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + chainId(overrides?: CallOverrides): Promise<[BigNumber]>; gateway(overrides?: CallOverrides): Promise<[string]>; @@ -467,41 +857,161 @@ export interface ENSController extends BaseContract { overrides?: CallOverrides ): Promise; - chainId(overrides?: CallOverrides): Promise; + c_098c0657(c__098c0657: BytesLike, overrides?: CallOverrides): Promise; - gateway(overrides?: CallOverrides): Promise; + c_0b6945c4(c__0b6945c4: BytesLike, overrides?: CallOverrides): Promise; - hashSubNodeRegistration( - subNodeRegistration: SubNodeRegistrationStruct, - overrides?: CallOverrides - ): Promise; + c_3f206a34(c__3f206a34: BytesLike, overrides?: CallOverrides): Promise; - initialize( - registry_: string, - guardians_: string[], - gateway_: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise; + c_52615ca8(c__52615ca8: BytesLike, overrides?: CallOverrides): Promise; - isGuardian(guardian: string, overrides?: CallOverrides): Promise; + c_633abef9(c__633abef9: BytesLike, overrides?: CallOverrides): Promise; - isInitialized(overrides?: CallOverrides): Promise; + c_6f06df17(c__6f06df17: BytesLike, overrides?: CallOverrides): Promise; - name(node: BytesLike, overrides?: CallOverrides): Promise; + c_7ffc1d72(c__7ffc1d72: BytesLike, overrides?: CallOverrides): Promise; - nodeOwners(arg0: BytesLike, overrides?: CallOverrides): Promise; + c_8aa9670c(c__8aa9670c: BytesLike, overrides?: CallOverrides): Promise; - pubkey( - node: BytesLike, - overrides?: CallOverrides - ): Promise<[string, string] & { x: string; y: string }>; + c_d18be0f9(c__d18be0f9: BytesLike, overrides?: CallOverrides): Promise; - registerSubNode( - node: BytesLike, - label: BytesLike, - guardianSignature: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; + c_f395fef5(c__f395fef5: BytesLike, overrides?: CallOverrides): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false8aa9670c( + c__8aa9670c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true8aa9670c( + c__8aa9670c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + chainId(overrides?: CallOverrides): Promise; + + gateway(overrides?: CallOverrides): Promise; + + hashSubNodeRegistration( + subNodeRegistration: SubNodeRegistrationStruct, + overrides?: CallOverrides + ): Promise; + + initialize( + registry_: string, + guardians_: string[], + gateway_: string, + overrides?: Overrides & { from?: string | Promise } + ): Promise; + + isGuardian(guardian: string, overrides?: CallOverrides): Promise; + + isInitialized(overrides?: CallOverrides): Promise; + + name(node: BytesLike, overrides?: CallOverrides): Promise; + + nodeOwners(arg0: BytesLike, overrides?: CallOverrides): Promise; + + pubkey( + node: BytesLike, + overrides?: CallOverrides + ): Promise<[string, string] & { x: string; y: string }>; + + registerSubNode( + node: BytesLike, + label: BytesLike, + guardianSignature: BytesLike, + overrides?: Overrides & { from?: string | Promise } + ): Promise; registry(overrides?: CallOverrides): Promise; @@ -599,6 +1109,156 @@ export interface ENSController extends BaseContract { overrides?: CallOverrides ): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_8aa9670c( + c__8aa9670c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false8aa9670c( + c__8aa9670c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true8aa9670c( + c__8aa9670c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; gateway(overrides?: CallOverrides): Promise; @@ -797,6 +1457,156 @@ export interface ENSController extends BaseContract { overrides?: CallOverrides ): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_8aa9670c( + c__8aa9670c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false8aa9670c( + c__8aa9670c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true8aa9670c( + c__8aa9670c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; gateway(overrides?: CallOverrides): Promise; @@ -930,6 +1740,156 @@ export interface ENSController extends BaseContract { overrides?: CallOverrides ): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_8aa9670c( + c__8aa9670c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false8aa9670c( + c__8aa9670c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true3f206a34( + c__3f206a34: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true8aa9670c( + c__8aa9670c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; gateway(overrides?: CallOverrides): Promise; diff --git a/typings/ENSHelper.ts b/typings/ENSHelper.ts index 54a41fae..8a8618de 100644 --- a/typings/ENSHelper.ts +++ b/typings/ENSHelper.ts @@ -18,6 +18,12 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface ENSHelperInterface extends utils.Interface { functions: { + "c_098c0657(bytes8)": FunctionFragment; + "c_5c42e10b(bytes8)": FunctionFragment; + "c_false098c0657(bytes8)": FunctionFragment; + "c_false5c42e10b(bytes8)": FunctionFragment; + "c_true098c0657(bytes8)": FunctionFragment; + "c_true5c42e10b(bytes8)": FunctionFragment; "getAddresses(bytes32[])": FunctionFragment; "getNames(bytes32[])": FunctionFragment; "initialize(address)": FunctionFragment; @@ -25,6 +31,30 @@ export interface ENSHelperInterface extends utils.Interface { "registry()": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_5c42e10b", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false5c42e10b", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true5c42e10b", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "getAddresses", values: [BytesLike[]] @@ -40,6 +70,24 @@ export interface ENSHelperInterface extends utils.Interface { ): string; encodeFunctionData(functionFragment: "registry", values?: undefined): string; + decodeFunctionResult(functionFragment: "c_098c0657", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_5c42e10b", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false5c42e10b", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true5c42e10b", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "getAddresses", data: BytesLike @@ -90,6 +138,36 @@ export interface ENSHelper extends BaseContract { removeListener: OnEvent; functions: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_5c42e10b( + c__5c42e10b: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false5c42e10b( + c__5c42e10b: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true5c42e10b( + c__5c42e10b: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + getAddresses( nodes: BytesLike[], overrides?: CallOverrides @@ -110,6 +188,30 @@ export interface ENSHelper extends BaseContract { registry(overrides?: CallOverrides): Promise<[string]>; }; + c_098c0657(c__098c0657: BytesLike, overrides?: CallOverrides): Promise; + + c_5c42e10b(c__5c42e10b: BytesLike, overrides?: CallOverrides): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false5c42e10b( + c__5c42e10b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true5c42e10b( + c__5c42e10b: BytesLike, + overrides?: CallOverrides + ): Promise; + getAddresses( nodes: BytesLike[], overrides?: CallOverrides @@ -127,6 +229,36 @@ export interface ENSHelper extends BaseContract { registry(overrides?: CallOverrides): Promise; callStatic: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_5c42e10b( + c__5c42e10b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false5c42e10b( + c__5c42e10b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true5c42e10b( + c__5c42e10b: BytesLike, + overrides?: CallOverrides + ): Promise; + getAddresses( nodes: BytesLike[], overrides?: CallOverrides @@ -147,6 +279,36 @@ export interface ENSHelper extends BaseContract { }; estimateGas: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_5c42e10b( + c__5c42e10b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false5c42e10b( + c__5c42e10b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true5c42e10b( + c__5c42e10b: BytesLike, + overrides?: CallOverrides + ): Promise; + getAddresses( nodes: BytesLike[], overrides?: CallOverrides @@ -165,6 +327,36 @@ export interface ENSHelper extends BaseContract { }; populateTransaction: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_5c42e10b( + c__5c42e10b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false5c42e10b( + c__5c42e10b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true5c42e10b( + c__5c42e10b: BytesLike, + overrides?: CallOverrides + ): Promise; + getAddresses( nodes: BytesLike[], overrides?: CallOverrides diff --git a/typings/ENSNameResolver.ts b/typings/ENSNameResolver.ts index 8681ea09..348aed22 100644 --- a/typings/ENSNameResolver.ts +++ b/typings/ENSNameResolver.ts @@ -18,16 +18,64 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface ENSNameResolverInterface extends utils.Interface { functions: { + "c_6f06df17(bytes8)": FunctionFragment; + "c_f395fef5(bytes8)": FunctionFragment; + "c_false6f06df17(bytes8)": FunctionFragment; + "c_falsef395fef5(bytes8)": FunctionFragment; + "c_true6f06df17(bytes8)": FunctionFragment; + "c_truef395fef5(bytes8)": FunctionFragment; "name(bytes32)": FunctionFragment; "setName(bytes32,string)": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_6f06df17", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_f395fef5", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false6f06df17", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsef395fef5", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true6f06df17", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_truef395fef5", + values: [BytesLike] + ): string; encodeFunctionData(functionFragment: "name", values: [BytesLike]): string; encodeFunctionData( functionFragment: "setName", values: [BytesLike, string] ): string; + decodeFunctionResult(functionFragment: "c_6f06df17", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_f395fef5", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false6f06df17", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_falsef395fef5", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true6f06df17", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_truef395fef5", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setName", data: BytesLike): Result; @@ -72,6 +120,36 @@ export interface ENSNameResolver extends BaseContract { removeListener: OnEvent; functions: { + c_6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + name(node: BytesLike, overrides?: CallOverrides): Promise<[string]>; setName( @@ -81,6 +159,30 @@ export interface ENSNameResolver extends BaseContract { ): Promise; }; + c_6f06df17(c__6f06df17: BytesLike, overrides?: CallOverrides): Promise; + + c_f395fef5(c__f395fef5: BytesLike, overrides?: CallOverrides): Promise; + + c_false6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + name(node: BytesLike, overrides?: CallOverrides): Promise; setName( @@ -90,6 +192,36 @@ export interface ENSNameResolver extends BaseContract { ): Promise; callStatic: { + c_6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + name(node: BytesLike, overrides?: CallOverrides): Promise; setName( @@ -108,6 +240,36 @@ export interface ENSNameResolver extends BaseContract { }; estimateGas: { + c_6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + name(node: BytesLike, overrides?: CallOverrides): Promise; setName( @@ -118,6 +280,36 @@ export interface ENSNameResolver extends BaseContract { }; populateTransaction: { + c_6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true6f06df17( + c__6f06df17: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + name( node: BytesLike, overrides?: CallOverrides diff --git a/typings/ENSPubKeyResolver.ts b/typings/ENSPubKeyResolver.ts index 717fedc4..4b0ff7ac 100644 --- a/typings/ENSPubKeyResolver.ts +++ b/typings/ENSPubKeyResolver.ts @@ -18,16 +18,64 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface ENSPubKeyResolverInterface extends utils.Interface { functions: { + "c_633abef9(bytes8)": FunctionFragment; + "c_f395fef5(bytes8)": FunctionFragment; + "c_false633abef9(bytes8)": FunctionFragment; + "c_falsef395fef5(bytes8)": FunctionFragment; + "c_true633abef9(bytes8)": FunctionFragment; + "c_truef395fef5(bytes8)": FunctionFragment; "pubkey(bytes32)": FunctionFragment; "setPubkey(bytes32,bytes32,bytes32)": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_633abef9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_f395fef5", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false633abef9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsef395fef5", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true633abef9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_truef395fef5", + values: [BytesLike] + ): string; encodeFunctionData(functionFragment: "pubkey", values: [BytesLike]): string; encodeFunctionData( functionFragment: "setPubkey", values: [BytesLike, BytesLike, BytesLike] ): string; + decodeFunctionResult(functionFragment: "c_633abef9", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_f395fef5", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false633abef9", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_falsef395fef5", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true633abef9", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_truef395fef5", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "pubkey", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setPubkey", data: BytesLike): Result; @@ -72,6 +120,36 @@ export interface ENSPubKeyResolver extends BaseContract { removeListener: OnEvent; functions: { + c_633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + pubkey( node: BytesLike, overrides?: CallOverrides @@ -85,6 +163,30 @@ export interface ENSPubKeyResolver extends BaseContract { ): Promise; }; + c_633abef9(c__633abef9: BytesLike, overrides?: CallOverrides): Promise; + + c_f395fef5(c__f395fef5: BytesLike, overrides?: CallOverrides): Promise; + + c_false633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + pubkey( node: BytesLike, overrides?: CallOverrides @@ -98,6 +200,36 @@ export interface ENSPubKeyResolver extends BaseContract { ): Promise; callStatic: { + c_633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + pubkey( node: BytesLike, overrides?: CallOverrides @@ -125,6 +257,36 @@ export interface ENSPubKeyResolver extends BaseContract { }; estimateGas: { + c_633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + pubkey(node: BytesLike, overrides?: CallOverrides): Promise; setPubkey( @@ -136,6 +298,36 @@ export interface ENSPubKeyResolver extends BaseContract { }; populateTransaction: { + c_633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true633abef9( + c__633abef9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + pubkey( node: BytesLike, overrides?: CallOverrides diff --git a/typings/ENSRegistry.ts b/typings/ENSRegistry.ts index a70a9878..2f84422e 100644 --- a/typings/ENSRegistry.ts +++ b/typings/ENSRegistry.ts @@ -19,6 +19,9 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface ENSRegistryInterface extends utils.Interface { functions: { + "c_d1f32b86(bytes8)": FunctionFragment; + "c_falsed1f32b86(bytes8)": FunctionFragment; + "c_trued1f32b86(bytes8)": FunctionFragment; "isApprovedForAll(address,address)": FunctionFragment; "owner(bytes32)": FunctionFragment; "recordExists(bytes32)": FunctionFragment; @@ -33,6 +36,18 @@ export interface ENSRegistryInterface extends utils.Interface { "ttl(bytes32)": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_d1f32b86", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsed1f32b86", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_trued1f32b86", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "isApprovedForAll", values: [string, string] @@ -73,6 +88,15 @@ export interface ENSRegistryInterface extends utils.Interface { ): string; encodeFunctionData(functionFragment: "ttl", values: [BytesLike]): string; + decodeFunctionResult(functionFragment: "c_d1f32b86", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_falsed1f32b86", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_trued1f32b86", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "isApprovedForAll", data: BytesLike @@ -181,6 +205,21 @@ export interface ENSRegistry extends BaseContract { removeListener: OnEvent; functions: { + c_d1f32b86( + c__d1f32b86: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_falsed1f32b86( + c__d1f32b86: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_trued1f32b86( + c__d1f32b86: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + isApprovedForAll( owner_: string, operator: string, @@ -247,6 +286,18 @@ export interface ENSRegistry extends BaseContract { ttl(node: BytesLike, overrides?: CallOverrides): Promise<[BigNumber]>; }; + c_d1f32b86(c__d1f32b86: BytesLike, overrides?: CallOverrides): Promise; + + c_falsed1f32b86( + c__d1f32b86: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued1f32b86( + c__d1f32b86: BytesLike, + overrides?: CallOverrides + ): Promise; + isApprovedForAll( owner_: string, operator: string, @@ -310,6 +361,21 @@ export interface ENSRegistry extends BaseContract { ttl(node: BytesLike, overrides?: CallOverrides): Promise; callStatic: { + c_d1f32b86( + c__d1f32b86: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed1f32b86( + c__d1f32b86: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued1f32b86( + c__d1f32b86: BytesLike, + overrides?: CallOverrides + ): Promise; + isApprovedForAll( owner_: string, operator: string, @@ -419,6 +485,21 @@ export interface ENSRegistry extends BaseContract { }; estimateGas: { + c_d1f32b86( + c__d1f32b86: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed1f32b86( + c__d1f32b86: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued1f32b86( + c__d1f32b86: BytesLike, + overrides?: CallOverrides + ): Promise; + isApprovedForAll( owner_: string, operator: string, @@ -486,6 +567,21 @@ export interface ENSRegistry extends BaseContract { }; populateTransaction: { + c_d1f32b86( + c__d1f32b86: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed1f32b86( + c__d1f32b86: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued1f32b86( + c__d1f32b86: BytesLike, + overrides?: CallOverrides + ): Promise; + isApprovedForAll( owner_: string, operator: string, diff --git a/typings/ENSReverseRegistrar.ts b/typings/ENSReverseRegistrar.ts index 22952c8a..264f9fd4 100644 --- a/typings/ENSReverseRegistrar.ts +++ b/typings/ENSReverseRegistrar.ts @@ -19,6 +19,12 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface ENSReverseRegistrarInterface extends utils.Interface { functions: { "ADDR_REVERSE_NODE()": FunctionFragment; + "c_098c0657(bytes8)": FunctionFragment; + "c_c9f97d2d(bytes8)": FunctionFragment; + "c_false098c0657(bytes8)": FunctionFragment; + "c_falsec9f97d2d(bytes8)": FunctionFragment; + "c_true098c0657(bytes8)": FunctionFragment; + "c_truec9f97d2d(bytes8)": FunctionFragment; "claim(address)": FunctionFragment; "claimWithResolver(address,address)": FunctionFragment; "initialize(address,address)": FunctionFragment; @@ -33,6 +39,30 @@ export interface ENSReverseRegistrarInterface extends utils.Interface { functionFragment: "ADDR_REVERSE_NODE", values?: undefined ): string; + encodeFunctionData( + functionFragment: "c_098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_c9f97d2d", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsec9f97d2d", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_truec9f97d2d", + values: [BytesLike] + ): string; encodeFunctionData(functionFragment: "claim", values: [string]): string; encodeFunctionData( functionFragment: "claimWithResolver", @@ -55,6 +85,24 @@ export interface ENSReverseRegistrarInterface extends utils.Interface { functionFragment: "ADDR_REVERSE_NODE", data: BytesLike ): Result; + decodeFunctionResult(functionFragment: "c_098c0657", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_c9f97d2d", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_falsec9f97d2d", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_truec9f97d2d", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "claim", data: BytesLike): Result; decodeFunctionResult( functionFragment: "claimWithResolver", @@ -110,6 +158,36 @@ export interface ENSReverseRegistrar extends BaseContract { functions: { ADDR_REVERSE_NODE(overrides?: CallOverrides): Promise<[string]>; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_c9f97d2d( + c__c9f97d2d: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_falsec9f97d2d( + c__c9f97d2d: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_truec9f97d2d( + c__c9f97d2d: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + claim( owner: string, overrides?: Overrides & { from?: string | Promise } @@ -143,6 +221,30 @@ export interface ENSReverseRegistrar extends BaseContract { ADDR_REVERSE_NODE(overrides?: CallOverrides): Promise; + c_098c0657(c__098c0657: BytesLike, overrides?: CallOverrides): Promise; + + c_c9f97d2d(c__c9f97d2d: BytesLike, overrides?: CallOverrides): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsec9f97d2d( + c__c9f97d2d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truec9f97d2d( + c__c9f97d2d: BytesLike, + overrides?: CallOverrides + ): Promise; + claim( owner: string, overrides?: Overrides & { from?: string | Promise } @@ -176,6 +278,36 @@ export interface ENSReverseRegistrar extends BaseContract { callStatic: { ADDR_REVERSE_NODE(overrides?: CallOverrides): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_c9f97d2d( + c__c9f97d2d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsec9f97d2d( + c__c9f97d2d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truec9f97d2d( + c__c9f97d2d: BytesLike, + overrides?: CallOverrides + ): Promise; + claim(owner: string, overrides?: CallOverrides): Promise; claimWithResolver( @@ -209,6 +341,36 @@ export interface ENSReverseRegistrar extends BaseContract { estimateGas: { ADDR_REVERSE_NODE(overrides?: CallOverrides): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_c9f97d2d( + c__c9f97d2d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsec9f97d2d( + c__c9f97d2d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truec9f97d2d( + c__c9f97d2d: BytesLike, + overrides?: CallOverrides + ): Promise; + claim( owner: string, overrides?: Overrides & { from?: string | Promise } @@ -243,6 +405,36 @@ export interface ENSReverseRegistrar extends BaseContract { populateTransaction: { ADDR_REVERSE_NODE(overrides?: CallOverrides): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_c9f97d2d( + c__c9f97d2d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsec9f97d2d( + c__c9f97d2d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truec9f97d2d( + c__c9f97d2d: BytesLike, + overrides?: CallOverrides + ): Promise; + claim( owner: string, overrides?: Overrides & { from?: string | Promise } diff --git a/typings/ENSTextResolver.ts b/typings/ENSTextResolver.ts index abd26e04..51258a0f 100644 --- a/typings/ENSTextResolver.ts +++ b/typings/ENSTextResolver.ts @@ -18,10 +18,40 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface ENSTextResolverInterface extends utils.Interface { functions: { + "c_7ffc1d72(bytes8)": FunctionFragment; + "c_f395fef5(bytes8)": FunctionFragment; + "c_false7ffc1d72(bytes8)": FunctionFragment; + "c_falsef395fef5(bytes8)": FunctionFragment; + "c_true7ffc1d72(bytes8)": FunctionFragment; + "c_truef395fef5(bytes8)": FunctionFragment; "setText(bytes32,string,string)": FunctionFragment; "text(bytes32,string)": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_7ffc1d72", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_f395fef5", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false7ffc1d72", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsef395fef5", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true7ffc1d72", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_truef395fef5", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "setText", values: [BytesLike, string, string] @@ -31,6 +61,24 @@ export interface ENSTextResolverInterface extends utils.Interface { values: [BytesLike, string] ): string; + decodeFunctionResult(functionFragment: "c_7ffc1d72", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_f395fef5", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false7ffc1d72", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_falsef395fef5", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true7ffc1d72", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_truef395fef5", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "setText", data: BytesLike): Result; decodeFunctionResult(functionFragment: "text", data: BytesLike): Result; @@ -75,6 +123,36 @@ export interface ENSTextResolver extends BaseContract { removeListener: OnEvent; functions: { + c_7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + setText( node: BytesLike, key: string, @@ -89,6 +167,30 @@ export interface ENSTextResolver extends BaseContract { ): Promise<[string]>; }; + c_7ffc1d72(c__7ffc1d72: BytesLike, overrides?: CallOverrides): Promise; + + c_f395fef5(c__f395fef5: BytesLike, overrides?: CallOverrides): Promise; + + c_false7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + setText( node: BytesLike, key: string, @@ -103,6 +205,36 @@ export interface ENSTextResolver extends BaseContract { ): Promise; callStatic: { + c_7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + setText( node: BytesLike, key: string, @@ -131,6 +263,36 @@ export interface ENSTextResolver extends BaseContract { }; estimateGas: { + c_7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + setText( node: BytesLike, key: string, @@ -146,6 +308,36 @@ export interface ENSTextResolver extends BaseContract { }; populateTransaction: { + c_7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_f395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true7ffc1d72( + c__7ffc1d72: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef395fef5( + c__f395fef5: BytesLike, + overrides?: CallOverrides + ): Promise; + setText( node: BytesLike, key: string, diff --git a/typings/ERC20Token.ts b/typings/ERC20Token.ts index 4aa9e010..68e1124f 100644 --- a/typings/ERC20Token.ts +++ b/typings/ERC20Token.ts @@ -22,6 +22,9 @@ export interface ERC20TokenInterface extends utils.Interface { "allowance(address,address)": FunctionFragment; "approve(address,uint256)": FunctionFragment; "balanceOf(address)": FunctionFragment; + "c_99a47378(bytes8)": FunctionFragment; + "c_false99a47378(bytes8)": FunctionFragment; + "c_true99a47378(bytes8)": FunctionFragment; "decimals()": FunctionFragment; "name()": FunctionFragment; "symbol()": FunctionFragment; @@ -39,6 +42,18 @@ export interface ERC20TokenInterface extends utils.Interface { values: [string, BigNumberish] ): string; encodeFunctionData(functionFragment: "balanceOf", values: [string]): string; + encodeFunctionData( + functionFragment: "c_99a47378", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false99a47378", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true99a47378", + values: [BytesLike] + ): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; @@ -58,6 +73,15 @@ export interface ERC20TokenInterface extends utils.Interface { decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_99a47378", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false99a47378", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true99a47378", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; @@ -135,6 +159,21 @@ export interface ERC20Token extends BaseContract { balanceOf(owner: string, overrides?: CallOverrides): Promise<[BigNumber]>; + c_99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + decimals(overrides?: CallOverrides): Promise<[number]>; name(overrides?: CallOverrides): Promise<[string]>; @@ -171,6 +210,18 @@ export interface ERC20Token extends BaseContract { balanceOf(owner: string, overrides?: CallOverrides): Promise; + c_99a47378(c__99a47378: BytesLike, overrides?: CallOverrides): Promise; + + c_false99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + decimals(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; @@ -207,6 +258,21 @@ export interface ERC20Token extends BaseContract { balanceOf(owner: string, overrides?: CallOverrides): Promise; + c_99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + decimals(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; @@ -268,6 +334,21 @@ export interface ERC20Token extends BaseContract { balanceOf(owner: string, overrides?: CallOverrides): Promise; + c_99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + decimals(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; @@ -308,6 +389,21 @@ export interface ERC20Token extends BaseContract { overrides?: CallOverrides ): Promise; + c_99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + decimals(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; diff --git a/typings/ExternalAccountRegistry.ts b/typings/ExternalAccountRegistry.ts index 56e0af46..287f311a 100644 --- a/typings/ExternalAccountRegistry.ts +++ b/typings/ExternalAccountRegistry.ts @@ -21,6 +21,9 @@ export interface ExternalAccountRegistryInterface extends utils.Interface { functions: { "addAccountOwner(address)": FunctionFragment; "addAccountProof(bytes32)": FunctionFragment; + "c_9570ce98(bytes8)": FunctionFragment; + "c_false9570ce98(bytes8)": FunctionFragment; + "c_true9570ce98(bytes8)": FunctionFragment; "removeAccountOwner(address)": FunctionFragment; "removeAccountProof(bytes32)": FunctionFragment; "verifyAccountOwner(address,address)": FunctionFragment; @@ -37,6 +40,18 @@ export interface ExternalAccountRegistryInterface extends utils.Interface { functionFragment: "addAccountProof", values: [BytesLike] ): string; + encodeFunctionData( + functionFragment: "c_9570ce98", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false9570ce98", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true9570ce98", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "removeAccountOwner", values: [string] @@ -70,6 +85,15 @@ export interface ExternalAccountRegistryInterface extends utils.Interface { functionFragment: "addAccountProof", data: BytesLike ): Result; + decodeFunctionResult(functionFragment: "c_9570ce98", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false9570ce98", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true9570ce98", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "removeAccountOwner", data: BytesLike @@ -177,6 +201,21 @@ export interface ExternalAccountRegistry extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_9570ce98( + c__9570ce98: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false9570ce98( + c__9570ce98: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true9570ce98( + c__9570ce98: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + removeAccountOwner( owner: string, overrides?: Overrides & { from?: string | Promise } @@ -224,6 +263,18 @@ export interface ExternalAccountRegistry extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_9570ce98(c__9570ce98: BytesLike, overrides?: CallOverrides): Promise; + + c_false9570ce98( + c__9570ce98: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9570ce98( + c__9570ce98: BytesLike, + overrides?: CallOverrides + ): Promise; + removeAccountOwner( owner: string, overrides?: Overrides & { from?: string | Promise } @@ -265,6 +316,21 @@ export interface ExternalAccountRegistry extends BaseContract { addAccountProof(hash: BytesLike, overrides?: CallOverrides): Promise; + c_9570ce98( + c__9570ce98: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9570ce98( + c__9570ce98: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9570ce98( + c__9570ce98: BytesLike, + overrides?: CallOverrides + ): Promise; + removeAccountOwner(owner: string, overrides?: CallOverrides): Promise; removeAccountProof( @@ -348,6 +414,21 @@ export interface ExternalAccountRegistry extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_9570ce98( + c__9570ce98: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9570ce98( + c__9570ce98: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9570ce98( + c__9570ce98: BytesLike, + overrides?: CallOverrides + ): Promise; + removeAccountOwner( owner: string, overrides?: Overrides & { from?: string | Promise } @@ -396,6 +477,21 @@ export interface ExternalAccountRegistry extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_9570ce98( + c__9570ce98: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9570ce98( + c__9570ce98: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9570ce98( + c__9570ce98: BytesLike, + overrides?: CallOverrides + ): Promise; + removeAccountOwner( owner: string, overrides?: Overrides & { from?: string | Promise } diff --git a/typings/Gateway.ts b/typings/Gateway.ts index b25ecedf..de8ebe0e 100644 --- a/typings/Gateway.ts +++ b/typings/Gateway.ts @@ -55,6 +55,15 @@ export type DelegatedBatchWithGasPriceStructOutput = [ export interface GatewayInterface extends utils.Interface { functions: { + "c_098c0657(bytes8)": FunctionFragment; + "c_4b81551d(bytes8)": FunctionFragment; + "c_52615ca8(bytes8)": FunctionFragment; + "c_false098c0657(bytes8)": FunctionFragment; + "c_false4b81551d(bytes8)": FunctionFragment; + "c_false52615ca8(bytes8)": FunctionFragment; + "c_true098c0657(bytes8)": FunctionFragment; + "c_true4b81551d(bytes8)": FunctionFragment; + "c_true52615ca8(bytes8)": FunctionFragment; "chainId()": FunctionFragment; "delegateBatch(address,uint256,address[],bytes[],bytes)": FunctionFragment; "delegateBatchWithGasPrice(address,uint256,address[],bytes[],bytes)": FunctionFragment; @@ -70,6 +79,42 @@ export interface GatewayInterface extends utils.Interface { "sendBatchFromAccount(address,address[],bytes[])": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_4b81551d", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_52615ca8", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false4b81551d", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false52615ca8", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true4b81551d", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true52615ca8", + values: [BytesLike] + ): string; encodeFunctionData(functionFragment: "chainId", values?: undefined): string; encodeFunctionData( functionFragment: "delegateBatch", @@ -120,6 +165,33 @@ export interface GatewayInterface extends utils.Interface { values: [string, string[], BytesLike[]] ): string; + decodeFunctionResult(functionFragment: "c_098c0657", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_4b81551d", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_52615ca8", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false4b81551d", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false52615ca8", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true4b81551d", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true52615ca8", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "chainId", data: BytesLike): Result; decodeFunctionResult( functionFragment: "delegateBatch", @@ -211,6 +283,51 @@ export interface Gateway extends BaseContract { removeListener: OnEvent; functions: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_4b81551d( + c__4b81551d: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false4b81551d( + c__4b81551d: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true4b81551d( + c__4b81551d: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + chainId(overrides?: CallOverrides): Promise<[BigNumber]>; delegateBatch( @@ -278,6 +395,42 @@ export interface Gateway extends BaseContract { ): Promise; }; + c_098c0657(c__098c0657: BytesLike, overrides?: CallOverrides): Promise; + + c_4b81551d(c__4b81551d: BytesLike, overrides?: CallOverrides): Promise; + + c_52615ca8(c__52615ca8: BytesLike, overrides?: CallOverrides): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false4b81551d( + c__4b81551d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true4b81551d( + c__4b81551d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; delegateBatch( @@ -345,6 +498,51 @@ export interface Gateway extends BaseContract { ): Promise; callStatic: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_4b81551d( + c__4b81551d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false4b81551d( + c__4b81551d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true4b81551d( + c__4b81551d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; delegateBatch( @@ -429,6 +627,51 @@ export interface Gateway extends BaseContract { }; estimateGas: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_4b81551d( + c__4b81551d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false4b81551d( + c__4b81551d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true4b81551d( + c__4b81551d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; delegateBatch( @@ -497,6 +740,51 @@ export interface Gateway extends BaseContract { }; populateTransaction: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_4b81551d( + c__4b81551d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false4b81551d( + c__4b81551d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true4b81551d( + c__4b81551d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; delegateBatch( diff --git a/typings/GatewayRecipient.ts b/typings/GatewayRecipient.ts index bb2c4726..00a66c02 100644 --- a/typings/GatewayRecipient.ts +++ b/typings/GatewayRecipient.ts @@ -16,11 +16,35 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface GatewayRecipientInterface extends utils.Interface { functions: { + "c_d18be0f9(bytes8)": FunctionFragment; + "c_falsed18be0f9(bytes8)": FunctionFragment; + "c_trued18be0f9(bytes8)": FunctionFragment; "gateway()": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_d18be0f9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsed18be0f9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_trued18be0f9", + values: [BytesLike] + ): string; encodeFunctionData(functionFragment: "gateway", values?: undefined): string; + decodeFunctionResult(functionFragment: "c_d18be0f9", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_falsed18be0f9", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_trued18be0f9", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "gateway", data: BytesLike): Result; events: {}; @@ -53,22 +77,94 @@ export interface GatewayRecipient extends BaseContract { removeListener: OnEvent; functions: { + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + gateway(overrides?: CallOverrides): Promise<[string]>; }; + c_d18be0f9(c__d18be0f9: BytesLike, overrides?: CallOverrides): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + gateway(overrides?: CallOverrides): Promise; callStatic: { + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + gateway(overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + gateway(overrides?: CallOverrides): Promise; }; populateTransaction: { + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + gateway(overrides?: CallOverrides): Promise; }; } diff --git a/typings/GatewayRecipientMock.ts b/typings/GatewayRecipientMock.ts index f0187156..da60d29d 100644 --- a/typings/GatewayRecipientMock.ts +++ b/typings/GatewayRecipientMock.ts @@ -18,16 +18,64 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface GatewayRecipientMockInterface extends utils.Interface { functions: { + "c_d18be0f9(bytes8)": FunctionFragment; + "c_e67bae8c(bytes8)": FunctionFragment; + "c_falsed18be0f9(bytes8)": FunctionFragment; + "c_falsee67bae8c(bytes8)": FunctionFragment; + "c_trued18be0f9(bytes8)": FunctionFragment; + "c_truee67bae8c(bytes8)": FunctionFragment; "emitContext()": FunctionFragment; "gateway()": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_d18be0f9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_e67bae8c", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsed18be0f9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsee67bae8c", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_trued18be0f9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_truee67bae8c", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "emitContext", values?: undefined ): string; encodeFunctionData(functionFragment: "gateway", values?: undefined): string; + decodeFunctionResult(functionFragment: "c_d18be0f9", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_e67bae8c", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_falsed18be0f9", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_falsee67bae8c", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_trued18be0f9", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_truee67bae8c", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "emitContext", data: BytesLike @@ -75,6 +123,36 @@ export interface GatewayRecipientMock extends BaseContract { removeListener: OnEvent; functions: { + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_e67bae8c( + c__e67bae8c: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_falsee67bae8c( + c__e67bae8c: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_truee67bae8c( + c__e67bae8c: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + emitContext( overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -82,6 +160,30 @@ export interface GatewayRecipientMock extends BaseContract { gateway(overrides?: CallOverrides): Promise<[string]>; }; + c_d18be0f9(c__d18be0f9: BytesLike, overrides?: CallOverrides): Promise; + + c_e67bae8c(c__e67bae8c: BytesLike, overrides?: CallOverrides): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsee67bae8c( + c__e67bae8c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truee67bae8c( + c__e67bae8c: BytesLike, + overrides?: CallOverrides + ): Promise; + emitContext( overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -89,6 +191,36 @@ export interface GatewayRecipientMock extends BaseContract { gateway(overrides?: CallOverrides): Promise; callStatic: { + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_e67bae8c( + c__e67bae8c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsee67bae8c( + c__e67bae8c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truee67bae8c( + c__e67bae8c: BytesLike, + overrides?: CallOverrides + ): Promise; + emitContext(overrides?: CallOverrides): Promise; gateway(overrides?: CallOverrides): Promise; @@ -104,6 +236,36 @@ export interface GatewayRecipientMock extends BaseContract { }; estimateGas: { + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_e67bae8c( + c__e67bae8c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsee67bae8c( + c__e67bae8c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truee67bae8c( + c__e67bae8c: BytesLike, + overrides?: CallOverrides + ): Promise; + emitContext( overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -112,6 +274,36 @@ export interface GatewayRecipientMock extends BaseContract { }; populateTransaction: { + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_e67bae8c( + c__e67bae8c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsee67bae8c( + c__e67bae8c: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truee67bae8c( + c__e67bae8c: BytesLike, + overrides?: CallOverrides + ): Promise; + emitContext( overrides?: Overrides & { from?: string | Promise } ): Promise; diff --git a/typings/GatewayV2.ts b/typings/GatewayV2.ts index 4fcc47c8..029590eb 100644 --- a/typings/GatewayV2.ts +++ b/typings/GatewayV2.ts @@ -56,6 +56,18 @@ export type DelegatedBatchWithGasPriceStructOutput = [ export interface GatewayV2Interface extends utils.Interface { functions: { "addGuardian(address)": FunctionFragment; + "c_098c0657(bytes8)": FunctionFragment; + "c_0b6945c4(bytes8)": FunctionFragment; + "c_33f6a84f(bytes8)": FunctionFragment; + "c_52615ca8(bytes8)": FunctionFragment; + "c_false098c0657(bytes8)": FunctionFragment; + "c_false0b6945c4(bytes8)": FunctionFragment; + "c_false33f6a84f(bytes8)": FunctionFragment; + "c_false52615ca8(bytes8)": FunctionFragment; + "c_true098c0657(bytes8)": FunctionFragment; + "c_true0b6945c4(bytes8)": FunctionFragment; + "c_true33f6a84f(bytes8)": FunctionFragment; + "c_true52615ca8(bytes8)": FunctionFragment; "chainId()": FunctionFragment; "delegateBatch(address,uint256,address[],bytes[],bytes)": FunctionFragment; "delegateBatchGuarded(address,uint256,address[],bytes[],bytes)": FunctionFragment; @@ -80,6 +92,54 @@ export interface GatewayV2Interface extends utils.Interface { }; encodeFunctionData(functionFragment: "addGuardian", values: [string]): string; + encodeFunctionData( + functionFragment: "c_098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_0b6945c4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_33f6a84f", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_52615ca8", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false0b6945c4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false33f6a84f", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false52615ca8", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true0b6945c4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true33f6a84f", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true52615ca8", + values: [BytesLike] + ): string; encodeFunctionData(functionFragment: "chainId", values?: undefined): string; encodeFunctionData( functionFragment: "delegateBatch", @@ -163,6 +223,42 @@ export interface GatewayV2Interface extends utils.Interface { functionFragment: "addGuardian", data: BytesLike ): Result; + decodeFunctionResult(functionFragment: "c_098c0657", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_0b6945c4", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_33f6a84f", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_52615ca8", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false0b6945c4", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false33f6a84f", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false52615ca8", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true0b6945c4", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true33f6a84f", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true52615ca8", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "chainId", data: BytesLike): Result; decodeFunctionResult( functionFragment: "delegateBatch", @@ -306,6 +402,66 @@ export interface GatewayV2 extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_33f6a84f( + c__33f6a84f: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false33f6a84f( + c__33f6a84f: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true33f6a84f( + c__33f6a84f: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + chainId(overrides?: CallOverrides): Promise<[BigNumber]>; delegateBatch( @@ -428,6 +584,54 @@ export interface GatewayV2 extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_098c0657(c__098c0657: BytesLike, overrides?: CallOverrides): Promise; + + c_0b6945c4(c__0b6945c4: BytesLike, overrides?: CallOverrides): Promise; + + c_33f6a84f(c__33f6a84f: BytesLike, overrides?: CallOverrides): Promise; + + c_52615ca8(c__52615ca8: BytesLike, overrides?: CallOverrides): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false33f6a84f( + c__33f6a84f: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true33f6a84f( + c__33f6a84f: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; delegateBatch( @@ -547,6 +751,66 @@ export interface GatewayV2 extends BaseContract { callStatic: { addGuardian(guardian: string, overrides?: CallOverrides): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_33f6a84f( + c__33f6a84f: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false33f6a84f( + c__33f6a84f: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true33f6a84f( + c__33f6a84f: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; delegateBatch( @@ -695,6 +959,66 @@ export interface GatewayV2 extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_33f6a84f( + c__33f6a84f: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false33f6a84f( + c__33f6a84f: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true33f6a84f( + c__33f6a84f: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; delegateBatch( @@ -818,6 +1142,66 @@ export interface GatewayV2 extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_33f6a84f( + c__33f6a84f: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false33f6a84f( + c__33f6a84f: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true33f6a84f( + c__33f6a84f: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; delegateBatch( diff --git a/typings/Guarded.ts b/typings/Guarded.ts index 18edd801..60f49cc9 100644 --- a/typings/Guarded.ts +++ b/typings/Guarded.ts @@ -19,12 +19,27 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface GuardedInterface extends utils.Interface { functions: { "addGuardian(address)": FunctionFragment; + "c_0b6945c4(bytes8)": FunctionFragment; + "c_false0b6945c4(bytes8)": FunctionFragment; + "c_true0b6945c4(bytes8)": FunctionFragment; "isGuardian(address)": FunctionFragment; "removeGuardian(address)": FunctionFragment; "verifyGuardianSignature(bytes32,bytes)": FunctionFragment; }; encodeFunctionData(functionFragment: "addGuardian", values: [string]): string; + encodeFunctionData( + functionFragment: "c_0b6945c4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false0b6945c4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true0b6945c4", + values: [BytesLike] + ): string; encodeFunctionData(functionFragment: "isGuardian", values: [string]): string; encodeFunctionData( functionFragment: "removeGuardian", @@ -39,6 +54,15 @@ export interface GuardedInterface extends utils.Interface { functionFragment: "addGuardian", data: BytesLike ): Result; + decodeFunctionResult(functionFragment: "c_0b6945c4", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false0b6945c4", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true0b6945c4", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "isGuardian", data: BytesLike): Result; decodeFunctionResult( functionFragment: "removeGuardian", @@ -104,6 +128,21 @@ export interface Guarded extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + isGuardian(guardian: string, overrides?: CallOverrides): Promise<[boolean]>; removeGuardian( @@ -123,6 +162,18 @@ export interface Guarded extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_0b6945c4(c__0b6945c4: BytesLike, overrides?: CallOverrides): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + isGuardian(guardian: string, overrides?: CallOverrides): Promise; removeGuardian( @@ -139,6 +190,21 @@ export interface Guarded extends BaseContract { callStatic: { addGuardian(guardian: string, overrides?: CallOverrides): Promise; + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + isGuardian(guardian: string, overrides?: CallOverrides): Promise; removeGuardian(guardian: string, overrides?: CallOverrides): Promise; @@ -170,6 +236,21 @@ export interface Guarded extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + isGuardian(guardian: string, overrides?: CallOverrides): Promise; removeGuardian( @@ -190,6 +271,21 @@ export interface Guarded extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + isGuardian( guardian: string, overrides?: CallOverrides diff --git a/typings/GuardedMock.ts b/typings/GuardedMock.ts index 0f46f665..546d18b8 100644 --- a/typings/GuardedMock.ts +++ b/typings/GuardedMock.ts @@ -19,12 +19,42 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface GuardedMockInterface extends utils.Interface { functions: { "addGuardian(address)": FunctionFragment; + "c_0b6945c4(bytes8)": FunctionFragment; + "c_d64e18df(bytes8)": FunctionFragment; + "c_false0b6945c4(bytes8)": FunctionFragment; + "c_falsed64e18df(bytes8)": FunctionFragment; + "c_true0b6945c4(bytes8)": FunctionFragment; + "c_trued64e18df(bytes8)": FunctionFragment; "isGuardian(address)": FunctionFragment; "removeGuardian(address)": FunctionFragment; "verifyGuardianSignature(bytes32,bytes)": FunctionFragment; }; encodeFunctionData(functionFragment: "addGuardian", values: [string]): string; + encodeFunctionData( + functionFragment: "c_0b6945c4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_d64e18df", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false0b6945c4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsed64e18df", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true0b6945c4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_trued64e18df", + values: [BytesLike] + ): string; encodeFunctionData(functionFragment: "isGuardian", values: [string]): string; encodeFunctionData( functionFragment: "removeGuardian", @@ -39,6 +69,24 @@ export interface GuardedMockInterface extends utils.Interface { functionFragment: "addGuardian", data: BytesLike ): Result; + decodeFunctionResult(functionFragment: "c_0b6945c4", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_d64e18df", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false0b6945c4", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_falsed64e18df", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true0b6945c4", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_trued64e18df", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "isGuardian", data: BytesLike): Result; decodeFunctionResult( functionFragment: "removeGuardian", @@ -104,6 +152,36 @@ export interface GuardedMock extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_d64e18df( + c__d64e18df: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_falsed64e18df( + c__d64e18df: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_trued64e18df( + c__d64e18df: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + isGuardian(guardian: string, overrides?: CallOverrides): Promise<[boolean]>; removeGuardian( @@ -123,6 +201,30 @@ export interface GuardedMock extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_0b6945c4(c__0b6945c4: BytesLike, overrides?: CallOverrides): Promise; + + c_d64e18df(c__d64e18df: BytesLike, overrides?: CallOverrides): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed64e18df( + c__d64e18df: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued64e18df( + c__d64e18df: BytesLike, + overrides?: CallOverrides + ): Promise; + isGuardian(guardian: string, overrides?: CallOverrides): Promise; removeGuardian( @@ -139,6 +241,36 @@ export interface GuardedMock extends BaseContract { callStatic: { addGuardian(guardian: string, overrides?: CallOverrides): Promise; + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_d64e18df( + c__d64e18df: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed64e18df( + c__d64e18df: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued64e18df( + c__d64e18df: BytesLike, + overrides?: CallOverrides + ): Promise; + isGuardian(guardian: string, overrides?: CallOverrides): Promise; removeGuardian(guardian: string, overrides?: CallOverrides): Promise; @@ -170,6 +302,36 @@ export interface GuardedMock extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_d64e18df( + c__d64e18df: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed64e18df( + c__d64e18df: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued64e18df( + c__d64e18df: BytesLike, + overrides?: CallOverrides + ): Promise; + isGuardian(guardian: string, overrides?: CallOverrides): Promise; removeGuardian( @@ -190,6 +352,36 @@ export interface GuardedMock extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_d64e18df( + c__d64e18df: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed64e18df( + c__d64e18df: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued64e18df( + c__d64e18df: BytesLike, + overrides?: CallOverrides + ): Promise; + isGuardian( guardian: string, overrides?: CallOverrides diff --git a/typings/HopFacet.ts b/typings/HopFacet.ts index 2287fe21..7767be22 100644 --- a/typings/HopFacet.ts +++ b/typings/HopFacet.ts @@ -60,10 +60,40 @@ export type HopDataStructOutput = [ export interface HopFacetInterface extends utils.Interface { functions: { + "c_9296fc39(bytes8)": FunctionFragment; + "c_99127806(bytes8)": FunctionFragment; + "c_false9296fc39(bytes8)": FunctionFragment; + "c_false99127806(bytes8)": FunctionFragment; + "c_true9296fc39(bytes8)": FunctionFragment; + "c_true99127806(bytes8)": FunctionFragment; "hopTokenTransfer((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": FunctionFragment; "initHop(uint256)": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_9296fc39", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_99127806", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false9296fc39", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false99127806", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true9296fc39", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true99127806", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "hopTokenTransfer", values: [HopDataStruct] @@ -73,6 +103,24 @@ export interface HopFacetInterface extends utils.Interface { values: [BigNumberish] ): string; + decodeFunctionResult(functionFragment: "c_9296fc39", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_99127806", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false9296fc39", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false99127806", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true9296fc39", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true99127806", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "hopTokenTransfer", data: BytesLike @@ -153,6 +201,36 @@ export interface HopFacet extends BaseContract { removeListener: OnEvent; functions: { + c_9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_99127806( + c__99127806: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false99127806( + c__99127806: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true99127806( + c__99127806: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + hopTokenTransfer( _hopData: HopDataStruct, overrides?: PayableOverrides & { from?: string | Promise } @@ -164,6 +242,30 @@ export interface HopFacet extends BaseContract { ): Promise; }; + c_9296fc39(c__9296fc39: BytesLike, overrides?: CallOverrides): Promise; + + c_99127806(c__99127806: BytesLike, overrides?: CallOverrides): Promise; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false99127806( + c__99127806: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true99127806( + c__99127806: BytesLike, + overrides?: CallOverrides + ): Promise; + hopTokenTransfer( _hopData: HopDataStruct, overrides?: PayableOverrides & { from?: string | Promise } @@ -175,6 +277,36 @@ export interface HopFacet extends BaseContract { ): Promise; callStatic: { + c_9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_99127806( + c__99127806: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false99127806( + c__99127806: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true99127806( + c__99127806: BytesLike, + overrides?: CallOverrides + ): Promise; + hopTokenTransfer( _hopData: HopDataStruct, overrides?: CallOverrides @@ -225,6 +357,36 @@ export interface HopFacet extends BaseContract { }; estimateGas: { + c_9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_99127806( + c__99127806: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false99127806( + c__99127806: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true99127806( + c__99127806: BytesLike, + overrides?: CallOverrides + ): Promise; + hopTokenTransfer( _hopData: HopDataStruct, overrides?: PayableOverrides & { from?: string | Promise } @@ -237,6 +399,36 @@ export interface HopFacet extends BaseContract { }; populateTransaction: { + c_9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_99127806( + c__99127806: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false99127806( + c__99127806: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true99127806( + c__99127806: BytesLike, + overrides?: CallOverrides + ): Promise; + hopTokenTransfer( _hopData: HopDataStruct, overrides?: PayableOverrides & { from?: string | Promise } diff --git a/typings/Initializable.ts b/typings/Initializable.ts index 6ba62acb..38856f57 100644 --- a/typings/Initializable.ts +++ b/typings/Initializable.ts @@ -16,14 +16,38 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface InitializableInterface extends utils.Interface { functions: { + "c_098c0657(bytes8)": FunctionFragment; + "c_false098c0657(bytes8)": FunctionFragment; + "c_true098c0657(bytes8)": FunctionFragment; "isInitialized()": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true098c0657", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "isInitialized", values?: undefined ): string; + decodeFunctionResult(functionFragment: "c_098c0657", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true098c0657", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "isInitialized", data: BytesLike @@ -67,12 +91,54 @@ export interface Initializable extends BaseContract { removeListener: OnEvent; functions: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + isInitialized(overrides?: CallOverrides): Promise<[boolean]>; }; + c_098c0657(c__098c0657: BytesLike, overrides?: CallOverrides): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + isInitialized(overrides?: CallOverrides): Promise; callStatic: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + isInitialized(overrides?: CallOverrides): Promise; }; @@ -82,10 +148,40 @@ export interface Initializable extends BaseContract { }; estimateGas: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + isInitialized(overrides?: CallOverrides): Promise; }; populateTransaction: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + isInitialized(overrides?: CallOverrides): Promise; }; } diff --git a/typings/LibAsset.ts b/typings/LibAsset.ts index 86d58559..aee6ca79 100644 --- a/typings/LibAsset.ts +++ b/typings/LibAsset.ts @@ -16,31 +16,31 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface LibAssetInterface extends utils.Interface { functions: { - "c_4e3cd818(bytes8)": FunctionFragment; - "c_false4e3cd818(bytes8)": FunctionFragment; - "c_true4e3cd818(bytes8)": FunctionFragment; + "c_724619c6(bytes8)": FunctionFragment; + "c_false724619c6(bytes8)": FunctionFragment; + "c_true724619c6(bytes8)": FunctionFragment; }; encodeFunctionData( - functionFragment: "c_4e3cd818", + functionFragment: "c_724619c6", values: [BytesLike] ): string; encodeFunctionData( - functionFragment: "c_false4e3cd818", + functionFragment: "c_false724619c6", values: [BytesLike] ): string; encodeFunctionData( - functionFragment: "c_true4e3cd818", + functionFragment: "c_true724619c6", values: [BytesLike] ): string; - decodeFunctionResult(functionFragment: "c_4e3cd818", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_724619c6", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "c_false4e3cd818", + functionFragment: "c_false724619c6", data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "c_true4e3cd818", + functionFragment: "c_true724619c6", data: BytesLike ): Result; @@ -74,47 +74,47 @@ export interface LibAsset extends BaseContract { removeListener: OnEvent; functions: { - c_4e3cd818( - c__4e3cd818: BytesLike, + c_724619c6( + c__724619c6: BytesLike, overrides?: CallOverrides ): Promise<[void]>; - c_false4e3cd818( - c__4e3cd818: BytesLike, + c_false724619c6( + c__724619c6: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; - c_true4e3cd818( - c__4e3cd818: BytesLike, + c_true724619c6( + c__724619c6: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; }; - c_4e3cd818(c__4e3cd818: BytesLike, overrides?: CallOverrides): Promise; + c_724619c6(c__724619c6: BytesLike, overrides?: CallOverrides): Promise; - c_false4e3cd818( - c__4e3cd818: BytesLike, + c_false724619c6( + c__724619c6: BytesLike, overrides?: CallOverrides ): Promise; - c_true4e3cd818( - c__4e3cd818: BytesLike, + c_true724619c6( + c__724619c6: BytesLike, overrides?: CallOverrides ): Promise; callStatic: { - c_4e3cd818( - c__4e3cd818: BytesLike, + c_724619c6( + c__724619c6: BytesLike, overrides?: CallOverrides ): Promise; - c_false4e3cd818( - c__4e3cd818: BytesLike, + c_false724619c6( + c__724619c6: BytesLike, overrides?: CallOverrides ): Promise; - c_true4e3cd818( - c__4e3cd818: BytesLike, + c_true724619c6( + c__724619c6: BytesLike, overrides?: CallOverrides ): Promise; }; @@ -122,35 +122,35 @@ export interface LibAsset extends BaseContract { filters: {}; estimateGas: { - c_4e3cd818( - c__4e3cd818: BytesLike, + c_724619c6( + c__724619c6: BytesLike, overrides?: CallOverrides ): Promise; - c_false4e3cd818( - c__4e3cd818: BytesLike, + c_false724619c6( + c__724619c6: BytesLike, overrides?: CallOverrides ): Promise; - c_true4e3cd818( - c__4e3cd818: BytesLike, + c_true724619c6( + c__724619c6: BytesLike, overrides?: CallOverrides ): Promise; }; populateTransaction: { - c_4e3cd818( - c__4e3cd818: BytesLike, + c_724619c6( + c__724619c6: BytesLike, overrides?: CallOverrides ): Promise; - c_false4e3cd818( - c__4e3cd818: BytesLike, + c_false724619c6( + c__724619c6: BytesLike, overrides?: CallOverrides ): Promise; - c_true4e3cd818( - c__4e3cd818: BytesLike, + c_true724619c6( + c__724619c6: BytesLike, overrides?: CallOverrides ): Promise; }; diff --git a/typings/LibDiamond.ts b/typings/LibDiamond.ts index 6a96e32d..245fba9f 100644 --- a/typings/LibDiamond.ts +++ b/typings/LibDiamond.ts @@ -1,8 +1,17 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import { BaseContract, BigNumberish, BytesLike, Signer, utils } from "ethers"; -import { EventFragment } from "@ethersproject/abi"; +import { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; @@ -19,7 +28,34 @@ export type FacetCutStructOutput = [string, number, string[]] & { }; export interface LibDiamondInterface extends utils.Interface { - functions: {}; + functions: { + "c_f9a76502(bytes8)": FunctionFragment; + "c_falsef9a76502(bytes8)": FunctionFragment; + "c_truef9a76502(bytes8)": FunctionFragment; + }; + + encodeFunctionData( + functionFragment: "c_f9a76502", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsef9a76502", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_truef9a76502", + values: [BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "c_f9a76502", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_falsef9a76502", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_truef9a76502", + data: BytesLike + ): Result; events: { "DiamondCut(tuple[],address,bytes)": EventFragment; @@ -71,9 +107,51 @@ export interface LibDiamond extends BaseContract { once: OnEvent; removeListener: OnEvent; - functions: {}; + functions: { + c_f9a76502( + c__f9a76502: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_falsef9a76502( + c__f9a76502: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_truef9a76502( + c__f9a76502: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; - callStatic: {}; + c_f9a76502(c__f9a76502: BytesLike, overrides?: CallOverrides): Promise; + + c_falsef9a76502( + c__f9a76502: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef9a76502( + c__f9a76502: BytesLike, + overrides?: CallOverrides + ): Promise; + + callStatic: { + c_f9a76502( + c__f9a76502: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef9a76502( + c__f9a76502: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef9a76502( + c__f9a76502: BytesLike, + overrides?: CallOverrides + ): Promise; + }; filters: { "DiamondCut(tuple[],address,bytes)"( @@ -97,7 +175,37 @@ export interface LibDiamond extends BaseContract { ): OwnershipTransferredEventFilter; }; - estimateGas: {}; + estimateGas: { + c_f9a76502( + c__f9a76502: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef9a76502( + c__f9a76502: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef9a76502( + c__f9a76502: BytesLike, + overrides?: CallOverrides + ): Promise; + }; - populateTransaction: {}; + populateTransaction: { + c_f9a76502( + c__f9a76502: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsef9a76502( + c__f9a76502: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truef9a76502( + c__f9a76502: BytesLike, + overrides?: CallOverrides + ): Promise; + }; } diff --git a/typings/OwnershipFacet.ts b/typings/OwnershipFacet.ts index 0920c0f4..1893f462 100644 --- a/typings/OwnershipFacet.ts +++ b/typings/OwnershipFacet.ts @@ -18,16 +18,40 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface OwnershipFacetInterface extends utils.Interface { functions: { + "c_2f222e9f(bytes8)": FunctionFragment; + "c_false2f222e9f(bytes8)": FunctionFragment; + "c_true2f222e9f(bytes8)": FunctionFragment; "owner()": FunctionFragment; "transferOwnership(address)": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_2f222e9f", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false2f222e9f", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true2f222e9f", + values: [BytesLike] + ): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData( functionFragment: "transferOwnership", values: [string] ): string; + decodeFunctionResult(functionFragment: "c_2f222e9f", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false2f222e9f", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true2f222e9f", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult( functionFragment: "transferOwnership", @@ -64,6 +88,21 @@ export interface OwnershipFacet extends BaseContract { removeListener: OnEvent; functions: { + c_2f222e9f( + c__2f222e9f: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false2f222e9f( + c__2f222e9f: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true2f222e9f( + c__2f222e9f: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + owner(overrides?: CallOverrides): Promise<[string] & { owner_: string }>; transferOwnership( @@ -72,6 +111,18 @@ export interface OwnershipFacet extends BaseContract { ): Promise; }; + c_2f222e9f(c__2f222e9f: BytesLike, overrides?: CallOverrides): Promise; + + c_false2f222e9f( + c__2f222e9f: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true2f222e9f( + c__2f222e9f: BytesLike, + overrides?: CallOverrides + ): Promise; + owner(overrides?: CallOverrides): Promise; transferOwnership( @@ -80,6 +131,21 @@ export interface OwnershipFacet extends BaseContract { ): Promise; callStatic: { + c_2f222e9f( + c__2f222e9f: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false2f222e9f( + c__2f222e9f: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true2f222e9f( + c__2f222e9f: BytesLike, + overrides?: CallOverrides + ): Promise; + owner(overrides?: CallOverrides): Promise; transferOwnership( @@ -91,6 +157,21 @@ export interface OwnershipFacet extends BaseContract { filters: {}; estimateGas: { + c_2f222e9f( + c__2f222e9f: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false2f222e9f( + c__2f222e9f: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true2f222e9f( + c__2f222e9f: BytesLike, + overrides?: CallOverrides + ): Promise; + owner(overrides?: CallOverrides): Promise; transferOwnership( @@ -100,6 +181,21 @@ export interface OwnershipFacet extends BaseContract { }; populateTransaction: { + c_2f222e9f( + c__2f222e9f: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false2f222e9f( + c__2f222e9f: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true2f222e9f( + c__2f222e9f: BytesLike, + overrides?: CallOverrides + ): Promise; + owner(overrides?: CallOverrides): Promise; transferOwnership( diff --git a/typings/PaymentDepositAccount.ts b/typings/PaymentDepositAccount.ts index 4b7a64db..3f14e33c 100644 --- a/typings/PaymentDepositAccount.ts +++ b/typings/PaymentDepositAccount.ts @@ -19,10 +19,40 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface PaymentDepositAccountInterface extends utils.Interface { functions: { + "c_495bfa8b(bytes8)": FunctionFragment; + "c_90f8af33(bytes8)": FunctionFragment; + "c_false495bfa8b(bytes8)": FunctionFragment; + "c_false90f8af33(bytes8)": FunctionFragment; + "c_true495bfa8b(bytes8)": FunctionFragment; + "c_true90f8af33(bytes8)": FunctionFragment; "controller()": FunctionFragment; "executeTransaction(address,uint256,bytes)": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_495bfa8b", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_90f8af33", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false495bfa8b", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false90f8af33", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true495bfa8b", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true90f8af33", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "controller", values?: undefined @@ -32,6 +62,24 @@ export interface PaymentDepositAccountInterface extends utils.Interface { values: [string, BigNumberish, BytesLike] ): string; + decodeFunctionResult(functionFragment: "c_495bfa8b", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_90f8af33", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false495bfa8b", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false90f8af33", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true495bfa8b", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true90f8af33", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "controller", data: BytesLike): Result; decodeFunctionResult( functionFragment: "executeTransaction", @@ -68,6 +116,36 @@ export interface PaymentDepositAccount extends BaseContract { removeListener: OnEvent; functions: { + c_495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_90f8af33( + c__90f8af33: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false90f8af33( + c__90f8af33: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true90f8af33( + c__90f8af33: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + controller(overrides?: CallOverrides): Promise<[string]>; executeTransaction( @@ -78,6 +156,30 @@ export interface PaymentDepositAccount extends BaseContract { ): Promise; }; + c_495bfa8b(c__495bfa8b: BytesLike, overrides?: CallOverrides): Promise; + + c_90f8af33(c__90f8af33: BytesLike, overrides?: CallOverrides): Promise; + + c_false495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false90f8af33( + c__90f8af33: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true90f8af33( + c__90f8af33: BytesLike, + overrides?: CallOverrides + ): Promise; + controller(overrides?: CallOverrides): Promise; executeTransaction( @@ -88,6 +190,36 @@ export interface PaymentDepositAccount extends BaseContract { ): Promise; callStatic: { + c_495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_90f8af33( + c__90f8af33: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false90f8af33( + c__90f8af33: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true90f8af33( + c__90f8af33: BytesLike, + overrides?: CallOverrides + ): Promise; + controller(overrides?: CallOverrides): Promise; executeTransaction( @@ -101,6 +233,36 @@ export interface PaymentDepositAccount extends BaseContract { filters: {}; estimateGas: { + c_495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_90f8af33( + c__90f8af33: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false90f8af33( + c__90f8af33: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true90f8af33( + c__90f8af33: BytesLike, + overrides?: CallOverrides + ): Promise; + controller(overrides?: CallOverrides): Promise; executeTransaction( @@ -112,6 +274,36 @@ export interface PaymentDepositAccount extends BaseContract { }; populateTransaction: { + c_495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_90f8af33( + c__90f8af33: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false90f8af33( + c__90f8af33: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true495bfa8b( + c__495bfa8b: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true90f8af33( + c__90f8af33: BytesLike, + overrides?: CallOverrides + ): Promise; + controller(overrides?: CallOverrides): Promise; executeTransaction( diff --git a/typings/PaymentRegistry.ts b/typings/PaymentRegistry.ts index 01bc8fda..174876cd 100644 --- a/typings/PaymentRegistry.ts +++ b/typings/PaymentRegistry.ts @@ -57,6 +57,21 @@ export type PaymentChannelCommitStructOutput = [ export interface PaymentRegistryInterface extends utils.Interface { functions: { "addGuardian(address)": FunctionFragment; + "c_098c0657(bytes8)": FunctionFragment; + "c_0b6945c4(bytes8)": FunctionFragment; + "c_52615ca8(bytes8)": FunctionFragment; + "c_d18be0f9(bytes8)": FunctionFragment; + "c_e6f7a58d(bytes8)": FunctionFragment; + "c_false098c0657(bytes8)": FunctionFragment; + "c_false0b6945c4(bytes8)": FunctionFragment; + "c_false52615ca8(bytes8)": FunctionFragment; + "c_falsed18be0f9(bytes8)": FunctionFragment; + "c_falsee6f7a58d(bytes8)": FunctionFragment; + "c_true098c0657(bytes8)": FunctionFragment; + "c_true0b6945c4(bytes8)": FunctionFragment; + "c_true52615ca8(bytes8)": FunctionFragment; + "c_trued18be0f9(bytes8)": FunctionFragment; + "c_truee6f7a58d(bytes8)": FunctionFragment; "chainId()": FunctionFragment; "commitPaymentChannelAndDeposit(address,address,bytes32,uint256,uint256,bytes,bytes)": FunctionFragment; "commitPaymentChannelAndSplit(address,address,bytes32,uint256,uint256,uint256,bytes,bytes)": FunctionFragment; @@ -85,6 +100,66 @@ export interface PaymentRegistryInterface extends utils.Interface { }; encodeFunctionData(functionFragment: "addGuardian", values: [string]): string; + encodeFunctionData( + functionFragment: "c_098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_0b6945c4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_52615ca8", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_d18be0f9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_e6f7a58d", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false0b6945c4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false52615ca8", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsed18be0f9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsee6f7a58d", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true0b6945c4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true52615ca8", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_trued18be0f9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_truee6f7a58d", + values: [BytesLike] + ): string; encodeFunctionData(functionFragment: "chainId", values?: undefined): string; encodeFunctionData( functionFragment: "commitPaymentChannelAndDeposit", @@ -206,6 +281,51 @@ export interface PaymentRegistryInterface extends utils.Interface { functionFragment: "addGuardian", data: BytesLike ): Result; + decodeFunctionResult(functionFragment: "c_098c0657", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_0b6945c4", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_52615ca8", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_d18be0f9", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_e6f7a58d", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false0b6945c4", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false52615ca8", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_falsed18be0f9", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_falsee6f7a58d", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true0b6945c4", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true52615ca8", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_trued18be0f9", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_truee6f7a58d", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "chainId", data: BytesLike): Result; decodeFunctionResult( functionFragment: "commitPaymentChannelAndDeposit", @@ -457,6 +577,81 @@ export interface PaymentRegistry extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_e6f7a58d( + c__e6f7a58d: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_falsee6f7a58d( + c__e6f7a58d: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_truee6f7a58d( + c__e6f7a58d: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + chainId(overrides?: CallOverrides): Promise<[BigNumber]>; commitPaymentChannelAndDeposit( @@ -598,6 +793,66 @@ export interface PaymentRegistry extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_098c0657(c__098c0657: BytesLike, overrides?: CallOverrides): Promise; + + c_0b6945c4(c__0b6945c4: BytesLike, overrides?: CallOverrides): Promise; + + c_52615ca8(c__52615ca8: BytesLike, overrides?: CallOverrides): Promise; + + c_d18be0f9(c__d18be0f9: BytesLike, overrides?: CallOverrides): Promise; + + c_e6f7a58d(c__e6f7a58d: BytesLike, overrides?: CallOverrides): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsee6f7a58d( + c__e6f7a58d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truee6f7a58d( + c__e6f7a58d: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; commitPaymentChannelAndDeposit( @@ -736,6 +991,81 @@ export interface PaymentRegistry extends BaseContract { callStatic: { addGuardian(guardian: string, overrides?: CallOverrides): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_e6f7a58d( + c__e6f7a58d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsee6f7a58d( + c__e6f7a58d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truee6f7a58d( + c__e6f7a58d: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; commitPaymentChannelAndDeposit( @@ -991,6 +1321,81 @@ export interface PaymentRegistry extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_e6f7a58d( + c__e6f7a58d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsee6f7a58d( + c__e6f7a58d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truee6f7a58d( + c__e6f7a58d: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; commitPaymentChannelAndDeposit( @@ -1133,6 +1538,81 @@ export interface PaymentRegistry extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_e6f7a58d( + c__e6f7a58d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsee6f7a58d( + c__e6f7a58d: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truee6f7a58d( + c__e6f7a58d: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; commitPaymentChannelAndDeposit( diff --git a/typings/PersonalAccountImplementationV1.ts b/typings/PersonalAccountImplementationV1.ts index f72cf449..5fcb76ed 100644 --- a/typings/PersonalAccountImplementationV1.ts +++ b/typings/PersonalAccountImplementationV1.ts @@ -20,6 +20,18 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface PersonalAccountImplementationV1Interface extends utils.Interface { functions: { + "c_098c0657(bytes8)": FunctionFragment; + "c_28344ffb(bytes8)": FunctionFragment; + "c_2860b96a(bytes8)": FunctionFragment; + "c_4467154e(bytes8)": FunctionFragment; + "c_false098c0657(bytes8)": FunctionFragment; + "c_false28344ffb(bytes8)": FunctionFragment; + "c_false2860b96a(bytes8)": FunctionFragment; + "c_false4467154e(bytes8)": FunctionFragment; + "c_true098c0657(bytes8)": FunctionFragment; + "c_true28344ffb(bytes8)": FunctionFragment; + "c_true2860b96a(bytes8)": FunctionFragment; + "c_true4467154e(bytes8)": FunctionFragment; "canImplementInterfaceForAddress(bytes32,address)": FunctionFragment; "initialize(address)": FunctionFragment; "isInitialized()": FunctionFragment; @@ -30,6 +42,54 @@ export interface PersonalAccountImplementationV1Interface "tokensReceived(address,address,address,uint256,bytes,bytes)": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_28344ffb", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_2860b96a", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_4467154e", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false28344ffb", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false2860b96a", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false4467154e", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true28344ffb", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true2860b96a", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true4467154e", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "canImplementInterfaceForAddress", values: [BytesLike, string] @@ -57,6 +117,42 @@ export interface PersonalAccountImplementationV1Interface values: [string, string, string, BigNumberish, BytesLike, BytesLike] ): string; + decodeFunctionResult(functionFragment: "c_098c0657", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_28344ffb", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_2860b96a", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_4467154e", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false28344ffb", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false2860b96a", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false4467154e", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true28344ffb", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true2860b96a", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true4467154e", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "canImplementInterfaceForAddress", data: BytesLike @@ -122,6 +218,66 @@ export interface PersonalAccountImplementationV1 extends BaseContract { removeListener: OnEvent; functions: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_4467154e( + c__4467154e: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false4467154e( + c__4467154e: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true4467154e( + c__4467154e: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + canImplementInterfaceForAddress( interfaceHash: BytesLike, addr: string, @@ -177,6 +333,54 @@ export interface PersonalAccountImplementationV1 extends BaseContract { ): Promise<[void]>; }; + c_098c0657(c__098c0657: BytesLike, overrides?: CallOverrides): Promise; + + c_28344ffb(c__28344ffb: BytesLike, overrides?: CallOverrides): Promise; + + c_2860b96a(c__2860b96a: BytesLike, overrides?: CallOverrides): Promise; + + c_4467154e(c__4467154e: BytesLike, overrides?: CallOverrides): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false4467154e( + c__4467154e: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true4467154e( + c__4467154e: BytesLike, + overrides?: CallOverrides + ): Promise; + canImplementInterfaceForAddress( interfaceHash: BytesLike, addr: string, @@ -232,6 +436,66 @@ export interface PersonalAccountImplementationV1 extends BaseContract { ): Promise; callStatic: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_4467154e( + c__4467154e: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false4467154e( + c__4467154e: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true4467154e( + c__4467154e: BytesLike, + overrides?: CallOverrides + ): Promise; + canImplementInterfaceForAddress( interfaceHash: BytesLike, addr: string, @@ -290,6 +554,66 @@ export interface PersonalAccountImplementationV1 extends BaseContract { }; estimateGas: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_4467154e( + c__4467154e: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false4467154e( + c__4467154e: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true4467154e( + c__4467154e: BytesLike, + overrides?: CallOverrides + ): Promise; + canImplementInterfaceForAddress( interfaceHash: BytesLike, addr: string, @@ -346,6 +670,66 @@ export interface PersonalAccountImplementationV1 extends BaseContract { }; populateTransaction: { + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_4467154e( + c__4467154e: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false4467154e( + c__4467154e: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true28344ffb( + c__28344ffb: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true2860b96a( + c__2860b96a: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true4467154e( + c__4467154e: BytesLike, + overrides?: CallOverrides + ): Promise; + canImplementInterfaceForAddress( interfaceHash: BytesLike, addr: string, diff --git a/typings/PersonalAccountRegistry.ts b/typings/PersonalAccountRegistry.ts index 3052ea7c..332140bb 100644 --- a/typings/PersonalAccountRegistry.ts +++ b/typings/PersonalAccountRegistry.ts @@ -23,6 +23,24 @@ export interface PersonalAccountRegistryInterface extends utils.Interface { "accountRegistry()": FunctionFragment; "addAccountOwner(address,address)": FunctionFragment; "addGuardian(address)": FunctionFragment; + "c_098c0657(bytes8)": FunctionFragment; + "c_0b6945c4(bytes8)": FunctionFragment; + "c_279b00a1(bytes8)": FunctionFragment; + "c_9649d652(bytes8)": FunctionFragment; + "c_bf6efb80(bytes8)": FunctionFragment; + "c_d18be0f9(bytes8)": FunctionFragment; + "c_false098c0657(bytes8)": FunctionFragment; + "c_false0b6945c4(bytes8)": FunctionFragment; + "c_false279b00a1(bytes8)": FunctionFragment; + "c_false9649d652(bytes8)": FunctionFragment; + "c_falsebf6efb80(bytes8)": FunctionFragment; + "c_falsed18be0f9(bytes8)": FunctionFragment; + "c_true098c0657(bytes8)": FunctionFragment; + "c_true0b6945c4(bytes8)": FunctionFragment; + "c_true279b00a1(bytes8)": FunctionFragment; + "c_true9649d652(bytes8)": FunctionFragment; + "c_truebf6efb80(bytes8)": FunctionFragment; + "c_trued18be0f9(bytes8)": FunctionFragment; "computeAccountAddress(address)": FunctionFragment; "deployAccount(address)": FunctionFragment; "executeAccountTransaction(address,address,uint256,bytes)": FunctionFragment; @@ -55,6 +73,78 @@ export interface PersonalAccountRegistryInterface extends utils.Interface { values: [string, string] ): string; encodeFunctionData(functionFragment: "addGuardian", values: [string]): string; + encodeFunctionData( + functionFragment: "c_098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_0b6945c4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_279b00a1", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_9649d652", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_bf6efb80", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_d18be0f9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false0b6945c4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false279b00a1", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false9649d652", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsebf6efb80", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsed18be0f9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true0b6945c4", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true279b00a1", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true9649d652", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_truebf6efb80", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_trued18be0f9", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "computeAccountAddress", values: [string] @@ -131,6 +221,60 @@ export interface PersonalAccountRegistryInterface extends utils.Interface { functionFragment: "addGuardian", data: BytesLike ): Result; + decodeFunctionResult(functionFragment: "c_098c0657", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_0b6945c4", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_279b00a1", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_9649d652", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_bf6efb80", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_d18be0f9", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false0b6945c4", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false279b00a1", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false9649d652", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_falsebf6efb80", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_falsed18be0f9", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true0b6945c4", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true279b00a1", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true9649d652", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_truebf6efb80", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_trued18be0f9", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "computeAccountAddress", data: BytesLike @@ -345,6 +489,96 @@ export interface PersonalAccountRegistry extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_279b00a1( + c__279b00a1: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_bf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false279b00a1( + c__279b00a1: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_falsebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true279b00a1( + c__279b00a1: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_truebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + computeAccountAddress( saltOwner: string, overrides?: CallOverrides @@ -458,6 +692,78 @@ export interface PersonalAccountRegistry extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_098c0657(c__098c0657: BytesLike, overrides?: CallOverrides): Promise; + + c_0b6945c4(c__0b6945c4: BytesLike, overrides?: CallOverrides): Promise; + + c_279b00a1(c__279b00a1: BytesLike, overrides?: CallOverrides): Promise; + + c_9649d652(c__9649d652: BytesLike, overrides?: CallOverrides): Promise; + + c_bf6efb80(c__bf6efb80: BytesLike, overrides?: CallOverrides): Promise; + + c_d18be0f9(c__d18be0f9: BytesLike, overrides?: CallOverrides): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false279b00a1( + c__279b00a1: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true279b00a1( + c__279b00a1: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + computeAccountAddress( saltOwner: string, overrides?: CallOverrides @@ -568,6 +874,96 @@ export interface PersonalAccountRegistry extends BaseContract { addGuardian(guardian: string, overrides?: CallOverrides): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_279b00a1( + c__279b00a1: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_bf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false279b00a1( + c__279b00a1: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true279b00a1( + c__279b00a1: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + computeAccountAddress( saltOwner: string, overrides?: CallOverrides @@ -768,6 +1164,96 @@ export interface PersonalAccountRegistry extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_279b00a1( + c__279b00a1: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_bf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false279b00a1( + c__279b00a1: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true279b00a1( + c__279b00a1: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + computeAccountAddress( saltOwner: string, overrides?: CallOverrides @@ -884,6 +1370,96 @@ export interface PersonalAccountRegistry extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_279b00a1( + c__279b00a1: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_bf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false279b00a1( + c__279b00a1: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true0b6945c4( + c__0b6945c4: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true279b00a1( + c__279b00a1: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9649d652( + c__9649d652: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_truebf6efb80( + c__bf6efb80: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + computeAccountAddress( saltOwner: string, overrides?: CallOverrides diff --git a/typings/ReentrancyGuard.ts b/typings/ReentrancyGuard.ts index 9215887f..c1d77f51 100644 --- a/typings/ReentrancyGuard.ts +++ b/typings/ReentrancyGuard.ts @@ -1,13 +1,48 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import { BaseContract, Signer, utils } from "ethers"; - +import { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import { FunctionFragment, Result } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface ReentrancyGuardInterface extends utils.Interface { - functions: {}; + functions: { + "c_9296fc39(bytes8)": FunctionFragment; + "c_false9296fc39(bytes8)": FunctionFragment; + "c_true9296fc39(bytes8)": FunctionFragment; + }; + + encodeFunctionData( + functionFragment: "c_9296fc39", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false9296fc39", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true9296fc39", + values: [BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "c_9296fc39", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false9296fc39", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true9296fc39", + data: BytesLike + ): Result; events: {}; } @@ -38,13 +73,85 @@ export interface ReentrancyGuard extends BaseContract { once: OnEvent; removeListener: OnEvent; - functions: {}; + functions: { + c_9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + c_9296fc39(c__9296fc39: BytesLike, overrides?: CallOverrides): Promise; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; - callStatic: {}; + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + callStatic: { + c_9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + }; filters: {}; - estimateGas: {}; + estimateGas: { + c_9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + c_9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; - populateTransaction: {}; + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + }; } diff --git a/typings/SafeMathLib.ts b/typings/SafeMathLib.ts index 894df08a..8e80dd44 100644 --- a/typings/SafeMathLib.ts +++ b/typings/SafeMathLib.ts @@ -16,31 +16,31 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface SafeMathLibInterface extends utils.Interface { functions: { - "c_329dc82e(bytes8)": FunctionFragment; - "c_false329dc82e(bytes8)": FunctionFragment; - "c_true329dc82e(bytes8)": FunctionFragment; + "c_da111b5b(bytes8)": FunctionFragment; + "c_falseda111b5b(bytes8)": FunctionFragment; + "c_trueda111b5b(bytes8)": FunctionFragment; }; encodeFunctionData( - functionFragment: "c_329dc82e", + functionFragment: "c_da111b5b", values: [BytesLike] ): string; encodeFunctionData( - functionFragment: "c_false329dc82e", + functionFragment: "c_falseda111b5b", values: [BytesLike] ): string; encodeFunctionData( - functionFragment: "c_true329dc82e", + functionFragment: "c_trueda111b5b", values: [BytesLike] ): string; - decodeFunctionResult(functionFragment: "c_329dc82e", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_da111b5b", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "c_false329dc82e", + functionFragment: "c_falseda111b5b", data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "c_true329dc82e", + functionFragment: "c_trueda111b5b", data: BytesLike ): Result; @@ -74,47 +74,47 @@ export interface SafeMathLib extends BaseContract { removeListener: OnEvent; functions: { - c_329dc82e( - c__329dc82e: BytesLike, + c_da111b5b( + c__da111b5b: BytesLike, overrides?: CallOverrides ): Promise<[void]>; - c_false329dc82e( - c__329dc82e: BytesLike, + c_falseda111b5b( + c__da111b5b: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; - c_true329dc82e( - c__329dc82e: BytesLike, + c_trueda111b5b( + c__da111b5b: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; }; - c_329dc82e(c__329dc82e: BytesLike, overrides?: CallOverrides): Promise; + c_da111b5b(c__da111b5b: BytesLike, overrides?: CallOverrides): Promise; - c_false329dc82e( - c__329dc82e: BytesLike, + c_falseda111b5b( + c__da111b5b: BytesLike, overrides?: CallOverrides ): Promise; - c_true329dc82e( - c__329dc82e: BytesLike, + c_trueda111b5b( + c__da111b5b: BytesLike, overrides?: CallOverrides ): Promise; callStatic: { - c_329dc82e( - c__329dc82e: BytesLike, + c_da111b5b( + c__da111b5b: BytesLike, overrides?: CallOverrides ): Promise; - c_false329dc82e( - c__329dc82e: BytesLike, + c_falseda111b5b( + c__da111b5b: BytesLike, overrides?: CallOverrides ): Promise; - c_true329dc82e( - c__329dc82e: BytesLike, + c_trueda111b5b( + c__da111b5b: BytesLike, overrides?: CallOverrides ): Promise; }; @@ -122,35 +122,35 @@ export interface SafeMathLib extends BaseContract { filters: {}; estimateGas: { - c_329dc82e( - c__329dc82e: BytesLike, + c_da111b5b( + c__da111b5b: BytesLike, overrides?: CallOverrides ): Promise; - c_false329dc82e( - c__329dc82e: BytesLike, + c_falseda111b5b( + c__da111b5b: BytesLike, overrides?: CallOverrides ): Promise; - c_true329dc82e( - c__329dc82e: BytesLike, + c_trueda111b5b( + c__da111b5b: BytesLike, overrides?: CallOverrides ): Promise; }; populateTransaction: { - c_329dc82e( - c__329dc82e: BytesLike, + c_da111b5b( + c__da111b5b: BytesLike, overrides?: CallOverrides ): Promise; - c_false329dc82e( - c__329dc82e: BytesLike, + c_falseda111b5b( + c__da111b5b: BytesLike, overrides?: CallOverrides ): Promise; - c_true329dc82e( - c__329dc82e: BytesLike, + c_trueda111b5b( + c__da111b5b: BytesLike, overrides?: CallOverrides ): Promise; }; diff --git a/typings/SignatureValidator.ts b/typings/SignatureValidator.ts index 2a565492..236d6b4c 100644 --- a/typings/SignatureValidator.ts +++ b/typings/SignatureValidator.ts @@ -16,11 +16,35 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface SignatureValidatorInterface extends utils.Interface { functions: { + "c_52615ca8(bytes8)": FunctionFragment; + "c_false52615ca8(bytes8)": FunctionFragment; + "c_true52615ca8(bytes8)": FunctionFragment; "chainId()": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_52615ca8", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false52615ca8", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true52615ca8", + values: [BytesLike] + ): string; encodeFunctionData(functionFragment: "chainId", values?: undefined): string; + decodeFunctionResult(functionFragment: "c_52615ca8", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false52615ca8", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true52615ca8", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "chainId", data: BytesLike): Result; events: {}; @@ -53,22 +77,94 @@ export interface SignatureValidator extends BaseContract { removeListener: OnEvent; functions: { + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + chainId(overrides?: CallOverrides): Promise<[BigNumber]>; }; + c_52615ca8(c__52615ca8: BytesLike, overrides?: CallOverrides): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; callStatic: { + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; }; populateTransaction: { + c_52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true52615ca8( + c__52615ca8: BytesLike, + overrides?: CallOverrides + ): Promise; + chainId(overrides?: CallOverrides): Promise; }; } diff --git a/typings/StargateFacet.ts b/typings/StargateFacet.ts index 48f10b8d..e3822722 100644 --- a/typings/StargateFacet.ts +++ b/typings/StargateFacet.ts @@ -37,10 +37,10 @@ export type StargateETHDataStruct = { export type StargateETHDataStructOutput = [ BigNumber, - number, + BigNumber, string, number -] & { amount: BigNumber; dstChainId: number; to: string; slippage: number }; +] & { amount: BigNumber; dstChainId: BigNumber; to: string; slippage: number }; export type StargateDataStruct = { amount: BigNumberish; @@ -56,7 +56,7 @@ export type StargateDataStruct = { export type StargateDataStructOutput = [ BigNumber, string, - number, + BigNumber, number, number, string, @@ -65,7 +65,7 @@ export type StargateDataStructOutput = [ ] & { amount: BigNumber; bridgeToken: string; - dstChainId: number; + dstChainId: BigNumber; srcPoolId: number; dstPoolId: number; to: string; @@ -75,15 +75,45 @@ export type StargateDataStructOutput = [ export interface StargateFacetInterface extends utils.Interface { functions: { + "c_8de507f8(bytes8)": FunctionFragment; + "c_9296fc39(bytes8)": FunctionFragment; + "c_false8de507f8(bytes8)": FunctionFragment; + "c_false9296fc39(bytes8)": FunctionFragment; + "c_true8de507f8(bytes8)": FunctionFragment; + "c_true9296fc39(bytes8)": FunctionFragment; "getLzChainId(uint256)": FunctionFragment; - "initStargate(address,address,uint16,(uint256,uint16)[])": FunctionFragment; + "initStargate(address,address,uint256,(uint256,uint16)[])": FunctionFragment; "setLzChainId(uint256,uint16)": FunctionFragment; "sgReceive(uint16,bytes,uint256,address,uint256,bytes)": FunctionFragment; - "stargateETHTransfer((uint256,uint16,address,uint16))": FunctionFragment; - "stargateFees((uint256,address,uint16,uint16,uint16,address,uint16,address),address)": FunctionFragment; - "stargateTokenTransfer((uint256,address,uint16,uint16,uint16,address,uint16,address))": FunctionFragment; + "stargateETHTransfer((uint256,uint256,address,uint16))": FunctionFragment; + "stargateFees((uint256,address,uint256,uint16,uint16,address,uint16,address),address)": FunctionFragment; + "stargateTokenTransfer((uint256,address,uint256,uint16,uint16,address,uint16,address))": FunctionFragment; }; + encodeFunctionData( + functionFragment: "c_8de507f8", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_9296fc39", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false8de507f8", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false9296fc39", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true8de507f8", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true9296fc39", + values: [BytesLike] + ): string; encodeFunctionData( functionFragment: "getLzChainId", values: [BigNumberish] @@ -120,6 +150,24 @@ export interface StargateFacetInterface extends utils.Interface { values: [StargateDataStruct] ): string; + decodeFunctionResult(functionFragment: "c_8de507f8", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_9296fc39", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false8de507f8", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false9296fc39", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true8de507f8", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true9296fc39", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "getLzChainId", data: BytesLike @@ -148,10 +196,10 @@ export interface StargateFacetInterface extends utils.Interface { events: { "LzChainIdSet(uint256,uint16)": EventFragment; - "StargateETHSwap(address,address,uint256,uint16)": EventFragment; - "StargateInitialized(address,address,uint16)": EventFragment; + "StargateETHSwap(address,address,uint256,uint256)": EventFragment; + "StargateInitialized(address,address,uint256)": EventFragment; "StargateReceivedOnDestination(address,uint256)": EventFragment; - "StargateTokenSwap(address,address,address,uint256,uint16)": EventFragment; + "StargateTokenSwap(address,address,address,uint256,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "LzChainIdSet"): EventFragment; @@ -171,15 +219,15 @@ export type LzChainIdSetEvent = TypedEvent< export type LzChainIdSetEventFilter = TypedEventFilter; export type StargateETHSwapEvent = TypedEvent< - [string, string, BigNumber, number], - { from: string; to: string; amount: BigNumber; chainIdTo: number } + [string, string, BigNumber, BigNumber], + { from: string; to: string; amount: BigNumber; chainIdTo: BigNumber } >; export type StargateETHSwapEventFilter = TypedEventFilter; export type StargateInitializedEvent = TypedEvent< - [string, string, number], - { stargateRouter: string; stargateETHRouter: string; chainId: number } + [string, string, BigNumber], + { stargateRouter: string; stargateETHRouter: string; chainId: BigNumber } >; export type StargateInitializedEventFilter = @@ -194,13 +242,13 @@ export type StargateReceivedOnDestinationEventFilter = TypedEventFilter; export type StargateTokenSwapEvent = TypedEvent< - [string, string, string, BigNumber, number], + [string, string, string, BigNumber, BigNumber], { fromToken: string; from: string; to: string; amount: BigNumber; - chainIdTo: number; + chainIdTo: BigNumber; } >; @@ -234,6 +282,36 @@ export interface StargateFacet extends BaseContract { removeListener: OnEvent; functions: { + c_8de507f8( + c__8de507f8: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false8de507f8( + c__8de507f8: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true8de507f8( + c__8de507f8: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + getLzChainId( _chainId: BigNumberish, overrides?: CallOverrides @@ -280,6 +358,30 @@ export interface StargateFacet extends BaseContract { ): Promise; }; + c_8de507f8(c__8de507f8: BytesLike, overrides?: CallOverrides): Promise; + + c_9296fc39(c__9296fc39: BytesLike, overrides?: CallOverrides): Promise; + + c_false8de507f8( + c__8de507f8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true8de507f8( + c__8de507f8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + getLzChainId( _chainId: BigNumberish, overrides?: CallOverrides @@ -326,6 +428,36 @@ export interface StargateFacet extends BaseContract { ): Promise; callStatic: { + c_8de507f8( + c__8de507f8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false8de507f8( + c__8de507f8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true8de507f8( + c__8de507f8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + getLzChainId( _chainId: BigNumberish, overrides?: CallOverrides @@ -379,7 +511,7 @@ export interface StargateFacet extends BaseContract { ): LzChainIdSetEventFilter; LzChainIdSet(chainId?: null, lzChainId?: null): LzChainIdSetEventFilter; - "StargateETHSwap(address,address,uint256,uint16)"( + "StargateETHSwap(address,address,uint256,uint256)"( from?: null, to?: null, amount?: null, @@ -392,7 +524,7 @@ export interface StargateFacet extends BaseContract { chainIdTo?: null ): StargateETHSwapEventFilter; - "StargateInitialized(address,address,uint16)"( + "StargateInitialized(address,address,uint256)"( stargateRouter?: null, stargateETHRouter?: null, chainId?: null @@ -412,7 +544,7 @@ export interface StargateFacet extends BaseContract { amount?: null ): StargateReceivedOnDestinationEventFilter; - "StargateTokenSwap(address,address,address,uint256,uint16)"( + "StargateTokenSwap(address,address,address,uint256,uint256)"( fromToken?: null, from?: null, to?: null, @@ -429,6 +561,36 @@ export interface StargateFacet extends BaseContract { }; estimateGas: { + c_8de507f8( + c__8de507f8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false8de507f8( + c__8de507f8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true8de507f8( + c__8de507f8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + getLzChainId( _chainId: BigNumberish, overrides?: CallOverrides @@ -476,6 +638,36 @@ export interface StargateFacet extends BaseContract { }; populateTransaction: { + c_8de507f8( + c__8de507f8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false8de507f8( + c__8de507f8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true8de507f8( + c__8de507f8: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true9296fc39( + c__9296fc39: BytesLike, + overrides?: CallOverrides + ): Promise; + getLzChainId( _chainId: BigNumberish, overrides?: CallOverrides diff --git a/typings/StringsLib.ts b/typings/StringsLib.ts index 19e85078..e37a928b 100644 --- a/typings/StringsLib.ts +++ b/typings/StringsLib.ts @@ -16,31 +16,31 @@ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface StringsLibInterface extends utils.Interface { functions: { - "c_1044b449(bytes8)": FunctionFragment; - "c_false1044b449(bytes8)": FunctionFragment; - "c_true1044b449(bytes8)": FunctionFragment; + "c_2404d709(bytes8)": FunctionFragment; + "c_false2404d709(bytes8)": FunctionFragment; + "c_true2404d709(bytes8)": FunctionFragment; }; encodeFunctionData( - functionFragment: "c_1044b449", + functionFragment: "c_2404d709", values: [BytesLike] ): string; encodeFunctionData( - functionFragment: "c_false1044b449", + functionFragment: "c_false2404d709", values: [BytesLike] ): string; encodeFunctionData( - functionFragment: "c_true1044b449", + functionFragment: "c_true2404d709", values: [BytesLike] ): string; - decodeFunctionResult(functionFragment: "c_1044b449", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_2404d709", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "c_false1044b449", + functionFragment: "c_false2404d709", data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "c_true1044b449", + functionFragment: "c_true2404d709", data: BytesLike ): Result; @@ -74,47 +74,47 @@ export interface StringsLib extends BaseContract { removeListener: OnEvent; functions: { - c_1044b449( - c__1044b449: BytesLike, + c_2404d709( + c__2404d709: BytesLike, overrides?: CallOverrides ): Promise<[void]>; - c_false1044b449( - c__1044b449: BytesLike, + c_false2404d709( + c__2404d709: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; - c_true1044b449( - c__1044b449: BytesLike, + c_true2404d709( + c__2404d709: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; }; - c_1044b449(c__1044b449: BytesLike, overrides?: CallOverrides): Promise; + c_2404d709(c__2404d709: BytesLike, overrides?: CallOverrides): Promise; - c_false1044b449( - c__1044b449: BytesLike, + c_false2404d709( + c__2404d709: BytesLike, overrides?: CallOverrides ): Promise; - c_true1044b449( - c__1044b449: BytesLike, + c_true2404d709( + c__2404d709: BytesLike, overrides?: CallOverrides ): Promise; callStatic: { - c_1044b449( - c__1044b449: BytesLike, + c_2404d709( + c__2404d709: BytesLike, overrides?: CallOverrides ): Promise; - c_false1044b449( - c__1044b449: BytesLike, + c_false2404d709( + c__2404d709: BytesLike, overrides?: CallOverrides ): Promise; - c_true1044b449( - c__1044b449: BytesLike, + c_true2404d709( + c__2404d709: BytesLike, overrides?: CallOverrides ): Promise; }; @@ -122,35 +122,35 @@ export interface StringsLib extends BaseContract { filters: {}; estimateGas: { - c_1044b449( - c__1044b449: BytesLike, + c_2404d709( + c__2404d709: BytesLike, overrides?: CallOverrides ): Promise; - c_false1044b449( - c__1044b449: BytesLike, + c_false2404d709( + c__2404d709: BytesLike, overrides?: CallOverrides ): Promise; - c_true1044b449( - c__1044b449: BytesLike, + c_true2404d709( + c__2404d709: BytesLike, overrides?: CallOverrides ): Promise; }; populateTransaction: { - c_1044b449( - c__1044b449: BytesLike, + c_2404d709( + c__2404d709: BytesLike, overrides?: CallOverrides ): Promise; - c_false1044b449( - c__1044b449: BytesLike, + c_false2404d709( + c__2404d709: BytesLike, overrides?: CallOverrides ): Promise; - c_true1044b449( - c__1044b449: BytesLike, + c_true2404d709( + c__2404d709: BytesLike, overrides?: CallOverrides ): Promise; }; diff --git a/typings/WrappedWeiToken.ts b/typings/WrappedWeiToken.ts index 8f317f77..18f5a36c 100644 --- a/typings/WrappedWeiToken.ts +++ b/typings/WrappedWeiToken.ts @@ -23,6 +23,18 @@ export interface WrappedWeiTokenInterface extends utils.Interface { "allowance(address,address)": FunctionFragment; "approve(address,uint256)": FunctionFragment; "balanceOf(address)": FunctionFragment; + "c_098c0657(bytes8)": FunctionFragment; + "c_42d24766(bytes8)": FunctionFragment; + "c_99a47378(bytes8)": FunctionFragment; + "c_d18be0f9(bytes8)": FunctionFragment; + "c_false098c0657(bytes8)": FunctionFragment; + "c_false42d24766(bytes8)": FunctionFragment; + "c_false99a47378(bytes8)": FunctionFragment; + "c_falsed18be0f9(bytes8)": FunctionFragment; + "c_true098c0657(bytes8)": FunctionFragment; + "c_true42d24766(bytes8)": FunctionFragment; + "c_true99a47378(bytes8)": FunctionFragment; + "c_trued18be0f9(bytes8)": FunctionFragment; "decimals()": FunctionFragment; "depositTo(address)": FunctionFragment; "gateway()": FunctionFragment; @@ -51,6 +63,54 @@ export interface WrappedWeiTokenInterface extends utils.Interface { values: [string, BigNumberish] ): string; encodeFunctionData(functionFragment: "balanceOf", values: [string]): string; + encodeFunctionData( + functionFragment: "c_098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_42d24766", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_99a47378", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_d18be0f9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false42d24766", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_false99a47378", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_falsed18be0f9", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true098c0657", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true42d24766", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_true99a47378", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "c_trued18be0f9", + values: [BytesLike] + ): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "depositTo", values: [string]): string; encodeFunctionData(functionFragment: "gateway", values?: undefined): string; @@ -105,6 +165,42 @@ export interface WrappedWeiTokenInterface extends utils.Interface { decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_098c0657", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_42d24766", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_99a47378", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "c_d18be0f9", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "c_false098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false42d24766", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_false99a47378", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_falsed18be0f9", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true098c0657", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true42d24766", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_true99a47378", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "c_trued18be0f9", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "gateway", data: BytesLike): Result; @@ -226,6 +322,66 @@ export interface WrappedWeiToken extends BaseContract { balanceOf(owner: string, overrides?: CallOverrides): Promise<[BigNumber]>; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_42d24766( + c__42d24766: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise<[void]>; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false42d24766( + c__42d24766: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_false99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true42d24766( + c__42d24766: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_true99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise<[boolean]>; + decimals(overrides?: CallOverrides): Promise<[number]>; depositTo( @@ -307,6 +463,54 @@ export interface WrappedWeiToken extends BaseContract { balanceOf(owner: string, overrides?: CallOverrides): Promise; + c_098c0657(c__098c0657: BytesLike, overrides?: CallOverrides): Promise; + + c_42d24766(c__42d24766: BytesLike, overrides?: CallOverrides): Promise; + + c_99a47378(c__99a47378: BytesLike, overrides?: CallOverrides): Promise; + + c_d18be0f9(c__d18be0f9: BytesLike, overrides?: CallOverrides): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false42d24766( + c__42d24766: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true42d24766( + c__42d24766: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + decimals(overrides?: CallOverrides): Promise; depositTo( @@ -388,6 +592,66 @@ export interface WrappedWeiToken extends BaseContract { balanceOf(owner: string, overrides?: CallOverrides): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_42d24766( + c__42d24766: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false42d24766( + c__42d24766: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true42d24766( + c__42d24766: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + decimals(overrides?: CallOverrides): Promise; depositTo(to: string, overrides?: CallOverrides): Promise; @@ -488,6 +752,66 @@ export interface WrappedWeiToken extends BaseContract { balanceOf(owner: string, overrides?: CallOverrides): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_42d24766( + c__42d24766: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false42d24766( + c__42d24766: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true42d24766( + c__42d24766: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + decimals(overrides?: CallOverrides): Promise; depositTo( @@ -573,6 +897,66 @@ export interface WrappedWeiToken extends BaseContract { overrides?: CallOverrides ): Promise; + c_098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_42d24766( + c__42d24766: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_d18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false42d24766( + c__42d24766: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_false99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_falsed18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true098c0657( + c__098c0657: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true42d24766( + c__42d24766: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_true99a47378( + c__99a47378: BytesLike, + overrides?: CallOverrides + ): Promise; + + c_trued18be0f9( + c__d18be0f9: BytesLike, + overrides?: CallOverrides + ): Promise; + decimals(overrides?: CallOverrides): Promise; depositTo( diff --git a/typings/factories/AccountBase__factory.ts b/typings/factories/AccountBase__factory.ts index 4dab1ca5..0efdc5b2 100644 --- a/typings/factories/AccountBase__factory.ts +++ b/typings/factories/AccountBase__factory.ts @@ -6,6 +6,57 @@ import { Provider, TransactionRequest } from "@ethersproject/providers"; import type { AccountBase, AccountBaseInterface } from "../AccountBase"; const _abi = [ + { + inputs: [ + { + internalType: "bytes8", + name: "c__28344ffb", + type: "bytes8", + }, + ], + name: "c_28344ffb", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__28344ffb", + type: "bytes8", + }, + ], + name: "c_false28344ffb", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__28344ffb", + type: "bytes8", + }, + ], + name: "c_true28344ffb", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [], name: "registry", @@ -22,7 +73,7 @@ const _abi = [ ]; const _bytecode = - "0x6080604052348015600f57600080fd5b5060908061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80637b10399914602d575b600080fd5b6033605f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fea164736f6c634300060c000a"; + "0x608060405234801561001057600080fd5b506101d2806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063221523e51461005157806344f9c9ec146100b05780637b1039991461010f578063a42ea70814610143575b600080fd5b6100986004803603602081101561006757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061018c565b60405180821515815260200191505060405180910390f35b6100f7600480360360208110156100c657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610193565b60405180821515815260200191505060405180910390f35b61011761019e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61018a6004803603602081101561015957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506101c2565b005b6000919050565b600060019050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5056fea164736f6c634300060c000a"; type AccountBaseConstructorParams = | [signer?: Signer] diff --git a/typings/factories/AccountControllerMock__factory.ts b/typings/factories/AccountControllerMock__factory.ts index b49c8c39..83587aa3 100644 --- a/typings/factories/AccountControllerMock__factory.ts +++ b/typings/factories/AccountControllerMock__factory.ts @@ -152,6 +152,108 @@ const _abi = [ stateMutability: "view", type: "function", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__8758a88a", + type: "bytes8", + }, + ], + name: "c_8758a88a", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__bf6efb80", + type: "bytes8", + }, + ], + name: "c_bf6efb80", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__8758a88a", + type: "bytes8", + }, + ], + name: "c_false8758a88a", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__bf6efb80", + type: "bytes8", + }, + ], + name: "c_falsebf6efb80", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__8758a88a", + type: "bytes8", + }, + ], + name: "c_true8758a88a", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__bf6efb80", + type: "bytes8", + }, + ], + name: "c_truebf6efb80", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { @@ -254,7 +356,7 @@ const _abi = [ ]; const _bytecode = - "0x60806040523480156200001157600080fd5b5060405162001d0338038062001d03833981810160405260408110156200003757600080fd5b8101908080519060200190929190805190602001909291905050506200006482826200006c60201b60201c565b50506200031b565b6200007f8260006200009660201b60201c565b62000092816000620001d760201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200011e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603581526020018062001cce6035913960400191505060405180910390fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015620001d3577f02e3c47057b8dc27a0929d3c394c314c73aa002d46939c31c9f71d1e77e86c1060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200025f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b81526020018062001c93603b913960400191505060405180910390fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550801562000317577f70d9f5a076620216a6050e493f3ce69749de0b68fa4b839ba2518660ba8b9cf0600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b5050565b611968806200032b6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80636661a51e1161005b5780636661a51e146101a1578063d01a9cae146101e5578063d089e11a14610213578063e5c7278f1461024757610088565b806309766da21461008d57806311464fbe146100d1578063264d5cb41461010557806343013c241461015d575b600080fd5b6100cf600480360360208110156100a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061034c565b005b6100d961035a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101316004803603602081101561011b57600080fd5b8101908080359060200190929190505050610380565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61019f6004803603602081101561017357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610392565b005b6101e3600480360360208110156101b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103a0565b005b610211600480360360208110156101fb57600080fd5b81019080803590602001909291905050506103ae565b005b61021b6103bd565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61034a6004803603608081101561025d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156102c457600080fd5b8201836020820111156102d657600080fd5b803590602001918460018302840111640100000000831117156102f857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506103e1565b005b6103578160016103f6565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061038b82610537565b9050919050565b61039d81600161072b565b50565b6103ab81600161098d565b50565b6103b9816001610acb565b5050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6103ef848484846001610c1d565b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561047c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b81526020018061184a603b913960400191505060405180910390fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015610533577f70d9f5a076620216a6050e493f3ce69749de0b68fa4b839ba2518660ba8b9cf0600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b5050565b600060606040518060200161054b906110eb565b6020820181038252601f19601f82011660405250600060a01b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600060a01b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516020018086805190602001908083835b602083106105e357805182526020820191506020810190506020830392506105c0565b6001836020036101000a0380198251168184511680821785525050505050509050018573ffffffffffffffffffffffffffffffffffffffff19168152600c018473ffffffffffffffffffffffffffffffffffffffff1660601b81526014018373ffffffffffffffffffffffffffffffffffffffff19168152600c018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401955050505050506040516020818303038152906040529050600060ff60f81b3085848051906020012060405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018473ffffffffffffffffffffffffffffffffffffffff1660601b81526014018381526020018281526020019450505050506040516020818303038152906040528051906020012090508060001c92505050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107aa57600080fd5b505afa1580156107be573d6000803e3d6000fd5b505050506040513d60208110156107d457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415610852576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180611905602b913960400191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663d784d426600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156108dd57600080fd5b505af11580156108f1573d6000803e3d6000fd5b505050508015610989577feec27cdb8bd6f55c2c537deb52ab094a2437e85ef5197e6f064f90bff3ff563f82600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a13576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806118ab6035913960400191505060405180910390fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015610ac7577f02e3c47057b8dc27a0929d3c394c314c73aa002d46939c31c9f71d1e77e86c1060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b5050565b6000808360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610b1f906110eb565b808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff168152602001925050508190604051809103906000f5905080158015610b7c573d6000803e3d6000fd5b5090508215610c13577f2682a218602b9036c9869f006c5405ee4a1a65267653eb7e286123e5e1afde4c81600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15b8091505092915050565b6060600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610ca5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806118e06025913960400191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610d2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611930602c913960400191505060405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610daf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806118856026913960400191505060405180910390fd5b60608673ffffffffffffffffffffffffffffffffffffffff16633f579f428787876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610e41578082015181840152602081019050610e26565b50505050905090810190601f168015610e6e5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610e8f57600080fd5b505af1158015610ea3573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015610ecd57600080fd5b8101908080516040519392919084640100000000821115610eed57600080fd5b83820191506020820185811115610f0357600080fd5b8251866001820283011164010000000082111715610f2057600080fd5b8083526020830192505050908051906020019080838360005b83811015610f54578082015181840152602081019050610f39565b50505050905090810190601f168015610f815780820380516001836020036101000a031916815260200191505b50604052505050905082156110de577f99eeae1fb8801e2e878e060ec5e5b3557b3c4f8106e35d88cb573f293dae4e248787878785604051808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561103857808201518184015260208101905061101d565b50505050905090810190601f1680156110655780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561109e578082015181840152602081019050611083565b50505050905090810190601f1680156110cb5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15b8091505095945050505050565b610751806110f98339019056fe608060405234801561001057600080fd5b506040516107513803806107518339818101604052604081101561003357600080fd5b810190808051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610630806101216000396000f3fe60806040526004361061004e5760003560e01c80633f579f42146100be5780635c60da1b146101e75780637b10399914610228578063d784d42614610269578063f77c4791146102ba57610055565b3661005557005b34801561006157600080fd5b50600080369050146100bc576000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050368060008037600080826000855af43d806000803e81600081146100b757816000f35b816000fd5b005b3480156100ca57600080fd5b5061016c600480360360608110156100e157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561012857600080fd5b82018360208201111561013a57600080fd5b8035906020019184600183028401116401000000008311171561015c57600080fd5b90919293919293905050506102fb565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ac578082015181840152602081019050610191565b50505050905090810190601f1680156101d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101f357600080fd5b506101fc61049f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023457600080fd5b5061023d6104c5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027557600080fd5b506102b86004803603602081101561028c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104eb565b005b3480156102c657600080fd5b506102cf6105d3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806105f8602c913960400191505060405180910390fd5b606060008673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d8060008114610411576040519150601f19603f3d011682016040523d82523d6000602084013e610416565b606091505b50809350819250505080610492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b8192505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461058f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806105f8602c913960400191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a4163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420496d706c656d656e746174696f6e20746f203078304163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f2073656c664163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420726567697374727920746f203078304163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f203078304163636f756e74436f6e74726f6c6c65723a206163636f756e7420616c72656164792075706772616465644163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f20636f6e74726f6c6c6572a164736f6c634300060c000a4163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420496d706c656d656e746174696f6e20746f203078304163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420726567697374727920746f20307830"; + "0x60806040523480156200001157600080fd5b506040516200340838038062003408833981810160405260408110156200003757600080fd5b8101908080519060200190929190805190602001909291905050506200006e67f9592435f5b5ea8c60c01b620000dc60201b60201c565b6200008a6797ad1bd4b63c15e160c01b620000df60201b60201c565b620000a667e81bcc617a15e39f60c01b620000df60201b60201c565b620000c26712e9fa803a5a4a4a60c01b620000df60201b60201c565b620000d48282620000e260201b60201c565b5050620006c9565b50565b50565b620000fe671af942b4819087fc60c01b620000dc60201b60201c565b6200011a670f0a44d9ed8d066760c01b620000dc60201b60201c565b6200013667af6f6ca5a19aa0c460c01b620000dc60201b60201c565b620001498260006200019860201b60201c565b6200016567dd02c4093239d2e360c01b620000dc60201b60201c565b62000181674754410ba216543b60c01b620000dc60201b60201c565b620001948160006200042f60201b60201c565b5050565b620001b46757e53bb83d0ee18c60c01b620000dc60201b60201c565b620001d0674b6db0292681de8060c01b620000dc60201b60201c565b620001ec67634dbba0de15713160c01b620000dc60201b60201c565b620002086716603faf2a4da76360c01b620000dc60201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000290576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180620033d36035913960400191505060405180910390fd5b620002ac67fdb2085a5ff3fca060c01b620000dc60201b60201c565b620002c8677c845799041d8f7d60c01b620000dc60201b60201c565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200032467cb55668fb6fee71c60c01b620000dc60201b60201c565b6200034067372f88a4084cef5b60c01b620000dc60201b60201c565b80156200040e5762000363671b487ad986e5d06660c01b620000dc60201b60201c565b6200037f67734c16c2ea37d8f760c01b620000dc60201b60201c565b6200039b670feaed23a94b80cf60c01b620000dc60201b60201c565b7f02e3c47057b8dc27a0929d3c394c314c73aa002d46939c31c9f71d1e77e86c1060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a16200042b565b6200042a67b56e759927012ec660c01b620000dc60201b60201c565b5b5050565b6200044b6763a6d6dd8a86352960c01b620000dc60201b60201c565b62000467678eeff62892cd112860c01b620000dc60201b60201c565b620004836781019a5110a6fd2560c01b620000dc60201b60201c565b6200049f6799570e869b77f36060c01b620000dc60201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b81526020018062003398603b913960400191505060405180910390fd5b6200054367e6730257a24a5d4d60c01b620000dc60201b60201c565b6200055f675137d05a035c900560c01b620000dc60201b60201c565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620005bc676635cb5a489007f160c01b620000dc60201b60201c565b620005d86779ff21fdd4bb44bc60c01b620000dc60201b60201c565b8015620006a857620005fb67ce1bdfd86d0ca23360c01b620000dc60201b60201c565b62000617677479b0cc253e30c560c01b620000dc60201b60201c565b6200063367a2b46e4941f5d4f860c01b620000dc60201b60201c565b7f70d9f5a076620216a6050e493f3ce69749de0b68fa4b839ba2518660ba8b9cf0600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1620006c5565b620006c46725a77b732bce9b0960c01b620000dc60201b60201c565b5b5050565b612cbf80620006d96000396000f3fe60806040523480156200001157600080fd5b5060043610620001005760003560e01c80635db3fe391162000099578063d01a9cae116200006f578063d01a9cae146200043f578063d089e11a1462000470578063d937de4314620004a6578063e5c7278f14620004f25762000100565b80635db3fe39146200034a5780636661a51e1462000396578063ad8bbdec14620003dd5762000100565b80631aa316db11620000db5780631aa316db14620001e457806320dedc001462000246578063264d5cb414620002a857806343013c2414620003035762000100565b806309766da214620001055780630f7d3bc7146200014c57806311464fbe14620001ae575b600080fd5b6200014a600480360360208110156200011d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050620005fd565b005b62000196600480360360208110156200016457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506200064f565b60405180821515815260200191505060405180910390f35b620001b862000656565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6200022e60048036036020811015620001fc57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506200067c565b60405180821515815260200191505060405180910390f35b62000290600480360360208110156200025e57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062000687565b60405180821515815260200191505060405180910390f35b620002d760048036036020811015620002c057600080fd5b810190808035906020019092919050505062000692565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b62000348600480360360208110156200031b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050620006e8565b005b62000394600480360360208110156200036257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506200073a565b005b620003db60048036036020811015620003ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200073d565b005b6200042760048036036020811015620003f557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506200078f565b60405180821515815260200191505060405180910390f35b6200046e600480360360208110156200045757600080fd5b810190808035906020019092919050505062000796565b005b6200047a620007e9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b620004f060048036036020811015620004be57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506200080d565b005b620005fb600480360360808110156200050a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156200057257600080fd5b8201836020820111156200058557600080fd5b80359060200191846001830284011164010000000083111715620005a857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505062000810565b005b6200061367fd17f2f34ea89dda60c01b6200080d565b6200062967670c7ce80384dd8760c01b6200080d565b6200063f670d73251c3b32c2cf60c01b6200080d565b6200064c81600162000869565b50565b6000919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b600060019050919050565b6000620006aa6760d6d6a33ef81ce960c01b6200080d565b620006c067700d697758cc42d560c01b6200080d565b620006d667d61c3adb52e7e99060c01b6200080d565b620006e18262000abb565b9050919050565b620006fe67dd6c0b406e90f1eb60c01b6200080d565b6200071467693ceaaa87aede7360c01b6200080d565b6200072a67d9c13fdcdf5971d860c01b6200080d565b6200073781600162000d4d565b50565b50565b6200075367cf70be1c10ca2d3e60c01b6200080d565b62000769675aca60eeb968724d60c01b6200080d565b6200077f67cc4c0e99a1f1225e60c01b6200080d565b6200078c816001620010db565b50565b6000919050565b620007ac6778a986e51e0eda1f60c01b6200080d565b620007c26735e6b2b2f03d099f60c01b6200080d565b620007d867679f876eb2f3608c60c01b6200080d565b620007e58160016200132a565b5050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b50565b62000826670a865ba881afc64060c01b6200080d565b6200083c679d65498c0f295b0b60c01b6200080d565b62000852671fbcb34b6fc8aee960c01b6200080d565b6200086284848484600162001579565b5050505050565b6200087f6763a6d6dd8a86352960c01b6200073a565b62000895678eeff62892cd112860c01b6200073a565b620008ab6781019a5110a6fd2560c01b6200073a565b620008c16799570e869b77f36060c01b6200073a565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000949576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b81526020018062002ba1603b913960400191505060405180910390fd5b6200095f67e6730257a24a5d4d60c01b6200073a565b62000975675137d05a035c900560c01b6200073a565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620009cc676635cb5a489007f160c01b6200073a565b620009e26779ff21fdd4bb44bc60c01b6200073a565b801562000aa057620009ff67ce1bdfd86d0ca23360c01b6200073a565b62000a15677479b0cc253e30c560c01b6200073a565b62000a2b67a2b46e4941f5d4f860c01b6200073a565b7f70d9f5a076620216a6050e493f3ce69749de0b68fa4b839ba2518660ba8b9cf0600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a162000ab7565b62000ab66725a77b732bce9b0960c01b6200073a565b5b5050565b600062000ad367834d7dcd68b198b060c01b6200073a565b62000ae9673ff175921f5f538960c01b6200073a565b62000aff6701ee97873b03827f60c01b6200073a565b60606040518060200162000b139062001c60565b6020820181038252601f19601f82011660405250600060a01b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600060a01b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516020018086805190602001908083835b6020831062000bad578051825260208201915060208101905060208303925062000b88565b6001836020036101000a0380198251168184511680821785525050505050509050018573ffffffffffffffffffffffffffffffffffffffff19168152600c018473ffffffffffffffffffffffffffffffffffffffff1660601b81526014018373ffffffffffffffffffffffffffffffffffffffff19168152600c018273ffffffffffffffffffffffffffffffffffffffff1660601b815260140195505050505050604051602081830303815290604052905062000c7567c5994a000b72ff9b60c01b6200073a565b62000c8b673303398cfdf0748c60c01b6200073a565b600060ff60f81b3085848051906020012060405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018473ffffffffffffffffffffffffffffffffffffffff1660601b815260140183815260200182815260200194505050505060405160208183030381529060405280519060200120905062000d2a67d5638e0e835e9fc260c01b6200073a565b62000d406765b94d8c76f4fb1960c01b6200073a565b8060001c92505050919050565b62000d63671e986652550cd6b760c01b6200073a565b62000d796712f52b022ec7e94e60c01b6200073a565b62000d8f67d13332898fe9198160c01b6200073a565b62000da5677771d5f99d0f0ea860c01b6200073a565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801562000e2557600080fd5b505afa15801562000e3a573d6000803e3d6000fd5b505050506040513d602081101562000e5157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16141562000ed1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018062002c5c602b913960400191505060405180910390fd5b62000ee7671d9e65030376f52a60c01b6200073a565b62000efd67de7455456727db8960c01b6200073a565b62000f13671ad3abe77081920060c01b6200073a565b8173ffffffffffffffffffffffffffffffffffffffff1663d784d426600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801562000f9f57600080fd5b505af115801562000fb4573d6000803e3d6000fd5b5050505062000fce672dc6faf1b96e638260c01b6200073a565b62000fe4673ac280b3b6cdcef460c01b6200073a565b8015620010c05762001001674cef15a637c5d09560c01b6200073a565b6200101767a51c2a16f15f5aee60c01b6200073a565b6200102d6739bd33583f67f11d60c01b6200073a565b7feec27cdb8bd6f55c2c537deb52ab094a2437e85ef5197e6f064f90bff3ff563f82600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1620010d7565b620010d667a8db68da35e394a360c01b6200073a565b5b5050565b620010f16757e53bb83d0ee18c60c01b6200073a565b62001107674b6db0292681de8060c01b6200073a565b6200111d67634dbba0de15713160c01b6200073a565b620011336716603faf2a4da76360c01b6200073a565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620011bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603581526020018062002c026035913960400191505060405180910390fd5b620011d167fdb2085a5ff3fca060c01b6200073a565b620011e7677c845799041d8f7d60c01b6200073a565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200123d67cb55668fb6fee71c60c01b6200073a565b6200125367372f88a4084cef5b60c01b6200073a565b80156200130f5762001270671b487ad986e5d06660c01b6200073a565b6200128667734c16c2ea37d8f760c01b6200073a565b6200129c670feaed23a94b80cf60c01b6200073a565b7f02e3c47057b8dc27a0929d3c394c314c73aa002d46939c31c9f71d1e77e86c1060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a162001326565b6200132567b56e759927012ec660c01b6200073a565b5b5050565b6000620013426769d35e844fb436a560c01b6200073a565b6200135867d05843a5b30ee56160c01b6200073a565b6200136e676a5949dc1605b72d60c01b6200073a565b60008360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051620013c39062001c60565b808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff168152602001925050508190604051809103906000f590508015801562001421573d6000803e3d6000fd5b5090506200143a671fbc5a34026c932160c01b6200073a565b620014506729f16a915d858e6660c01b6200073a565b82156200152c576200146d674ad44f27dbd7e2bf60c01b6200073a565b62001483671948a2809685e8a560c01b6200073a565b62001499674e798983ba62ea2160c01b6200073a565b7f2682a218602b9036c9869f006c5405ee4a1a65267653eb7e286123e5e1afde4c81600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a162001543565b620015426753f95733749efee660c01b6200073a565b5b620015596713228e0b40e520f960c01b6200073a565b6200156f679f460b7957fd280860c01b6200073a565b8091505092915050565b60606200159167d03cbc512208c19360c01b6200073a565b620015a767f0724c2f605051ae60c01b6200073a565b620015bd672c1f163d378fb1c760c01b6200073a565b620015d3676e332d1ea295ad6760c01b6200073a565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156200165b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018062002c376025913960400191505060405180910390fd5b620016716734003fde0e365df960c01b6200073a565b62001687676f78eb7775d96ac060c01b6200073a565b6200169d6762ea15fa7f97e6d860c01b6200073a565b620016b367c1e60fa2c652db9260c01b6200073a565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156200173a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018062002c87602c913960400191505060405180910390fd5b6200175067c4c441efc53987a460c01b6200073a565b62001766670a4409d86344b6de60c01b6200073a565b6200177c67f30c8cf3d7c2007160c01b6200073a565b62001792677b93c54c10ec39b960c01b6200073a565b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141562001819576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018062002bdc6026913960400191505060405180910390fd5b6200182f67d0eadcda5ce01ef660c01b6200073a565b620018456708e5898037826a0e60c01b6200073a565b6200185b679eda6876d502675260c01b6200073a565b60608673ffffffffffffffffffffffffffffffffffffffff16633f579f428787876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015620018ef578082015181840152602081019050620018d2565b50505050905090810190601f1680156200191d5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156200193f57600080fd5b505af115801562001954573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156200197f57600080fd5b8101908080516040519392919084640100000000821115620019a057600080fd5b83820191506020820185811115620019b757600080fd5b8251866001820283011164010000000082111715620019d557600080fd5b8083526020830192505050908051906020019080838360005b8381101562001a0b578082015181840152602081019050620019ee565b50505050905090810190601f16801562001a395780820380516001836020036101000a031916815260200191505b50604052505050905062001a586787669d68dca3195b60c01b6200073a565b62001a6e673ac670a41bf75b6a60c01b6200073a565b821562001c105762001a8b67d53a5613f66004c060c01b6200073a565b62001aa167fefbdbb940a6f1de60c01b6200073a565b62001ab7678bc5a3cf9a4cc9b860c01b6200073a565b7f99eeae1fb8801e2e878e060ec5e5b3557b3c4f8106e35d88cb573f293dae4e248787878785604051808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101562001b6157808201518184015260208101905062001b44565b50505050905090810190601f16801562001b8f5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101562001bca57808201518184015260208101905062001bad565b50505050905090810190601f16801562001bf85780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a162001c27565b62001c26674b9471e9fc68f75f60c01b6200073a565b5b62001c3d6744627d43ccecd7f160c01b6200073a565b62001c536717d248a7372779a660c01b6200073a565b8091505095945050505050565b610f328062001c6f8339019056fe608060405234801561001057600080fd5b50604051610f32380380610f328339818101604052604081101561003357600080fd5b810190808051906020019092919080519060200190929190505050610068674c05ed6aa1cd281960c01b61019960201b60201c565b610082675db0dfd7018850c360c01b61019960201b60201c565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506100dc6727cd07b305f6130f60c01b61019c60201b60201c565b6100f6673763e953c2595ed960c01b61019c60201b60201c565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610151679802ebbc23dba3ba60c01b61019c60201b60201c565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505061019f565b50565b50565b610d84806101ae6000396000f3fe6080604052600436106100e15760003560e01c80635c60da1b1161007f578063a42ea70811610059578063a42ea7081461067a578063d1c43eae146106d0578063d784d42614610726578063f77c479114610777576100e8565b80635c60da1b1461058c5780637b103999146105cd5780638f9bda6e1461060e576100e8565b80633f579f42116100bb5780633f579f421461031f57806344f9c9ec14610448578063550648ff146104b457806356c2fc6c14610520576100e8565b806310b90163146101f1578063221523e51461025d57806325afd90f146102c9576100e8565b366100e857005b3480156100f457600080fd5b5061010967d1c166158a76fd7860c01b6107b8565b61011d670a4a924f04604fe560c01b6107b8565b610131670ec1ea2f1a11078060c01b6107b8565b600080369050146101db57610150670366ed24f6d51c0d60c01b6107b8565b61016467583b5ef5a1a2fce260c01b6107b8565b61017867726acafc478ad1f860c01b6107b8565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506101b3673d8591565072bf1f60c01b6107b8565b368060008037600080826000855af43d806000803e81600081146101d657816000f35b816000fd5b6101ef67967eae13d5222be260c01b6107b8565b005b3480156101fd57600080fd5b506102456004803603602081101561021457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107bb565b60405180821515815260200191505060405180910390f35b34801561026957600080fd5b506102b16004803603602081101561028057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107c2565b60405180821515815260200191505060405180910390f35b3480156102d557600080fd5b5061031d600480360360208110156102ec57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107b8565b005b34801561032b57600080fd5b506103cd6004803603606081101561034257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561038957600080fd5b82018360208201111561039b57600080fd5b803590602001918460018302840111640100000000831117156103bd57600080fd5b90919293919293905050506107c9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561040d5780820151818401526020810190506103f2565b50505050905090810190601f16801561043a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561045457600080fd5b5061049c6004803603602081101561046b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610afd565b60405180821515815260200191505060405180910390f35b3480156104c057600080fd5b50610508600480360360208110156104d757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b08565b60405180821515815260200191505060405180910390f35b34801561052c57600080fd5b506105746004803603602081101561054357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b0f565b60405180821515815260200191505060405180910390f35b34801561059857600080fd5b506105a1610b1a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105d957600080fd5b506105e2610b40565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561061a57600080fd5b506106626004803603602081101561063157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b66565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506106ce6004803603602081101561069d57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b71565b005b3480156106dc57600080fd5b50610724600480360360208110156106f357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b74565b005b34801561073257600080fd5b506107756004803603602081101561074957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b77565b005b34801561078357600080fd5b5061078c610d27565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b50565b6000919050565b6000919050565b60606107df6715e98a49f265557060c01b6107b8565b6107f367f6266a592c249da560c01b610b74565b6108076728279893f8537e1960c01b610b74565b61081b67d300d0a9ecbe6cac60c01b610b74565b61082f678d5c0caa285e3ec560c01b610b74565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610d4c602c913960400191505060405180910390fd5b6108e76718b2e4dd03bc759a60c01b610b74565b6108fb67f8b65e28b897a44f60c01b610b74565b61090f67390c85347f6e2a2360c01b6107b8565b61092367d2a3446ca25e972660c01b6107b8565b61093767aca9b4091d5a9bc860c01b6107b8565b61094b67cce790cad14eb25260c01b6107b8565b606061096167b3adbec8c64c374360c01b6107b8565b6109756791d717b4dffb179d60c01b6107b8565b600061098b67310ff00dd2ac011060c01b6107b8565b8673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d80600081146109f7576040519150601f19603f3d011682016040523d82523d6000602084013e6109fc565b606091505b508093508192505050610a1967a450d3c3f63b6d4d60c01b6107b8565b610a2d679a3e7d330ffc414560c01b6107b8565b610a41671925c722e30d4f6d60c01b6107b8565b80610ab4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b610ac867a7fa168288301d1c60c01b6107b8565b610adc6745320fb16320fa4a60c01b6107b8565b610af06779ce6fa2117b3f1e60c01b6107b8565b8192505050949350505050565b600060019050919050565b6000919050565b600060019050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b50565b50565b610b8b6735cfec4d4a3972f660c01b6107b8565b610b9f67f6266a592c249da560c01b610b74565b610bb36728279893f8537e1960c01b610b74565b610bc767d300d0a9ecbe6cac60c01b610b74565b610bdb678d5c0caa285e3ec560c01b610b74565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610d4c602c913960400191505060405180910390fd5b610c936718b2e4dd03bc759a60c01b610b74565b610ca767f8b65e28b897a44f60c01b610b74565b610cbb67dbd823a6f693c9e360c01b6107b8565b610ccf6759af4a1e64a734ae60c01b6107b8565b610ce367123d1e7dcae181d060c01b6107b8565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a4163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420496d706c656d656e746174696f6e20746f203078304163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f2073656c664163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420726567697374727920746f203078304163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f203078304163636f756e74436f6e74726f6c6c65723a206163636f756e7420616c72656164792075706772616465644163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f20636f6e74726f6c6c6572a164736f6c634300060c000a4163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420496d706c656d656e746174696f6e20746f203078304163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420726567697374727920746f20307830"; type AccountControllerMockConstructorParams = | [signer?: Signer] diff --git a/typings/factories/AccountController__factory.ts b/typings/factories/AccountController__factory.ts index 414b79da..65f67c33 100644 --- a/typings/factories/AccountController__factory.ts +++ b/typings/factories/AccountController__factory.ts @@ -137,6 +137,57 @@ const _abi = [ stateMutability: "view", type: "function", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__bf6efb80", + type: "bytes8", + }, + ], + name: "c_bf6efb80", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__bf6efb80", + type: "bytes8", + }, + ], + name: "c_falsebf6efb80", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__bf6efb80", + type: "bytes8", + }, + ], + name: "c_truebf6efb80", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, ]; export class AccountController__factory { diff --git a/typings/factories/AccountImplementationV1Mock__factory.ts b/typings/factories/AccountImplementationV1Mock__factory.ts index 4d68ec03..6bf3c4a4 100644 --- a/typings/factories/AccountImplementationV1Mock__factory.ts +++ b/typings/factories/AccountImplementationV1Mock__factory.ts @@ -33,6 +33,210 @@ const _abi = [ name: "Initialized", type: "event", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_098c0657", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__28344ffb", + type: "bytes8", + }, + ], + name: "c_28344ffb", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__2860b96a", + type: "bytes8", + }, + ], + name: "c_2860b96a", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__3fd0a446", + type: "bytes8", + }, + ], + name: "c_3fd0a446", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_false098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__28344ffb", + type: "bytes8", + }, + ], + name: "c_false28344ffb", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__2860b96a", + type: "bytes8", + }, + ], + name: "c_false2860b96a", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__3fd0a446", + type: "bytes8", + }, + ], + name: "c_false3fd0a446", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_true098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__28344ffb", + type: "bytes8", + }, + ], + name: "c_true28344ffb", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__2860b96a", + type: "bytes8", + }, + ], + name: "c_true2860b96a", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__3fd0a446", + type: "bytes8", + }, + ], + name: "c_true3fd0a446", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { @@ -258,7 +462,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50604051610d7f380380610d7f8339818101604052602081101561003357600080fd5b8101908080519060200190929190505050326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610caa806100d56000396000f3fe608060405234801561001057600080fd5b50600436106100925760003560e01c8063249cb3fa11610066578063249cb3fa1461047c578063392e53cd146104de5780637b103999146104fe578063c4d66de814610532578063f23a6e611461057657610092565b806223de2914610097578063150b7a02146101cf5780631626ba7e146102c557806320c13b0b1461037b575b600080fd5b6101cd600480360360c08110156100ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561013457600080fd5b82018360208201111561014657600080fd5b8035906020019184600183028401116401000000008311171561016857600080fd5b90919293919293908035906020019064010000000081111561018957600080fd5b82018360208201111561019b57600080fd5b803590602001918460018302840111640100000000831117156101bd57600080fd5b9091929391929390505050610676565b005b610290600480360360808110156101e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561024c57600080fd5b82018360208201111561025e57600080fd5b8035906020019184600183028401116401000000008311171561028057600080fd5b9091929391929390505050610680565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b610346600480360360408110156102db57600080fd5b81019080803590602001909291908035906020019064010000000081111561030257600080fd5b82018360208201111561031457600080fd5b8035906020019184600183028401116401000000008311171561033657600080fd5b9091929391929390505050610695565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6104476004803603604081101561039157600080fd5b81019080803590602001906401000000008111156103ae57600080fd5b8201836020820111156103c057600080fd5b803590602001918460018302840111640100000000831117156103e257600080fd5b90919293919293908035906020019064010000000081111561040357600080fd5b82018360208201111561041557600080fd5b8035906020019184600183028401116401000000008311171561043757600080fd5b90919293919293905050506107f9565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6104c86004803603604081101561049257600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098a565b6040518082815260200191505060405180910390f35b6104e6610a66565b60405180821515815260200191505060405180910390f35b610506610abc565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105746004803603602081101561054857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ae2565b005b610641600480360360a081101561058c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001906401000000008111156105fd57600080fd5b82018360208201111561060f57600080fd5b8035906020019184600183028401116401000000008311171561063157600080fd5b9091929391929390505050610c58565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b5050505050505050565b600063150b7a0260e01b905095945050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1e382ce308686866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509550505050505060206040518083038186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d602081101561078657600080fd5b81019080805190602001909291905050506107a85763ffffffff60e01b6107f0565b60405160200180807f697356616c69645369676e617475726528627974657333322c62797465732900815250601f019050604051602081830303815290604052805190602001205b90509392505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663124e9eb330878787876040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f82011690508083019250505097505050505050505060206040518083038186803b1580156108ec57600080fd5b505afa158015610900573d6000803e3d6000fd5b505050506040513d602081101561091657600080fd5b81019080805190602001909291905050506109385763ffffffff60e01b610980565b60405160200180807f697356616c69645369676e61747572652862797465732c627974657329000000815250601d019050604051602081830303815290604052805190602001205b9050949350505050565b60008060405160200180807f455243373737546f6b656e73526563697069656e74000000000000000000000081525060150190506040516020818303038152906040528051906020012084148015610a0d57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610a5c5760405160200180807f455243313832305f4143434550545f4d4147494300000000000000000000000081525060140190506040516020818303038152906040528051906020012090505b8091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610b86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180610c6f602f913960400191505060405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600063f23a6e6160e01b9050969550505050505056fe496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a6572a164736f6c634300060c000a"; + "0x60806040523480156200001157600080fd5b50604051620016b4380380620016b4833981810160405260208110156200003757600080fd5b81019080805190602001909291905050506200006467bcc9be562f8a4b0a60c01b6200015c60201b60201c565b6200008067579ae7209daca85260c01b6200015c60201b60201c565b326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000dc6729f26e2a831f76bd60c01b6200015f60201b60201c565b620000f8671839dd99ec0e261160c01b6200016260201b60201c565b620001146786d4d79b1474ba0960c01b6200016260201b60201c565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000165565b50565b50565b50565b61153f80620001756000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c806344f9c9ec116100b8578063b8919b571161007c578063b8919b5714610876578063c4543305146108d5578063c4d66de814610934578063d84fa10c14610978578063e49ef2a8146109d7578063f23a6e6114610a3657610136565b806344f9c9ec146106f25780635a8f0675146107515780637b103999146107b0578063a42ea708146107e4578063b851f6f91461082d57610136565b806320c13b0b116100ff57806320c13b0b146104c7578063221523e5146105c8578063249cb3fa14610627578063392e53cd146106895780633e260b13146106a957610136565b806223de291461013b5780630effa61f14610273578063150b7a02146102d25780631626ba7e146103c85780631ac0e7171461047e575b600080fd5b610271600480360360c081101561015157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156101d857600080fd5b8201836020820111156101ea57600080fd5b8035906020019184600183028401116401000000008311171561020c57600080fd5b90919293919293908035906020019064010000000081111561022d57600080fd5b82018360208201111561023f57600080fd5b8035906020019184600183028401116401000000008311171561026157600080fd5b9091929391929390505050610b36565b005b6102ba6004803603602081101561028957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b54565b60405180821515815260200191505060405180910390f35b610393600480360360808110156102e857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561034f57600080fd5b82018360208201111561036157600080fd5b8035906020019184600183028401116401000000008311171561038357600080fd5b9091929391929390505050610b5f565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b610449600480360360408110156103de57600080fd5b81019080803590602001909291908035906020019064010000000081111561040557600080fd5b82018360208201111561041757600080fd5b8035906020019184600183028401116401000000008311171561043957600080fd5b9091929391929390505050610bb0565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6104c56004803603602081101561049457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610d87565b005b610593600480360360408110156104dd57600080fd5b81019080803590602001906401000000008111156104fa57600080fd5b82018360208201111561050c57600080fd5b8035906020019184600183028401116401000000008311171561052e57600080fd5b90919293919293908035906020019064010000000081111561054f57600080fd5b82018360208201111561056157600080fd5b8035906020019184600183028401116401000000008311171561058357600080fd5b9091929391929390505050610d8a565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b61060f600480360360208110156105de57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610f8e565b60405180821515815260200191505060405180910390f35b6106736004803603604081101561063d57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f95565b6040518082815260200191505060405180910390f35b61069161113f565b60405180821515815260200191505060405180910390f35b6106f0600480360360208110156106bf57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506111d2565b005b6107396004803603602081101561070857600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506111d5565b60405180821515815260200191505060405180910390f35b6107986004803603602081101561076757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506111e0565b60405180821515815260200191505060405180910390f35b6107b86111eb565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61082b600480360360208110156107fa57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611211565b005b6108746004803603602081101561084357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611214565b005b6108bd6004803603602081101561088c57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611217565b60405180821515815260200191505060405180910390f35b61091c600480360360208110156108eb57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061121e565b60405180821515815260200191505060405180910390f35b6109766004803603602081101561094a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611229565b005b6109bf6004803603602081101561098e57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506114a3565b60405180821515815260200191505060405180910390f35b610a1e600480360360208110156109ed57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506114aa565b60405180821515815260200191505060405180910390f35b610b01600480360360a0811015610a4c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190640100000000811115610abd57600080fd5b820183602082011115610acf57600080fd5b80359060200191846001830284011164010000000083111715610af157600080fd5b90919293919293905050506114b1565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b610b4a67ce47c0f946eadb1860c01b611214565b5050505050505050565b600060019050919050565b6000610b7567b827fecf1e33001460c01b611214565b610b8967b3558d27713bcbc360c01b611214565b610b9d67ca5809ab03b36cc360c01b611214565b63150b7a0260e01b905095945050505050565b6000610bc667d15cb231db01bd9560c01b611214565b610bda67cf444c026e53d2b560c01b611214565b610bee67feb865187e703ce360c01b611214565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1e382ce308686866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509550505050505060206040518083038186803b158015610cb357600080fd5b505afa158015610cc7573d6000803e3d6000fd5b505050506040513d6020811015610cdd57600080fd5b81019080805190602001909291905050508015610d0a5750610d0967dcb61cbea4e09a8a60c01b610b54565b5b80610d255750610d2467597b2a0b23f7987b60c01b611217565b5b610d365763ffffffff60e01b610d7e565b60405160200180807f697356616c69645369676e617475726528627974657333322c62797465732900815250601f019050604051602081830303815290604052805190602001205b90509392505050565b50565b6000610da0679d53a108f4152ee460c01b611214565b610db4678f46380630213e2760c01b611214565b610dc8670444693b6dda2f5360c01b611214565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663124e9eb330878787876040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f82011690508083019250505097505050505050505060206040518083038186803b158015610eb957600080fd5b505afa158015610ecd573d6000803e3d6000fd5b505050506040513d6020811015610ee357600080fd5b81019080805190602001909291905050508015610f105750610f0f67597e334f5a972f1e60c01b610b54565b5b80610f2b5750610f2a67624be475bd07a4c360c01b611217565b5b610f3c5763ffffffff60e01b610f84565b60405160200180807f697356616c69645369676e61747572652862797465732c627974657329000000815250601d019050604051602081830303815290604052805190602001205b9050949350505050565b6000919050565b6000610fab674fa492bc3d866f9660c01b611214565b610fbf67f11658511bdad90960c01b611214565b610fd367aea7b4d1358b312860c01b611214565b6000610fe967c7d74f3aaa7aa17a60c01b611214565b610ffd670b029f119a0e101260c01b611214565b60405160200180807f455243373737546f6b656e73526563697069656e7400000000000000000000008152506015019050604051602081830303815290604052805190602001208414801561107d57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156110f85761109667159f49977ceb711e60c01b611214565b6110aa67a1697c883c2b4d5f60c01b611214565b60405160200180807f455243313832305f4143434550545f4d41474943000000000000000000000000815250601401905060405160208183030381529060405280519060200120905061110d565b61110c6740bc089d08a45f7660c01b611214565b5b611121675edb1ebe087f56d760c01b611214565b61113567b6341297d7ddf48460c01b611214565b8091505092915050565b600061115567e29fe2f351ca6b2760c01b6111d2565b611169676f5dd3f08b97747760c01b6111d2565b61117d673a9488d62818322a60c01b6111d2565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b600060019050919050565b600060019050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b50565b50565b6000919050565b600060019050919050565b61123d678fa2e2799025577f60c01b611214565b61125167d2ba19feb39e0b7f60c01b6111d2565b611265670c5ad53cdb9edd1560c01b6111d2565b61127967b6b588d2ebb9ae6960c01b6111d2565b61128d67c4ec9a90a885875260c01b6111d2565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611331576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180611504602f913960400191505060405180910390fd5b61134567c3785ba1534db95460c01b6111d2565b61135967e4202927591248ef60c01b6111d2565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506113ae67531cfa2817fbdc8660c01b6111d2565b6113c2670fe7483554c7d7f060c01b611214565b6113d6671ba251afbdd08eb960c01b611214565b6113ea67e4b4698cdfd724ee60c01b611214565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061143f6701520f419008b58e60c01b6111d2565b6114536775364c04848b013b60c01b6111d2565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000919050565b6000919050565b60006114c76773b65ea4d003e8c060c01b611214565b6114db67efee7b06625db93660c01b611214565b6114ef6733114e923245121260c01b611214565b63f23a6e6160e01b9050969550505050505056fe496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a6572a164736f6c634300060c000a"; type AccountImplementationV1MockConstructorParams = | [signer?: Signer] diff --git a/typings/factories/AccountImplementationV1__factory.ts b/typings/factories/AccountImplementationV1__factory.ts index 73d595b2..519591bd 100644 --- a/typings/factories/AccountImplementationV1__factory.ts +++ b/typings/factories/AccountImplementationV1__factory.ts @@ -23,6 +23,159 @@ const _abi = [ name: "Initialized", type: "event", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_098c0657", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__28344ffb", + type: "bytes8", + }, + ], + name: "c_28344ffb", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__2860b96a", + type: "bytes8", + }, + ], + name: "c_2860b96a", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_false098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__28344ffb", + type: "bytes8", + }, + ], + name: "c_false28344ffb", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__2860b96a", + type: "bytes8", + }, + ], + name: "c_false2860b96a", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_true098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__28344ffb", + type: "bytes8", + }, + ], + name: "c_true28344ffb", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__2860b96a", + type: "bytes8", + }, + ], + name: "c_true2860b96a", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { diff --git a/typings/factories/AccountRegistryMock__factory.ts b/typings/factories/AccountRegistryMock__factory.ts index 04557a31..4539f39d 100644 --- a/typings/factories/AccountRegistryMock__factory.ts +++ b/typings/factories/AccountRegistryMock__factory.ts @@ -9,6 +9,108 @@ import type { } from "../AccountRegistryMock"; const _abi = [ + { + inputs: [ + { + internalType: "bytes8", + name: "c__9649d652", + type: "bytes8", + }, + ], + name: "c_9649d652", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9649d652", + type: "bytes8", + }, + ], + name: "c_false9649d652", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__fbab7e5c", + type: "bytes8", + }, + ], + name: "c_falsefbab7e5c", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__fbab7e5c", + type: "bytes8", + }, + ], + name: "c_fbab7e5c", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9649d652", + type: "bytes8", + }, + ], + name: "c_true9649d652", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__fbab7e5c", + type: "bytes8", + }, + ], + name: "c_truefbab7e5c", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { @@ -88,7 +190,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50610960806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063124e9eb314610046578063cbc438bf1461014a578063e1e382ce14610222575b600080fd5b6101326004803603606081101561005c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561009957600080fd5b8201836020820111156100ab57600080fd5b803590602001918460018302840111640100000000831117156100cd57600080fd5b9091929391929390803590602001906401000000008111156100ee57600080fd5b82018360208201111561010057600080fd5b8035906020019184600183028401116401000000008311171561012257600080fd5b90919293919293905050506102db565b60405180821515815260200191505060405180910390f35b6102206004803603604081101561016057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561019d57600080fd5b8201836020820111156101af57600080fd5b803590602001918460208302840111640100000000831117156101d157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610418565b005b6102c36004803603606081101561023857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561027f57600080fd5b82018360208201111561029157600080fd5b803590602001918460018302840111640100000000831117156102b357600080fd5b90919293919293905050506104e3565b60405180821515815260200191505060405180910390f35b60008061038184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061037388888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506105d3565b61073c90919063ffffffff16565b90506000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505095945050505050565b60008151905060005b818110156104dd5760016000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085848151811061047757fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610421565b50505050565b60008061053d84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508661073c90919063ffffffff16565b90506000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16915050949350505050565b60006105df825161080c565b826040516020018082805190602001908083835b6020831061061657805182526020820191506020810190506020830392506105f3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405260405160200180807f19457468657265756d205369676e6564204d6573736167653a0a000000000000815250601a0183805190602001908083835b602083106106a85780518252602082019150602081019050602083039250610685565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b602083106106f957805182526020820191506020810190506020830392506106d6565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052805190602001209050919050565b600080600090506041835114156108025760008060006020860151925060408601519150606086015160001a9050601b8160ff16101561077d57601b810190505b601b8160ff1614806107925750601c8160ff16145b156107fe5760018782858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156107f1573d6000803e3d6000fd5b5050506020604051035193505b5050505b8091505092915050565b60606000821415610854576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061094e565b600082905060005b6000821461087e578080600101915050600a828161087657fe5b04915061085c565b60608167ffffffffffffffff8111801561089757600080fd5b506040519080825280601f01601f1916602001820160405280156108ca5781602001600182028036833780820191505090505b50905060006001830390508593505b6000841461094657600a84816108eb57fe5b0660300160f81b8282806001900393508151811061090557fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a848161093e57fe5b0493506108d9565b819450505050505b91905056fea164736f6c634300060c000a"; + "0x608060405234801561001057600080fd5b506111d1806100206000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806399066bc61161006657806399066bc6146102a3578063cbc438bf146102ec578063e1e382ce146103c4578063f0ce0fe61461047d578063f0e97b33146104dc57610093565b8063124e9eb31461009857806339235d621461019c5780636259e66f146101fb57806382fa0d1e14610244575b600080fd5b610184600480360360608110156100ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156100eb57600080fd5b8201836020820111156100fd57600080fd5b8035906020019184600183028401116401000000008311171561011f57600080fd5b90919293919293908035906020019064010000000081111561014057600080fd5b82018360208201111561015257600080fd5b8035906020019184600183028401116401000000008311171561017457600080fd5b909192939192939050505061053b565b60405180821515815260200191505060405180910390f35b6101e3600480360360208110156101b257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506106dd565b60405180821515815260200191505060405180910390f35b6102426004803603602081101561021157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506106e4565b005b61028b6004803603602081101561025a57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506106e7565b60405180821515815260200191505060405180910390f35b6102ea600480360360208110156102b957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506106f2565b005b6103c26004803603604081101561030257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561033f57600080fd5b82018360208201111561035157600080fd5b8035906020019184602083028401116401000000008311171561037357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506106f5565b005b610465600480360360608110156103da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561042157600080fd5b82018360208201111561043357600080fd5b8035906020019184600183028401116401000000008311171561045557600080fd5b9091929391929390505050610838565b60405180821515815260200191505060405180910390f35b6104c46004803603602081101561049357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061098d565b60405180821515815260200191505060405180910390f35b610523600480360360208110156104f257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610998565b60405180821515815260200191505060405180910390f35b6000610551674774857102ee385160c01b6106e4565b6105656773f1487c75d694f860c01b6106e4565b610579679eaf38bfa5ffda1860c01b6106e4565b600061061e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061061088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061099f565b610b4490919063ffffffff16565b9050610634677108cfd2b8f1685560c01b6106e4565b6106486743bfd04725bb7ab460c01b6106e4565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505095945050505050565b6000919050565b50565b600060019050919050565b50565b610709676f63c5f6dba4beab60c01b6106e4565b61071d679cd1be894a90accd60c01b6106e4565b61073167bb37c9607ea813a560c01b6106e4565b60008151905061074b6736d7512991da8afe60c01b6106e4565b61075f67a30a1dc641009c5460c01b6106e4565b60005b818110156108325761077e67c032a26f6f1135c460c01b6106e4565b60016000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008584815181106107cc57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610762565b50505050565b600061084e670c6be4924ae2085460c01b6106e4565b6108626747a760788a349f0b60c01b6106e4565b6108766748f680dc33bc9d3f60c01b6106e4565b60006108cf84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086610b4490919063ffffffff16565b90506108e56747f655d17704028a60c01b6106e4565b6108f9670fae7617e6d5f3d760c01b6106e4565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16915050949350505050565b600060019050919050565b6000919050565b60006109b5676caf41065fc97a4260c01b610e61565b6109c9679f00e9579a814efe60c01b610e61565b6109dd678bbf08d0403adc3f60c01b610e61565b6109e78251610e64565b826040516020018082805190602001908083835b60208310610a1e57805182526020820191506020810190506020830392506109fb565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405260405160200180807f19457468657265756d205369676e6564204d6573736167653a0a000000000000815250601a0183805190602001908083835b60208310610ab05780518252602082019150602081019050602083039250610a8d565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b60208310610b015780518252602082019150602081019050602083039250610ade565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052805190602001209050919050565b6000610b5a670d75db982ec4597160c01b6111b3565b610b6e6725c2c60ab754182560c01b6111b3565b610b82673eb64a254569ed0660c01b6111b3565b6000610b9867fb2a2286066e15e460c01b6111b3565b610bac67a440db11ec9e986d60c01b6111b3565b604183511415610e1a57610bca6704a5aada48e2763260c01b6111b3565b610bde674b98cf1796e5c26660c01b6111b3565b610bf267d2dfec7b159385fc60c01b6111b3565b6000610c086772c2a840621b4aa760c01b6111b3565b610c1c67bfd411e6ba4d07c460c01b6111b3565b6000610c3267145d23f82764ba9960c01b6111b3565b610c4667acdff958a9c6c5dd60c01b6111b3565b6000610c5c673b79e3a80932a6a160c01b6111b3565b6020860151925060408601519150606086015160001a9050610c88679b0cdee01a57ea2f60c01b6111b3565b610c9c675dbf88583373227960c01b6111b3565b601b8160ff161015610cdb57610cbc670dc9a1836eb51c3260c01b6111b3565b610cd0677097d8456a6c3e1560c01b6111b3565b601b81019050610cf0565b610cef6708b39c61216869e760c01b6111b3565b5b610d04672ea4d6db7d2138c560c01b6111b3565b610d18679ad3f461195a5eee60c01b6111b3565b601b8160ff16148015610d3b5750610d3a67a24e972b59dc7d0560c01b6111b6565b5b80610d655750601c8160ff16148015610d645750610d6367934bee4849491d9560c01b6111b6565b5b5b15610dfd57610d7e676d6a491fc6e072fa60c01b6111b3565b610d9267aecd1690d1de9f1c60c01b6111b3565b60018782858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610dec573d6000803e3d6000fd5b505050602060405103519350610e12565b610e1167513fbc3b3a0ad1c060c01b6111b3565b5b505050610e2f565b610e2e6723d6d78de386c96660c01b6111b3565b5b610e436707d0c4f11e72cfc960c01b6111b3565b610e5767b9689b22f403636c60c01b6111b3565b8091505092915050565b50565b6060610e7a67e3a0abd5bcd9be4560c01b6111c1565b610e8e676f4ac71b01df0db160c01b6111c1565b610ea26721d33336b8b2843560c01b6111c1565b6000821415610f2457610ebf6799734a524846f5ea60c01b6111c1565b610ed36786ec3af2b5204b2d60c01b6111c1565b610ee7675f049c9df345fcb860c01b6111c1565b6040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506111ae565b610f38674e123f29ad8e63ae60c01b6111c1565b610f4c678a02b86c6f5ae79060c01b6111c1565b610f6067aef6cecdbdb7f12260c01b6111c1565b6000829050610f79675ee403aa4c2e194160c01b6111c1565b610f8d67c9a686dccda57deb60c01b6111c1565b6000610fa36770f6e6f301963e5060c01b6111c1565b610fb767cec46452a4c2007960c01b6111c1565b5b6000821461100257610fd467a2c57d3c793a6eb760c01b6111c1565b8080600101915050610ff0677b9437f81985d6c960c01b6111c1565b600a8281610ffa57fe5b049150610fb8565b611016675b6ccf3f6790a03260c01b6111c1565b61102a67c5942845ca4d8bd160c01b6111c1565b60608167ffffffffffffffff8111801561104357600080fd5b506040519080825280601f01601f1916602001820160405280156110765781602001600182028036833780820191505090505b50905061108d67f47605e8a1a97a4f60c01b6111c1565b6110a167fb23949ab383488b60c01b6111c1565b60006001830390506110bd67f586ddddd202275b60c01b6111c1565b8593506110d4670a29638383e5bbf260c01b6111c1565b6110e867417a1c155b8c8d7860c01b6111c1565b5b6000841461117e576111056730db4ddbb2bce57560c01b6111c1565b600a848161110f57fe5b0660300160f81b8282806001900393508151811061112957fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061116c6753f1af39e9b748c960c01b6111c1565b600a848161117657fe5b0493506110e9565b611192674d1eb2df4daf6cff60c01b6111c1565b6111a6677ce056f455b7e7f260c01b6111c1565b819450505050505b919050565b50565b600060019050919050565b5056fea164736f6c634300060c000a"; type AccountRegistryMockConstructorParams = | [signer?: Signer] diff --git a/typings/factories/AccountRegistry__factory.ts b/typings/factories/AccountRegistry__factory.ts index 208c51ee..d587234e 100644 --- a/typings/factories/AccountRegistry__factory.ts +++ b/typings/factories/AccountRegistry__factory.ts @@ -10,6 +10,57 @@ import type { } from "../AccountRegistry"; const _abi = [ + { + inputs: [ + { + internalType: "bytes8", + name: "c__9649d652", + type: "bytes8", + }, + ], + name: "c_9649d652", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9649d652", + type: "bytes8", + }, + ], + name: "c_false9649d652", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9649d652", + type: "bytes8", + }, + ], + name: "c_true9649d652", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { diff --git a/typings/factories/Account__factory.ts b/typings/factories/Account__factory.ts index 2f3798ac..db8b8482 100644 --- a/typings/factories/Account__factory.ts +++ b/typings/factories/Account__factory.ts @@ -26,6 +26,159 @@ const _abi = [ stateMutability: "nonpayable", type: "fallback", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__28344ffb", + type: "bytes8", + }, + ], + name: "c_28344ffb", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__495bfa8b", + type: "bytes8", + }, + ], + name: "c_495bfa8b", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__ac4285e3", + type: "bytes8", + }, + ], + name: "c_ac4285e3", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__28344ffb", + type: "bytes8", + }, + ], + name: "c_false28344ffb", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__495bfa8b", + type: "bytes8", + }, + ], + name: "c_false495bfa8b", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__ac4285e3", + type: "bytes8", + }, + ], + name: "c_falseac4285e3", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__28344ffb", + type: "bytes8", + }, + ], + name: "c_true28344ffb", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__495bfa8b", + type: "bytes8", + }, + ], + name: "c_true495bfa8b", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__ac4285e3", + type: "bytes8", + }, + ], + name: "c_trueac4285e3", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [], name: "controller", @@ -114,7 +267,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b506040516107513803806107518339818101604052604081101561003357600080fd5b810190808051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610630806101216000396000f3fe60806040526004361061004e5760003560e01c80633f579f42146100be5780635c60da1b146101e75780637b10399914610228578063d784d42614610269578063f77c4791146102ba57610055565b3661005557005b34801561006157600080fd5b50600080369050146100bc576000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050368060008037600080826000855af43d806000803e81600081146100b757816000f35b816000fd5b005b3480156100ca57600080fd5b5061016c600480360360608110156100e157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561012857600080fd5b82018360208201111561013a57600080fd5b8035906020019184600183028401116401000000008311171561015c57600080fd5b90919293919293905050506102fb565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ac578082015181840152602081019050610191565b50505050905090810190601f1680156101d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101f357600080fd5b506101fc61049f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023457600080fd5b5061023d6104c5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027557600080fd5b506102b86004803603602081101561028c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104eb565b005b3480156102c657600080fd5b506102cf6105d3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806105f8602c913960400191505060405180910390fd5b606060008673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d8060008114610411576040519150601f19603f3d011682016040523d82523d6000602084013e610416565b606091505b50809350819250505080610492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b8192505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461058f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806105f8602c913960400191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a"; + "0x608060405234801561001057600080fd5b50604051610f32380380610f328339818101604052604081101561003357600080fd5b810190808051906020019092919080519060200190929190505050610068674c05ed6aa1cd281960c01b61019960201b60201c565b610082675db0dfd7018850c360c01b61019960201b60201c565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506100dc6727cd07b305f6130f60c01b61019c60201b60201c565b6100f6673763e953c2595ed960c01b61019c60201b60201c565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610151679802ebbc23dba3ba60c01b61019c60201b60201c565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505061019f565b50565b50565b610d84806101ae6000396000f3fe6080604052600436106100e15760003560e01c80635c60da1b1161007f578063a42ea70811610059578063a42ea7081461067a578063d1c43eae146106d0578063d784d42614610726578063f77c479114610777576100e8565b80635c60da1b1461058c5780637b103999146105cd5780638f9bda6e1461060e576100e8565b80633f579f42116100bb5780633f579f421461031f57806344f9c9ec14610448578063550648ff146104b457806356c2fc6c14610520576100e8565b806310b90163146101f1578063221523e51461025d57806325afd90f146102c9576100e8565b366100e857005b3480156100f457600080fd5b5061010967d1c166158a76fd7860c01b6107b8565b61011d670a4a924f04604fe560c01b6107b8565b610131670ec1ea2f1a11078060c01b6107b8565b600080369050146101db57610150670366ed24f6d51c0d60c01b6107b8565b61016467583b5ef5a1a2fce260c01b6107b8565b61017867726acafc478ad1f860c01b6107b8565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506101b3673d8591565072bf1f60c01b6107b8565b368060008037600080826000855af43d806000803e81600081146101d657816000f35b816000fd5b6101ef67967eae13d5222be260c01b6107b8565b005b3480156101fd57600080fd5b506102456004803603602081101561021457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107bb565b60405180821515815260200191505060405180910390f35b34801561026957600080fd5b506102b16004803603602081101561028057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107c2565b60405180821515815260200191505060405180910390f35b3480156102d557600080fd5b5061031d600480360360208110156102ec57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107b8565b005b34801561032b57600080fd5b506103cd6004803603606081101561034257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561038957600080fd5b82018360208201111561039b57600080fd5b803590602001918460018302840111640100000000831117156103bd57600080fd5b90919293919293905050506107c9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561040d5780820151818401526020810190506103f2565b50505050905090810190601f16801561043a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561045457600080fd5b5061049c6004803603602081101561046b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610afd565b60405180821515815260200191505060405180910390f35b3480156104c057600080fd5b50610508600480360360208110156104d757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b08565b60405180821515815260200191505060405180910390f35b34801561052c57600080fd5b506105746004803603602081101561054357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b0f565b60405180821515815260200191505060405180910390f35b34801561059857600080fd5b506105a1610b1a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105d957600080fd5b506105e2610b40565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561061a57600080fd5b506106626004803603602081101561063157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b66565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506106ce6004803603602081101561069d57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b71565b005b3480156106dc57600080fd5b50610724600480360360208110156106f357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b74565b005b34801561073257600080fd5b506107756004803603602081101561074957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b77565b005b34801561078357600080fd5b5061078c610d27565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b50565b6000919050565b6000919050565b60606107df6715e98a49f265557060c01b6107b8565b6107f367f6266a592c249da560c01b610b74565b6108076728279893f8537e1960c01b610b74565b61081b67d300d0a9ecbe6cac60c01b610b74565b61082f678d5c0caa285e3ec560c01b610b74565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610d4c602c913960400191505060405180910390fd5b6108e76718b2e4dd03bc759a60c01b610b74565b6108fb67f8b65e28b897a44f60c01b610b74565b61090f67390c85347f6e2a2360c01b6107b8565b61092367d2a3446ca25e972660c01b6107b8565b61093767aca9b4091d5a9bc860c01b6107b8565b61094b67cce790cad14eb25260c01b6107b8565b606061096167b3adbec8c64c374360c01b6107b8565b6109756791d717b4dffb179d60c01b6107b8565b600061098b67310ff00dd2ac011060c01b6107b8565b8673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d80600081146109f7576040519150601f19603f3d011682016040523d82523d6000602084013e6109fc565b606091505b508093508192505050610a1967a450d3c3f63b6d4d60c01b6107b8565b610a2d679a3e7d330ffc414560c01b6107b8565b610a41671925c722e30d4f6d60c01b6107b8565b80610ab4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b610ac867a7fa168288301d1c60c01b6107b8565b610adc6745320fb16320fa4a60c01b6107b8565b610af06779ce6fa2117b3f1e60c01b6107b8565b8192505050949350505050565b600060019050919050565b6000919050565b600060019050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b50565b50565b610b8b6735cfec4d4a3972f660c01b6107b8565b610b9f67f6266a592c249da560c01b610b74565b610bb36728279893f8537e1960c01b610b74565b610bc767d300d0a9ecbe6cac60c01b610b74565b610bdb678d5c0caa285e3ec560c01b610b74565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610d4c602c913960400191505060405180910390fd5b610c936718b2e4dd03bc759a60c01b610b74565b610ca767f8b65e28b897a44f60c01b610b74565b610cbb67dbd823a6f693c9e360c01b6107b8565b610ccf6759af4a1e64a734ae60c01b6107b8565b610ce367123d1e7dcae181d060c01b6107b8565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a"; type AccountConstructorParams = | [signer?: Signer] diff --git a/typings/factories/AddressLib__factory.ts b/typings/factories/AddressLib__factory.ts index 127427b3..6238942e 100644 --- a/typings/factories/AddressLib__factory.ts +++ b/typings/factories/AddressLib__factory.ts @@ -10,11 +10,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__6866fc56", + name: "c__c8dd6f34", type: "bytes8", }, ], - name: "c_6866fc56", + name: "c_c8dd6f34", outputs: [], stateMutability: "pure", type: "function", @@ -23,11 +23,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__6866fc56", + name: "c__c8dd6f34", type: "bytes8", }, ], - name: "c_false6866fc56", + name: "c_falsec8dd6f34", outputs: [ { internalType: "bool", @@ -42,11 +42,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__6866fc56", + name: "c__c8dd6f34", type: "bytes8", }, ], - name: "c_true6866fc56", + name: "c_truec8dd6f34", outputs: [ { internalType: "bool", @@ -60,7 +60,7 @@ const _abi = [ ]; const _bytecode = - "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80636074c36c14610050578063afd9965c14610099578063bdf2f737146100f8575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b005b6100e0600480360360208110156100af57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061015a565b60405180821515815260200191505060405180910390f35b61013f6004803603602081101561010e57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610165565b60405180821515815260200191505060405180910390f35b50565b600060019050919050565b600091905056fea164736f6c634300060c000a"; + "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80636df47516146100505780639ea44844146100af578063fb0f0e39146100f8575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b60405180821515815260200191505060405180910390f35b6100f6600480360360208110156100c557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061015e565b005b61013f6004803603602081101561010e57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610161565b60405180821515815260200191505060405180910390f35b6000919050565b50565b60006001905091905056fea164736f6c634300060c000a"; type AddressLibConstructorParams = | [signer?: Signer] diff --git a/typings/factories/BalancesHelperV2__factory.ts b/typings/factories/BalancesHelperV2__factory.ts index 3657e0b0..a87d49ba 100644 --- a/typings/factories/BalancesHelperV2__factory.ts +++ b/typings/factories/BalancesHelperV2__factory.ts @@ -46,6 +46,57 @@ const _abi = [ name: "TokenZeroAddress", type: "error", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__158c7976", + type: "bytes8", + }, + ], + name: "c_158c7976", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__158c7976", + type: "bytes8", + }, + ], + name: "c_false158c7976", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__158c7976", + type: "bytes8", + }, + ], + name: "c_true158c7976", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { @@ -97,7 +148,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b5061108a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806350c5a7101461003b578063ef5bfc371461006b575b600080fd5b610055600480360381019061005091906109e6565b61009b565b6040516100629190610ce8565b60405180910390f35b610085600480360381019061008091906109e6565b610279565b6040516100929190610d0a565b60405180910390f35b6060600083839050868690506100b19190610e68565b67ffffffffffffffff8111156100f0577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561011e5781602001602082028036833780820191505090505b50905060005b8686905081101561026c5760005b85859050811015610258576000828787905061014e9190610e68565b826101599190610e12565b90506101ff898985818110610197577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906101ac91906109bd565b8888858181106101e5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906101fa91906109bd565b610457565b848281518110610238577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505050808061025090610f3b565b915050610132565b50808061026490610f3b565b915050610124565b5080915050949350505050565b60606000838390508686905061028f9190610e68565b67ffffffffffffffff8111156102ce577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156102fc5781602001602082028036833780820191505090505b50905060005b8686905081101561044a5760005b85859050811015610436576000828787905061032c9190610e68565b826103379190610e12565b90506103dd898985818110610375577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201602081019061038a91906109bd565b8888858181106103c3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906103d891906109bd565b610608565b848281518110610416577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505050808061042e90610f3b565b915050610310565b50808061044290610f3b565b915050610302565b5080915050949350505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156104cc5782826040517f484305ff0000000000000000000000000000000000000000000000000000000081526004016104c3929190610cbf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156105405782826040517f41f93bdf000000000000000000000000000000000000000000000000000000008152600401610537929190610cbf565b60405180910390fd5b60006105e0632ec8eec760e01b8560405160240161055e9190610ca4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050508473ffffffffffffffffffffffffffffffffffffffff166107b090919063ffffffff16565b90506000818060200190518101906105f89190610a5b565b5050509050809250505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561067d5782826040517f484305ff000000000000000000000000000000000000000000000000000000008152600401610674929190610cbf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106f15782826040517f41f93bdf0000000000000000000000000000000000000000000000000000000081526004016106e8929190610cbf565b60405180910390fd5b60006107916370a0823160e01b8560405160240161070f9190610ca4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050508473ffffffffffffffffffffffffffffffffffffffff166107b090919063ffffffff16565b9050808060200190518101906107a79190610abe565b91505092915050565b60606107d58383604051806060016040528060258152602001611059602591396107dd565b905092915050565b60606107e8846108aa565b610827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081e90610d4e565b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff168560405161084f9190610c8d565b600060405180830381855afa9150503d806000811461088a576040519150601f19603f3d011682016040523d82523d6000602084013e61088f565b606091505b509150915061089f8282866108cd565b925050509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606083156108dd5782905061092d565b6000835111156108f05782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109249190610d2c565b60405180910390fd5b9392505050565b60008135905061094381611013565b92915050565b60008083601f84011261095b57600080fd5b8235905067ffffffffffffffff81111561097457600080fd5b60208301915083602082028301111561098c57600080fd5b9250929050565b6000815190506109a28161102a565b92915050565b6000815190506109b781611041565b92915050565b6000602082840312156109cf57600080fd5b60006109dd84828501610934565b91505092915050565b600080600080604085870312156109fc57600080fd5b600085013567ffffffffffffffff811115610a1657600080fd5b610a2287828801610949565b9450945050602085013567ffffffffffffffff811115610a4157600080fd5b610a4d87828801610949565b925092505092959194509250565b60008060008060808587031215610a7157600080fd5b6000610a7f87828801610993565b9450506020610a90878288016109a8565b9350506040610aa1878288016109a8565b9250506060610ab2878288016109a8565b91505092959194509250565b600060208284031215610ad057600080fd5b6000610ade848285016109a8565b91505092915050565b6000610af38383610c13565b60208301905092915050565b6000610b0b8383610c7e565b60208301905092915050565b610b2081610ec2565b82525050565b6000610b3182610d8e565b610b3b8185610dd4565b9350610b4683610d6e565b8060005b83811015610b77578151610b5e8882610ae7565b9750610b6983610dba565b925050600181019050610b4a565b5085935050505092915050565b6000610b8f82610d99565b610b998185610de5565b9350610ba483610d7e565b8060005b83811015610bd5578151610bbc8882610aff565b9750610bc783610dc7565b925050600181019050610ba8565b5085935050505092915050565b6000610bed82610da4565b610bf78185610df6565b9350610c07818560208601610f08565b80840191505092915050565b610c1c81610ed4565b82525050565b6000610c2d82610daf565b610c378185610e01565b9350610c47818560208601610f08565b610c5081610fb3565b840191505092915050565b6000610c68602483610e01565b9150610c7382610fc4565b604082019050919050565b610c8781610efe565b82525050565b6000610c998284610be2565b915081905092915050565b6000602082019050610cb96000830184610b17565b92915050565b6000604082019050610cd46000830185610b17565b610ce16020830184610b17565b9392505050565b60006020820190508181036000830152610d028184610b26565b905092915050565b60006020820190508181036000830152610d248184610b84565b905092915050565b60006020820190508181036000830152610d468184610c22565b905092915050565b60006020820190508181036000830152610d6781610c5b565b9050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610e1d82610efe565b9150610e2883610efe565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610e5d57610e5c610f84565b5b828201905092915050565b6000610e7382610efe565b9150610e7e83610efe565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610eb757610eb6610f84565b5b828202905092915050565b6000610ecd82610ede565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610f26578082015181840152602081019050610f0b565b83811115610f35576000848401525b50505050565b6000610f4682610efe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610f7957610f78610f84565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b7f416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e7460008201527f7261637400000000000000000000000000000000000000000000000000000000602082015250565b61101c81610ec2565b811461102757600080fd5b50565b61103381610ed4565b811461103e57600080fd5b50565b61104a81610efe565b811461105557600080fd5b5056fe416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564a164736f6c6343000804000a"; + "0x608060405234801561001057600080fd5b5061002b6709f30c992493712560c01b61003060201b60201c565b610033565b50565b611605806100426000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80632686e1591461005c57806350c5a71014610078578063598cebc2146100a857806385837775146100d8578063ef5bfc3714610108575b600080fd5b61007660048036038101906100719190610f34565b610138565b005b610092600480360381019061008d9190610ebf565b61013b565b60405161009f91906111f9565b60405180910390f35b6100c260048036038101906100bd9190610f34565b610409565b6040516100cf919061123d565b60405180910390f35b6100f260048036038101906100ed9190610f34565b610414565b6040516100ff919061123d565b60405180910390f35b610122600480360381019061011d9190610ebf565b61041b565b60405161012f919061121b565b60405180910390f35b50565b606061015167b7e5e1e9244e5e0160c01b610138565b610165672048521181b0f1cf60c01b610138565b61017967b4518694c34f490660c01b610138565b6000838390508686905061018d9190611394565b67ffffffffffffffff8111156101cc577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156101fa5781602001602082028036833780820191505090505b5090506102116757f4c382f00c5a8360c01b610138565b61022567e69f8d60c03d722d60c01b610138565b60005b868690508110156103d45761024767ab1fc139b6b2455a60c01b610138565b61025b6771d1b307fe59c4ba60c01b610138565b60005b858590508110156103c05761027d676fc8991df9fe527360c01b610138565b610291670d0d6fcdea937bbc60c01b610138565b600082878790506102a29190611394565b826102ad919061133e565b90506102c367691e1323cd6c34f260c01b610138565b6103678989858181106102ff577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906103149190610e96565b88888581811061034d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906103629190610e96565b6106e9565b8482815181106103a0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181815250505080806103b89061149f565b91505061025e565b5080806103cc9061149f565b915050610228565b506103e96705d2747fe66b15de60c01b610138565b6103fd6779537f854243435860c01b610138565b80915050949350505050565b600060019050919050565b6000919050565b60606104316757a851679897871060c01b610138565b61044567afca38cbaae3954b60c01b610138565b6104596717e61485e2adddae60c01b610138565b6000838390508686905061046d9190611394565b67ffffffffffffffff8111156104ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156104da5781602001602082028036833780820191505090505b5090506104f167a8fd47c736e098c660c01b610138565b6105056754a3a66a760471e260c01b610138565b60005b868690508110156106b457610527676020aede3cf0f24260c01b610138565b61053b677c74b1a46b3310a860c01b610138565b60005b858590508110156106a05761055d67a6e963d7511535f060c01b610138565b6105716767f1de8600063fdd60c01b610138565b600082878790506105829190611394565b8261058d919061133e565b90506105a367f267705018eace0d60c01b610138565b6106478989858181106105df577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906105f49190610e96565b88888581811061062d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906106429190610e96565b6109c7565b848281518110610680577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181815250505080806106989061149f565b91505061053e565b5080806106ac9061149f565b915050610508565b506106c967f5cb551b5203b64e60c01b610138565b6106dd67dcd6147ba89eec3960c01b610138565b80915050949350505050565b60006106ff6716015317cc44c1fe60c01b610138565b61071367d08a07da0c10fa6560c01b610138565b61072767904b2cf5eb3c41ad60c01b610138565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107af5761077067f2daedce79a4ab6660c01b610138565b82826040517f484305ff0000000000000000000000000000000000000000000000000000000081526004016107a69291906111d0565b60405180910390fd5b6107c367dbfe044603cf7ed960c01b610138565b6107d767bcd8d2533bb37a4860c01b610138565b6107eb6704079fddbeeaca4960c01b610138565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561087357610834675e3fae1ce3835aac60c01b610138565b82826040517f41f93bdf00000000000000000000000000000000000000000000000000000000815260040161086a9291906111d0565b60405180910390fd5b6108876729109ed6e6803a3e60c01b610138565b61089b67df9d686a987d620260c01b610138565b6108af67ff1d584f0b3383ff60c01b610138565b600061094f632ec8eec760e01b856040516024016108cd91906111b5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050508473ffffffffffffffffffffffffffffffffffffffff16610c7490919063ffffffff16565b90506109656734d8c5a7d10216ee60c01b610138565b6109796739c0f73afd5eb4ac60c01b610138565b60008180602001905181019061098f9190610f5d565b50505090506109a8674c52b5de12a9f5f860c01b610138565b6109bc6710cce64556abd10560c01b610138565b809250505092915050565b60006109dd678d7f6ae46953909760c01b610138565b6109f16770b374a1822c332460c01b610138565b610a056787145e489d3e328460c01b610138565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a8d57610a4e67873f8a37fca17e4360c01b610138565b82826040517f484305ff000000000000000000000000000000000000000000000000000000008152600401610a849291906111d0565b60405180910390fd5b610aa16770e4c54b166c57c260c01b610138565b610ab567c49ee77d5f48860260c01b610138565b610ac967ad0eade5d3d1ba8c60c01b610138565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b5157610b126749cab2b7bd90a8bc60c01b610138565b82826040517f41f93bdf000000000000000000000000000000000000000000000000000000008152600401610b489291906111d0565b60405180910390fd5b610b6567e85f3c08277b03f160c01b610138565b610b7967c26540d5beb682f560c01b610138565b610b8d67e1af98e33c8d159160c01b610138565b6000610c2d6370a0823160e01b85604051602401610bab91906111b5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050508473ffffffffffffffffffffffffffffffffffffffff16610c7490919063ffffffff16565b9050610c4367779032358553ccd060c01b610138565b610c5767f3c5150d5508debe60c01b610138565b80806020019051810190610c6b9190610fc0565b91505092915050565b6060610c9983836040518060600160405280602581526020016115d460259139610ca1565b905092915050565b6060610cac84610d6e565b610ceb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce29061127a565b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1685604051610d13919061119e565b600060405180830381855afa9150503d8060008114610d4e576040519150601f19603f3d011682016040523d82523d6000602084013e610d53565b606091505b5091509150610d63828286610d91565b925050509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610da157829050610df1565b600083511115610db45782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de89190611258565b60405180910390fd5b9392505050565b600081359050610e0781611577565b92915050565b60008083601f840112610e1f57600080fd5b8235905067ffffffffffffffff811115610e3857600080fd5b602083019150836020820283011115610e5057600080fd5b9250929050565b600081359050610e668161158e565b92915050565b600081519050610e7b816115a5565b92915050565b600081519050610e90816115bc565b92915050565b600060208284031215610ea857600080fd5b6000610eb684828501610df8565b91505092915050565b60008060008060408587031215610ed557600080fd5b600085013567ffffffffffffffff811115610eef57600080fd5b610efb87828801610e0d565b9450945050602085013567ffffffffffffffff811115610f1a57600080fd5b610f2687828801610e0d565b925092505092959194509250565b600060208284031215610f4657600080fd5b6000610f5484828501610e57565b91505092915050565b60008060008060808587031215610f7357600080fd5b6000610f8187828801610e6c565b9450506020610f9287828801610e81565b9350506040610fa387828801610e81565b9250506060610fb487828801610e81565b91505092959194509250565b600060208284031215610fd257600080fd5b6000610fe084828501610e81565b91505092915050565b6000610ff58383611124565b60208301905092915050565b600061100d838361118f565b60208301905092915050565b611022816113ee565b82525050565b6000611033826112ba565b61103d8185611300565b93506110488361129a565b8060005b838110156110795781516110608882610fe9565b975061106b836112e6565b92505060018101905061104c565b5085935050505092915050565b6000611091826112c5565b61109b8185611311565b93506110a6836112aa565b8060005b838110156110d75781516110be8882611001565b97506110c9836112f3565b9250506001810190506110aa565b5085935050505092915050565b6110ed81611400565b82525050565b60006110fe826112d0565b6111088185611322565b935061111881856020860161146c565b80840191505092915050565b61112d81611438565b82525050565b600061113e826112db565b611148818561132d565b935061115881856020860161146c565b61116181611517565b840191505092915050565b600061117960248361132d565b915061118482611528565b604082019050919050565b61119881611462565b82525050565b60006111aa82846110f3565b915081905092915050565b60006020820190506111ca6000830184611019565b92915050565b60006040820190506111e56000830185611019565b6111f26020830184611019565b9392505050565b600060208201905081810360008301526112138184611028565b905092915050565b600060208201905081810360008301526112358184611086565b905092915050565b600060208201905061125260008301846110e4565b92915050565b600060208201905081810360008301526112728184611133565b905092915050565b600060208201905081810360008301526112938161116c565b9050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061134982611462565b915061135483611462565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611389576113886114e8565b5b828201905092915050565b600061139f82611462565b91506113aa83611462565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156113e3576113e26114e8565b5b828202905092915050565b60006113f982611442565b9050919050565b60008115159050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101561148a57808201518184015260208101905061146f565b83811115611499576000848401525b50505050565b60006114aa82611462565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156114dd576114dc6114e8565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b7f416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e7460008201527f7261637400000000000000000000000000000000000000000000000000000000602082015250565b611580816113ee565b811461158b57600080fd5b50565b6115978161140c565b81146115a257600080fd5b50565b6115ae81611438565b81146115b957600080fd5b50565b6115c581611462565b81146115d057600080fd5b5056fe416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564a164736f6c6343000804000a"; type BalancesHelperV2ConstructorParams = | [signer?: Signer] diff --git a/typings/factories/BalancesHelper__factory.ts b/typings/factories/BalancesHelper__factory.ts index 29836d10..d56d15bd 100644 --- a/typings/factories/BalancesHelper__factory.ts +++ b/typings/factories/BalancesHelper__factory.ts @@ -9,6 +9,57 @@ import type { } from "../BalancesHelper"; const _abi = [ + { + inputs: [ + { + internalType: "bytes8", + name: "c__7989c7ce", + type: "bytes8", + }, + ], + name: "c_7989c7ce", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__7989c7ce", + type: "bytes8", + }, + ], + name: "c_false7989c7ce", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__7989c7ce", + type: "bytes8", + }, + ], + name: "c_true7989c7ce", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { @@ -36,7 +87,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b506106a2806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ef5bfc3714610030575b600080fd5b6100fc6004803603604081101561004657600080fd5b810190808035906020019064010000000081111561006357600080fd5b82018360208201111561007557600080fd5b8035906020019184602083028401116401000000008311171561009757600080fd5b9091929391929390803590602001906401000000008111156100b857600080fd5b8201836020820111156100ca57600080fd5b803590602001918460208302840111640100000000831117156100ec57600080fd5b9091929391929390505050610153565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561013f578082015181840152602081019050610124565b505050509050019250505060405180910390f35b60608061016f848490508787905061035490919063ffffffff16565b67ffffffffffffffff8111801561018557600080fd5b506040519080825280602002602001820160405280156101b45781602001602082028036833780820191505090505b50905060005b868690508110156103475760005b858590508110156103395760006101fd6101ee848989905061035490919063ffffffff16565b836103da90919063ffffffff16565b9050600073ffffffffffffffffffffffffffffffffffffffff1687878481811061022357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146102d2576102b589898581811061026a57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1688888581811061029357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16610462565b8482815181106102c157fe5b60200260200101818152505061032b565b8888848181106102de57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163184828151811061031e57fe5b6020026020010181815250505b5080806001019150506101c8565b5080806001019150506101ba565b5080915050949350505050565b60008083141561036757600090506103d4565b600082840290508284828161037857fe5b04146103cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806106726024913960400191505060405180910390fd5b809150505b92915050565b600080828401905083811015610458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174684c69623a206164646974696f6e206f766572666c6f77000081525060200191505060405180910390fd5b8091505092915050565b600080600090506000833b905060008111156106665760008473ffffffffffffffffffffffffffffffffffffffff166370a0823160e01b87604051602401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310610550578051825260208201915060208101905060208303925061052d565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d80600081146105b0576040519150601f19603f3d011682016040523d82523d6000602084013e6105b5565b606091505b505090508015610664578473ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561062657600080fd5b505afa15801561063a573d6000803e3d6000fd5b505050506040513d602081101561065057600080fd5b810190808051906020019092919050505092505b505b81925050509291505056fe536166654d6174684c69623a206d756c7469706c69636174696f6e206f766572666c6f77a164736f6c634300060c000a"; + "0x608060405234801561001057600080fd5b50610c9b806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063505c2304146100515780635290eaf9146100b0578063717e5771146100f9578063ef5bfc3714610158575b600080fd5b6100986004803603602081101561006757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061027b565b60405180821515815260200191505060405180910390f35b6100f7600480360360208110156100c657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610286565b005b6101406004803603602081101561010f57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610289565b60405180821515815260200191505060405180910390f35b6102246004803603604081101561016e57600080fd5b810190808035906020019064010000000081111561018b57600080fd5b82018360208201111561019d57600080fd5b803590602001918460208302840111640100000000831117156101bf57600080fd5b9091929391929390803590602001906401000000008111156101e057600080fd5b8201836020820111156101f257600080fd5b8035906020019184602083028401116401000000008311171561021457600080fd5b9091929391929390505050610290565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561026757808201518184015260208101905061024c565b505050509050019250505060405180910390f35b600060019050919050565b50565b6000919050565b60606102a6671996f7c7db2259ac60c01b610286565b6102ba672e4b787fb5dcd29b60c01b610286565b6102ce6707663e952ab1b04b60c01b610286565b60606102e984849050878790506105e690919063ffffffff16565b67ffffffffffffffff811180156102ff57600080fd5b5060405190808252806020026020018201604052801561032e5781602001602082028036833780820191505090505b509050610345671e9f866a219d807660c01b610286565b610359675ee4ced19174963160c01b610286565b60005b868690508110156105b15761037b673a8062ad6a5a9ae860c01b610286565b61038f676962c83948de6c6260c01b610286565b60005b858590508110156105a3576103b16756207a9aa498eb3760c01b610286565b6103c567b0f0d8f141dfc6e060c01b610286565b60006103ef6103e084898990506105e690919063ffffffff16565b8361079890919063ffffffff16565b9050610405677cd11da277f59b6f60c01b610286565b61041967788ca4d91656b03060c01b610286565b600073ffffffffffffffffffffffffffffffffffffffff1687878481811061043d57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610514576104896714199bc9d11db1d460c01b610286565b61049d67ad5235d8ec378d1760c01b610286565b6104f78989858181106104ac57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168888858181106104d557fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff166108d5565b84828151811061050357fe5b602002602001018181525050610595565b6105286755d7cdbac043e98d60c01b610286565b61053c6712a6454d49d0a65960c01b610286565b88888481811061054857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163184828151811061058857fe5b6020026020010181815250505b508080600101915050610392565b50808060010191505061035c565b506105c667048643c1a644649960c01b610286565b6105da67d43948735d9a2b3860c01b610286565b80915050949350505050565b60006105fc673c508ce9aa0e6e6760c01b610c67565b610610670fa17eaab328e08260c01b610c67565b6106246768dfb0ea208c8f4060c01b610c67565b60008314156106715761064167a98d3fc708d3c69860c01b610c67565b6106556734bd3093bb68e15860c01b610c67565b6106686624de95f54120b160c01b610c67565b60009050610792565b6106856717005ae97fd5de3160c01b610c67565b61069967612166ddcd06cb8660c01b610c67565b6106ad67fc456346581af9f960c01b610c67565b600082840290506106c86780b69eb24224e59560c01b610c67565b6106dc67143061fc1d33eebb60c01b610c67565b6106f0671e71cfc00112654d60c01b610c67565b828482816106fa57fe5b0414610751576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180610c6b6024913960400191505060405180910390fd5b61076567a0f4e2148fad644960c01b610c67565b610779674bf736a758111ab060c01b610c67565b61078d67acec17dbca3a62a460c01b610c67565b809150505b92915050565b60006107ae672797d9bbee8e685760c01b610c67565b6107c267e25930aa3032662f60c01b610c67565b6107d6673b804ace3fd44ea060c01b610c67565b600082840190506107f167e0d809daafe36a0460c01b610c67565b61080567d0d7b021c1a6823260c01b610c67565b6108196741f1099b5fa09b9360c01b610c67565b8381101561088f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174684c69623a206164646974696f6e206f766572666c6f77000081525060200191505060405180910390fd5b6108a36728a352a27e50889560c01b610c67565b6108b767f55e5f024a80111c60c01b610c67565b6108cb67d865abdcb752192460c01b610c67565b8091505092915050565b60006108eb67b2712729e87868b360c01b610286565b6108ff67227ce95247d1b4cc60c01b610286565b61091367b685489daeb71a5560c01b610286565b600061092967a6f8c0fb98cafeeb60c01b610286565b61093d67c3aca832f91352cc60c01b610286565b6000610953678be659e0485bcf1760c01b610286565b833b905061096b670b33b15ad270360060c01b610286565b61097f676603793ca1524bbd60c01b610286565b6000811115610c1f5761099c6734983df7d9a27ced60c01b610286565b6109b0673b2ddbbd2fe08b5060c01b610286565b6109c46718a8c4551090a02c60c01b610286565b60008473ffffffffffffffffffffffffffffffffffffffff166370a0823160e01b87604051602401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310610a9c5780518252602082019150602081019050602083039250610a79565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114610afc576040519150601f19603f3d011682016040523d82523d6000602084013e610b01565b606091505b50509050610b1967c7fe3ced1711fc8b60c01b610286565b610b2d673b5f49e36a53cb9d60c01b610286565b8015610c0457610b47677def714ce110fcfc60c01b610286565b610b5b67eb520c752ccbf0a860c01b610286565b8473ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610bc257600080fd5b505afa158015610bd6573d6000803e3d6000fd5b505050506040513d6020811015610bec57600080fd5b81019080805190602001909291905050509250610c19565b610c1867d71c6452d70f1f5d60c01b610286565b5b50610c34565b610c336774cc09ed764aea3760c01b610286565b5b610c4867d4139ac54b6cf02d60c01b610286565b610c5c679db125fba3c9713860c01b610286565b819250505092915050565b5056fe536166654d6174684c69623a206d756c7469706c69636174696f6e206f766572666c6f77a164736f6c634300060c000a"; type BalancesHelperConstructorParams = | [signer?: Signer] diff --git a/typings/factories/BlockLib__factory.ts b/typings/factories/BlockLib__factory.ts index a3df7dcb..320b9257 100644 --- a/typings/factories/BlockLib__factory.ts +++ b/typings/factories/BlockLib__factory.ts @@ -10,11 +10,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__f0eb5f6b", + name: "c__078794b3", type: "bytes8", }, ], - name: "c_f0eb5f6b", + name: "c_078794b3", outputs: [], stateMutability: "pure", type: "function", @@ -23,11 +23,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__f0eb5f6b", + name: "c__078794b3", type: "bytes8", }, ], - name: "c_falsef0eb5f6b", + name: "c_false078794b3", outputs: [ { internalType: "bool", @@ -42,11 +42,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__f0eb5f6b", + name: "c__078794b3", type: "bytes8", }, ], - name: "c_truef0eb5f6b", + name: "c_true078794b3", outputs: [ { internalType: "bool", @@ -60,7 +60,7 @@ const _abi = [ ]; const _bytecode = - "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80635e9714b614610050578063911f807c146100af57806391f2f13c146100f8575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b60405180821515815260200191505060405180910390f35b6100f6600480360360208110156100c557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610162565b005b61013f6004803603602081101561010e57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610165565b60405180821515815260200191505060405180910390f35b600060019050919050565b50565b600091905056fea164736f6c634300060c000a"; + "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806324b0ab5e14610050578063ad42fc76146100af578063e81e629c1461010e575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b60405180821515815260200191505060405180910390f35b6100f6600480360360208110156100c557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061015e565b60405180821515815260200191505060405180910390f35b6101556004803603602081101561012457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610169565b005b6000919050565b600060019050919050565b5056fea164736f6c634300060c000a"; type BlockLibConstructorParams = | [signer?: Signer] diff --git a/typings/factories/BytesLib__factory.ts b/typings/factories/BytesLib__factory.ts index 6a505423..4cc8cc16 100644 --- a/typings/factories/BytesLib__factory.ts +++ b/typings/factories/BytesLib__factory.ts @@ -10,11 +10,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__cf01c64c", + name: "c__2ad25a5a", type: "bytes8", }, ], - name: "c_cf01c64c", + name: "c_2ad25a5a", outputs: [], stateMutability: "pure", type: "function", @@ -23,11 +23,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__cf01c64c", + name: "c__2ad25a5a", type: "bytes8", }, ], - name: "c_falsecf01c64c", + name: "c_false2ad25a5a", outputs: [ { internalType: "bool", @@ -42,11 +42,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__cf01c64c", + name: "c__2ad25a5a", type: "bytes8", }, ], - name: "c_truecf01c64c", + name: "c_true2ad25a5a", outputs: [ { internalType: "bool", @@ -60,7 +60,7 @@ const _abi = [ ]; const _bytecode = - "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80634c8a384b14610050578063639fedc0146100af5780637faf7b501461010e575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b60405180821515815260200191505060405180910390f35b6100f6600480360360208110156100c557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610162565b60405180821515815260200191505060405180910390f35b6101556004803603602081101561012457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610169565b005b600060019050919050565b6000919050565b5056fea164736f6c634300060c000a"; + "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80631f29a62d1461005057806366554a9014610099578063c56a0c9a146100f8575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b005b6100e0600480360360208110156100af57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061015a565b60405180821515815260200191505060405180910390f35b61013f6004803603602081101561010e57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610165565b60405180821515815260200191505060405180910390f35b50565b600060019050919050565b600091905056fea164736f6c634300060c000a"; type BytesLibConstructorParams = | [signer?: Signer] diff --git a/typings/factories/CBridgeFacet__factory.ts b/typings/factories/CBridgeFacet__factory.ts index b19a56f6..791a0057 100644 --- a/typings/factories/CBridgeFacet__factory.ts +++ b/typings/factories/CBridgeFacet__factory.ts @@ -124,6 +124,108 @@ const _abi = [ name: "CBUpdatedSlippageTolerance", type: "event", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__82a0834b", + type: "bytes8", + }, + ], + name: "c_82a0834b", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9296fc39", + type: "bytes8", + }, + ], + name: "c_9296fc39", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__82a0834b", + type: "bytes8", + }, + ], + name: "c_false82a0834b", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9296fc39", + type: "bytes8", + }, + ], + name: "c_false9296fc39", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__82a0834b", + type: "bytes8", + }, + ], + name: "c_true82a0834b", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9296fc39", + type: "bytes8", + }, + ], + name: "c_true9296fc39", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { @@ -206,7 +308,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b506115ab806100206000396000f3fe60806040526004361061003f5760003560e01c806340d280a21461004457806352434c6e1461006d5780636f395e60146100895780639e32e2e6146100b2575b600080fd5b34801561005057600080fd5b5061006b60048036038101906100669190610dac565b6100db565b005b61008760048036038101906100829190610dfe565b610204565b005b34801561009557600080fd5b506100b060048036038101906100ab9190610dac565b6105f6565b005b3480156100be57600080fd5b506100d960048036038101906100d49190610e50565b6106ef565b005b6100e36107a2565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561014a576040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061015461083d565b9050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504681600101819055506127108160020160006101000a81548163ffffffff021916908363ffffffff1602179055507fcbfd47a07530fc4fffba96f5686a7127e5661fe26dd01503239ca2f66fcad99082466040516101f892919061112b565b60405180910390a15050565b600061020e61086a565b905060018160000154141561024f576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555081600001602081019061026c9190610e79565b67ffffffffffffffff164614156102af576040517f4ac09ad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168260600160208101906102da9190610dac565b73ffffffffffffffffffffffffffffffffffffffff161415610328576040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000826040013511610366576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168260800160208101906103919190610dac565b73ffffffffffffffffffffffffffffffffffffffff1614156103df576040517fdc2e5e8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006103e961083d565b905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610457333086604001358760800160208101906104319190610dac565b73ffffffffffffffffffffffffffffffffffffffff16610897909392919063ffffffff16565b6104988185604001358660800160208101906104739190610dac565b73ffffffffffffffffffffffffffffffffffffffff166109209092919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff1663a5977fbb8560600160208101906104c79190610dac565b8660800160208101906104da9190610dac565b87604001358860000160208101906104f29190610e79565b8960200160208101906105059190610e79565b8860020160009054906101000a900463ffffffff166040518763ffffffff1660e01b815260040161053b969594939291906110ca565b600060405180830381600087803b15801561055557600080fd5b505af1158015610569573d6000803e3d6000fd5b505050507fd565a5cf794050de1a171170c91acd5d14cbf11877dc3fa020e9975495ab17578460800160208101906105a19190610dac565b338660600160208101906105b59190610dac565b87604001358860000160208101906105cd9190610e79565b6040516105de9594939291906111b6565b60405180910390a15050600081600001819055505050565b6105fe6107a2565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610665576040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061066f61083d565b9050818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4ae67faf3cf135d9eca1b5490d3613096d2d0610fca7496112fa46ef019fbd4e826040516106e3919061104f565b60405180910390a15050565b6113888163ffffffff1611610730576040517f9ff4125000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107386107a2565b600061074261083d565b9050818160020160006101000a81548163ffffffff021916908363ffffffff1602179055507f8d5e80c35df41e151b58f1a100ad605ae1ebcda3d0c329b22820b232767a773082604051610796919061127c565b60405180910390a15050565b6107aa610a7e565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461083b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083290611176565b60405180910390fd5b565b6000807f9d7253cc9498e9cc54011bbbe9471a68adbc99d0ac1eef42369f5a452e814c4a90508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b61091a846323b872dd60e01b8585856040516024016108b893929190611093565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610aab565b50505050565b60008114806109b9575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161096792919061106a565b60206040518083038186803b15801561097f57600080fd5b505afa158015610993573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b79190610e27565b145b6109f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ef9061125c565b60405180910390fd5b610a798363095ea7b360e01b8484604051602401610a1792919061112b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610aab565b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610b0d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610b729092919063ffffffff16565b9050600081511115610b6d5780806020019051810190610b2d9190610dd5565b610b6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b639061123c565b60405180910390fd5b5b505050565b6060610b818484600085610b8a565b90509392505050565b606082471015610bcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc690611196565b60405180910390fd5b610bd885610c9e565b610c17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0e9061121c565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610c409190611038565b60006040518083038185875af1925050503d8060008114610c7d576040519150601f19603f3d011682016040523d82523d6000602084013e610c82565b606091505b5091509150610c92828286610cc1565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610cd157829050610d21565b600083511115610ce45782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d189190611154565b60405180910390fd5b9392505050565b600081359050610d378161152b565b92915050565b600081519050610d4c81611542565b92915050565b600060a08284031215610d6457600080fd5b81905092915050565b600081519050610d7c81611559565b92915050565b600081359050610d9181611570565b92915050565b600081359050610da681611587565b92915050565b600060208284031215610dbe57600080fd5b6000610dcc84828501610d28565b91505092915050565b600060208284031215610de757600080fd5b6000610df584828501610d3d565b91505092915050565b600060a08284031215610e1057600080fd5b6000610e1e84828501610d52565b91505092915050565b600060208284031215610e3957600080fd5b6000610e4784828501610d6d565b91505092915050565b600060208284031215610e6257600080fd5b6000610e7084828501610d82565b91505092915050565b600060208284031215610e8b57600080fd5b6000610e9984828501610d97565b91505092915050565b610eab816112c9565b82525050565b6000610ebc82611297565b610ec681856112ad565b9350610ed6818560208601611359565b80840191505092915050565b6000610eed826112a2565b610ef781856112b8565b9350610f07818560208601611359565b610f108161138c565b840191505092915050565b6000610f286022836112b8565b9150610f338261139d565b604082019050919050565b6000610f4b6026836112b8565b9150610f56826113ec565b604082019050919050565b6000610f6e6007836112b8565b9150610f798261143b565b602082019050919050565b6000610f91601d836112b8565b9150610f9c82611464565b602082019050919050565b6000610fb4602a836112b8565b9150610fbf8261148d565b604082019050919050565b6000610fd76036836112b8565b9150610fe2826114dc565b604082019050919050565b610ff681611307565b82525050565b61100581611335565b82525050565b61101481611311565b82525050565b61102381611347565b82525050565b61103281611321565b82525050565b60006110448284610eb1565b915081905092915050565b60006020820190506110646000830184610ea2565b92915050565b600060408201905061107f6000830185610ea2565b61108c6020830184610ea2565b9392505050565b60006060820190506110a86000830186610ea2565b6110b56020830185610ea2565b6110c26040830184610fed565b949350505050565b600060c0820190506110df6000830189610ea2565b6110ec6020830188610ea2565b6110f96040830187610fed565b6111066060830186611029565b6111136080830185611029565b61112060a083018461100b565b979650505050505050565b60006040820190506111406000830185610ea2565b61114d6020830184610fed565b9392505050565b6000602082019050818103600083015261116e8184610ee2565b905092915050565b6000602082019050818103600083015261118f81610f1b565b9050919050565b600060208201905081810360008301526111af81610f3e565b9050919050565b600060c08201905081810360008301526111cf81610f61565b90506111de6020830188610ea2565b6111eb6040830187610ea2565b6111f86060830186610ea2565b6112056080830185610fed565b61121260a083018461101a565b9695505050505050565b6000602082019050818103600083015261123581610f84565b9050919050565b6000602082019050818103600083015261125581610fa7565b9050919050565b6000602082019050818103600083015261127581610fca565b9050919050565b60006020820190506112916000830184610ffc565b92915050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60006112d4826112e7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600061134082611311565b9050919050565b600061135282611321565b9050919050565b60005b8381101561137757808201518184015260208101905061135c565b83811115611386576000848401525b50505050565b6000601f19601f8301169050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f6362726964676500000000000000000000000000000000000000000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b611534816112c9565b811461153f57600080fd5b50565b61154b816112db565b811461155657600080fd5b50565b61156281611307565b811461156d57600080fd5b50565b61157981611311565b811461158457600080fd5b50565b61159081611321565b811461159b57600080fd5b5056fea164736f6c6343000804000a"; + "0x608060405234801561001057600080fd5b50611fb2806100206000396000f3fe6080604052600436106100915760003560e01c80636f395e60116100595780636f395e601461017e5780639e32e2e6146101a75780639f91c7fd146101d0578063ac0d2b131461020d578063e31fa1af1461024a57610091565b806314917f99146100965780631dcb855a146100bf57806340d280a2146100fc5780634a6f22c41461012557806352434c6e14610162575b600080fd5b3480156100a257600080fd5b506100bd60048036038101906100b8919061176f565b610273565b005b3480156100cb57600080fd5b506100e660048036038101906100e1919061176f565b610276565b6040516100f39190611afd565b60405180910390f35b34801561010857600080fd5b50610123600480360381019061011e919061171d565b61027d565b005b34801561013157600080fd5b5061014c6004803603810190610147919061176f565b6104be565b6040516101599190611afd565b60405180910390f35b61017c60048036038101906101779190611798565b6104c9565b005b34801561018a57600080fd5b506101a560048036038101906101a0919061171d565b610c03565b005b3480156101b357600080fd5b506101ce60048036038101906101c991906117ea565b610dec565b005b3480156101dc57600080fd5b506101f760048036038101906101f2919061176f565b610f8f565b6040516102049190611afd565b60405180910390f35b34801561021957600080fd5b50610234600480360381019061022f919061176f565b610f9a565b6040516102419190611afd565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c919061176f565b610fa1565b005b50565b6000919050565b6102916797d4a79c6e8da8fc60c01b610fa1565b6102a5670e2f2c8a5311f67460c01b610fa1565b6102b9675b13a1991c267f1c60c01b610fa1565b6102c1610fa4565b6102d5677ee86732d55ff95260c01b610fa1565b6102e9674d33e4f9b9612d8d60c01b610fa1565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561036457610332676d6a428ac068619060c01b610fa1565b6040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610378671b6d9165f559dd9060c01b610fa1565b61038c67dd59355fd48e644160c01b610fa1565b6103a067b3b032f8c8c9f6a160c01b610fa1565b60006103aa6110a3565b90506103c06731d19ee530be69ef60c01b610fa1565b818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061041767fe86263d0e8940c660c01b610fa1565b46816001018190555061043467314b893e78a144b760c01b610fa1565b6127108160020160006101000a81548163ffffffff021916908363ffffffff16021790555061046d676ad2b17f4918fdfa60c01b610fa1565b61048167d1d40b0589cebbdf60c01b610fa1565b7fcbfd47a07530fc4fffba96f5686a7127e5661fe26dd01503239ca2f66fcad99082466040516104b2929190611ad4565b60405180910390a15050565b600060019050919050565b6104dd677f1d47e894864aaa60c01b610fa1565b6104f16770f43b674d4e55d060c01b610273565b61050567fdb58b8d5e8c5bd260c01b610273565b61051967f88563faceb9065260c01b610273565b6000610523611121565b905061053967f5511ed184b06f9d60c01b610273565b61054d675fe6356e9bb02e7e60c01b610273565b6001816000015414156105a05761056e67c2bf72a01148a95560c01b610273565b6040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105b46759328cc6ac1a5b8460c01b610273565b6105c8676585023ebf8de8b060c01b610273565b600181600001819055506105e66794e629fc71d8c79e60c01b610273565b6105fa6715242012ce96c7f160c01b610fa1565b61060e678eb6f4db737f4b7360c01b610fa1565b61062267c457076ac82718fc60c01b610fa1565b61063667cfdca50ae33020dc60c01b610fa1565b8160000160208101906106499190611813565b67ffffffffffffffff164614156106b45761066e67b59b8ab41c16feab60c01b610fa1565b61068267d0ad4a309013922660c01b610fa1565b6040517f4ac09ad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106c86756f8932bd4555ad760c01b610fa1565b6106dc6764fb57761461897360c01b610fa1565b6106f0675f0446559da0f55960c01b610fa1565b600073ffffffffffffffffffffffffffffffffffffffff1682606001602081019061071b919061171d565b73ffffffffffffffffffffffffffffffffffffffff16141561077d5761074b672203e1af5929465760c01b610fa1565b6040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107916728a865aea8258ceb60c01b610fa1565b6107a5676fe46105247774d560c01b610fa1565b6107b9678f7510e1a7192ffb60c01b610fa1565b600082604001351161080b576107d967af20204004d2c86560c01b610fa1565b6040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081f67c235e2a5916e216e60c01b610fa1565b61083367c34c8b0197b67e6c60c01b610fa1565b61084767676e00839b9a5a8060c01b610fa1565b600073ffffffffffffffffffffffffffffffffffffffff16826080016020810190610872919061171d565b73ffffffffffffffffffffffffffffffffffffffff1614156108d4576108a267245d22043cdb3d0c60c01b610fa1565b6040517fdc2e5e8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108e86718ff5e19da60343860c01b610fa1565b6108fc67bedceb4db841a53e60c01b610fa1565b61091067cda8ba86a5e6ee9860c01b610fa1565b600061091a6110a3565b9050610930673f5fa8242b94796e60c01b610fa1565b61094467681ec17cea69b30660c01b610fa1565b60008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061098167c92843e9e9460b5460c01b610fa1565b61099567dccd0c487d1fe6f660c01b610fa1565b6109d8333086604001358760800160208101906109b2919061171d565b73ffffffffffffffffffffffffffffffffffffffff1661119f909392919063ffffffff16565b6109ec67e80d1d6748997c0260c01b610fa1565b610a0067400f0c5be983a9b760c01b610fa1565b610a41818560400135866080016020810190610a1c919061171d565b73ffffffffffffffffffffffffffffffffffffffff166112289092919063ffffffff16565b610a5567b0a7fc2efbeee0d760c01b610fa1565b610a6967c07b9de819409a3c60c01b610fa1565b8073ffffffffffffffffffffffffffffffffffffffff1663a5977fbb856060016020810190610a98919061171d565b866080016020810190610aab919061171d565b8760400135886000016020810190610ac39190611813565b896020016020810190610ad69190611813565b8860020160009054906101000a900463ffffffff166040518763ffffffff1660e01b8152600401610b0c96959493929190611a73565b600060405180830381600087803b158015610b2657600080fd5b505af1158015610b3a573d6000803e3d6000fd5b50505050610b5267c9b43804a582003960c01b610fa1565b610b6667d699a6191c59138260c01b610fa1565b7fd565a5cf794050de1a171170c91acd5d14cbf11877dc3fa020e9975495ab1757846080016020810190610b9a919061171d565b33866060016020810190610bae919061171d565b8760400135886000016020810190610bc69190611813565b604051610bd7959493929190611b7a565b60405180910390a15050610bf567441391ce80e99b6c60c01b610273565b600081600001819055505050565b610c1767d3a2494a835102c160c01b610fa1565b610c2b670c9b2f19ad78ba2d60c01b610fa1565b610c3f67285a34703cb3897d60c01b610fa1565b610c47610fa4565b610c5b679941e4eb5c2e085a60c01b610fa1565b610c6f674a3f870b19eeb0f860c01b610fa1565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cea57610cb8679f1850b2b41a922760c01b610fa1565b6040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cfe67088b159fcf23024f60c01b610fa1565b610d1267bcee72259e25a4d760c01b610fa1565b610d2667f6343277fc69a82e60c01b610fa1565b6000610d306110a3565b9050610d4667cd0ef56dfe642dd060c01b610fa1565b818160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d9d67e8752783a7430db760c01b610fa1565b610db1672bc4e9b6619b7ce260c01b610fa1565b7f4ae67faf3cf135d9eca1b5490d3613096d2d0610fca7496112fa46ef019fbd4e82604051610de091906119f8565b60405180910390a15050565b610e0067456d55e4c0f14d4760c01b610fa1565b610e14673174e49db9a5ddea60c01b610fa1565b610e2867192813406d0b2a1e60c01b610fa1565b6113888163ffffffff1611610e7d57610e4b67549ef105040999b860c01b610fa1565b6040517f9ff4125000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e916751434f62a0bf406a60c01b610fa1565b610ea5675b61e57e6bbb740860c01b610fa1565b610eb9676d54701b66ab59d160c01b610fa1565b610ec1610fa4565b610ed5675845cbbdeb29872860c01b610fa1565b610ee967ed9b116e321da9eb60c01b610fa1565b6000610ef36110a3565b9050610f09671a742eb68541c25c60c01b610fa1565b818160020160006101000a81548163ffffffff021916908363ffffffff160217905550610f40675d88c84e2624c04460c01b610fa1565b610f5467eaa1be02d588fb4460c01b610fa1565b7f8d5e80c35df41e151b58f1a100ad605ae1ebcda3d0c329b22820b232767a773082604051610f839190611c40565b60405180910390a15050565b600060019050919050565b6000919050565b50565b610fb86721b40df6734b4e6460c01b611386565b610fcc677276b6d1bbf7b68b60c01b611386565b610fe067f8611dbcb55a1f7860c01b611386565b610ff4676cedf54251a3375160c01b611386565b610ffc611389565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461108d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108490611b3a565b60405180910390fd5b6110a167e452355b21bbd41e60c01b611386565b565b60006110b96746874ce4b0fd162b60c01b610fa1565b6110cd67c48ee095da74410560c01b610fa1565b6110e167a1033010cec72c2460c01b610fa1565b60007f9d7253cc9498e9cc54011bbbe9471a68adbc99d0ac1eef42369f5a452e814c4a905061111a674e1695596a4af8ef60c01b610fa1565b8091505090565b600061113767fa11c344c1ec53a860c01b610273565b61114b670fd7b7008acdbf5460c01b610273565b61115f679fbd6d57c5d665d460c01b610273565b60007fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b4905061119867a9235c9a8268ed9060c01b610273565b8091505090565b611222846323b872dd60e01b8585856040516024016111c093929190611a3c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611407565b50505050565b60008114806112c1575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161126f929190611a13565b60206040518083038186803b15801561128757600080fd5b505afa15801561129b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bf91906117c1565b145b611300576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f790611c20565b60405180910390fd5b6113818363095ea7b360e01b848460405160240161131f929190611ad4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611407565b505050565b50565b600061139f674f9afbb757d80e6360c01b611386565b6113b3674b823103125da15660c01b611386565b6113c7674ab715c231c1608d60c01b611386565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061140067982d9bb86701efa860c01b611386565b8091505090565b6000611469826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114ce9092919063ffffffff16565b90506000815111156114c957808060200190518101906114899190611746565b6114c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bf90611c00565b60405180910390fd5b5b505050565b60606114dd84846000856114e6565b90509392505050565b60608247101561152b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152290611b5a565b60405180910390fd5b611534856115fa565b611573576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156a90611be0565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161159c91906119e1565b60006040518083038185875af1925050503d80600081146115d9576040519150601f19603f3d011682016040523d82523d6000602084013e6115de565b606091505b50915091506115ee82828661161d565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060831561162d5782905061167d565b6000835111156116405782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116749190611b18565b60405180910390fd5b9392505050565b60008135905061169381611f1b565b92915050565b6000815190506116a881611f32565b92915050565b6000813590506116bd81611f49565b92915050565b600060a082840312156116d557600080fd5b81905092915050565b6000815190506116ed81611f60565b92915050565b60008135905061170281611f77565b92915050565b60008135905061171781611f8e565b92915050565b60006020828403121561172f57600080fd5b600061173d84828501611684565b91505092915050565b60006020828403121561175857600080fd5b600061176684828501611699565b91505092915050565b60006020828403121561178157600080fd5b600061178f848285016116ae565b91505092915050565b600060a082840312156117aa57600080fd5b60006117b8848285016116c3565b91505092915050565b6000602082840312156117d357600080fd5b60006117e1848285016116de565b91505092915050565b6000602082840312156117fc57600080fd5b600061180a848285016116f3565b91505092915050565b60006020828403121561182557600080fd5b600061183384828501611708565b91505092915050565b61184581611c8d565b82525050565b61185481611c9f565b82525050565b600061186582611c5b565b61186f8185611c71565b935061187f818560208601611d49565b80840191505092915050565b600061189682611c66565b6118a08185611c7c565b93506118b0818560208601611d49565b6118b981611d7c565b840191505092915050565b60006118d1602283611c7c565b91506118dc82611d8d565b604082019050919050565b60006118f4602683611c7c565b91506118ff82611ddc565b604082019050919050565b6000611917600783611c7c565b915061192282611e2b565b602082019050919050565b600061193a601d83611c7c565b915061194582611e54565b602082019050919050565b600061195d602a83611c7c565b915061196882611e7d565b604082019050919050565b6000611980603683611c7c565b915061198b82611ecc565b604082019050919050565b61199f81611cf7565b82525050565b6119ae81611d25565b82525050565b6119bd81611d01565b82525050565b6119cc81611d37565b82525050565b6119db81611d11565b82525050565b60006119ed828461185a565b915081905092915050565b6000602082019050611a0d600083018461183c565b92915050565b6000604082019050611a28600083018561183c565b611a35602083018461183c565b9392505050565b6000606082019050611a51600083018661183c565b611a5e602083018561183c565b611a6b6040830184611996565b949350505050565b600060c082019050611a88600083018961183c565b611a95602083018861183c565b611aa26040830187611996565b611aaf60608301866119d2565b611abc60808301856119d2565b611ac960a08301846119b4565b979650505050505050565b6000604082019050611ae9600083018561183c565b611af66020830184611996565b9392505050565b6000602082019050611b12600083018461184b565b92915050565b60006020820190508181036000830152611b32818461188b565b905092915050565b60006020820190508181036000830152611b53816118c4565b9050919050565b60006020820190508181036000830152611b73816118e7565b9050919050565b600060c0820190508181036000830152611b938161190a565b9050611ba2602083018861183c565b611baf604083018761183c565b611bbc606083018661183c565b611bc96080830185611996565b611bd660a08301846119c3565b9695505050505050565b60006020820190508181036000830152611bf98161192d565b9050919050565b60006020820190508181036000830152611c1981611950565b9050919050565b60006020820190508181036000830152611c3981611973565b9050919050565b6000602082019050611c5560008301846119a5565b92915050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000611c9882611cd7565b9050919050565b60008115159050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b6000611d3082611d01565b9050919050565b6000611d4282611d11565b9050919050565b60005b83811015611d67578082015181840152602081019050611d4c565b83811115611d76576000848401525b50505050565b6000601f19601f8301169050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f6362726964676500000000000000000000000000000000000000000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b611f2481611c8d565b8114611f2f57600080fd5b50565b611f3b81611c9f565b8114611f4657600080fd5b50565b611f5281611cab565b8114611f5d57600080fd5b50565b611f6981611cf7565b8114611f7457600080fd5b50565b611f8081611d01565b8114611f8b57600080fd5b50565b611f9781611d11565b8114611fa257600080fd5b5056fea164736f6c6343000804000a"; type CBridgeFacetConstructorParams = | [signer?: Signer] diff --git a/typings/factories/ConnextFacet__factory.ts b/typings/factories/ConnextFacet__factory.ts index 71963fbe..030bddac 100644 --- a/typings/factories/ConnextFacet__factory.ts +++ b/typings/factories/ConnextFacet__factory.ts @@ -111,6 +111,57 @@ const _abi = [ name: "ConnextTokenSwap", type: "event", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__4f0a9270", + type: "bytes8", + }, + ], + name: "c_4f0a9270", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__4f0a9270", + type: "bytes8", + }, + ], + name: "c_false4f0a9270", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__4f0a9270", + type: "bytes8", + }, + ], + name: "c_true4f0a9270", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { @@ -213,7 +264,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50611b37806100206000396000f3fe6080604052600436106100345760003560e01c80633205dc691461003957806351b401b914610062578063da328d541461007e575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190611055565b61009a565b005b61007c600480360381019061007791906110de565b61029c565b005b610098600480360381019061009391906110de565b61064f565b005b6100a26109e3565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610108906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906111c8565b60405180910390fd5b600061018a610a7e565b9050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828160000160146101000a81548163ffffffff021916908363ffffffff160217905550818160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168363ffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe23ac138025651e2fb684be9a5c635424d4dac7fc73449494c24c4955e79027860405160405180910390a450505050565b60006102a6610aab565b90506000879050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff160361031c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610313906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361038b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610382906111c8565b60405180910390fd5b610393610ade565b63ffffffff168563ffffffff16036103e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d79061125a565b60405180910390fd5b823414610422576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610419906112c6565b60405180910390fd5b868173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b815260040161045e9291906112f5565b602060405180830381865afa15801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049f9190611333565b10156104e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d7906113d2565b60405180910390fd5b61050d3330898473ffffffffffffffffffffffffffffffffffffffff16610b01909392919063ffffffff16565b61053882888373ffffffffffffffffffffffffffffffffffffffff16610b8a9092919063ffffffff16565b60008273ffffffffffffffffffffffffffffffffffffffff16638aac16ba85888a8d338e8c604051806020016040528060008152506040518963ffffffff1660e01b815260040161058f97969594939291906114a0565b60206040518083038185885af11580156105ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105d2919061154c565b90508873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167f1a0290ac7c224ab0140c811403ba545f80e92404b9979b69e52b3f589bc1c1e08b888660405161063c93929190611588565b60405180910390a4505050505050505050565b6000610659610aab565b90506000610665610cd9565b9050600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16036106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cd906111c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073c906111c8565b60405180910390fd5b61074d610ade565b63ffffffff168563ffffffff160361079a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107919061125a565b60405180910390fd5b82876107a691906115ee565b34146107e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107de90611694565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b15801561083457600080fd5b505af1158015610848573d6000803e3d6000fd5b50505050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3848a6040518363ffffffff1660e01b81526004016108889291906116b4565b6020604051808303816000875af11580156108a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cb9190611715565b50506000866040516020016108e09190611742565b604051602081830303815290604052905060008373ffffffffffffffffffffffffffffffffffffffff16638aac16ba86898d87338f8d8a6040518963ffffffff1660e01b815260040161093997969594939291906114a0565b60206040518083038185885af1158015610957573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061097c919061154c565b90508773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167fe16c7dcc828782adcdd94aaeb1d07c3ae5a6d593a6b851ab5e023f9c961436873488856040516109cf93929190611588565b60405180910390a350505050505050505050565b6109eb610d0c565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a73906117cf565b60405180910390fd5b565b6000807ffa2e9c22c7fe2104814a1d7e2c66c58d10a2d7989d5bcf01173a2564aa59c04d90508091505090565b6000610ab5610a7e565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610ae8610a7e565b60000160149054906101000a900463ffffffff16905090565b610b84846323b872dd60e01b858585604051602401610b22939291906117ef565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b50505050565b6000811480610c14575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610bd19291906112f5565b602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611333565b145b610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90611898565b60405180910390fd5b610cd48363095ea7b360e01b8484604051602401610c729291906116b4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d39565b505050565b6000610ce3610a7e565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000610d9b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610e009092919063ffffffff16565b9050600081511115610dfb5780806020019051810190610dbb9190611715565b610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df19061192a565b60405180910390fd5b5b505050565b6060610e0f8484600085610e18565b90509392505050565b606082471015610e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e54906119bc565b60405180910390fd5b610e6685610f2c565b610ea5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9c90611a28565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ece9190611a84565b60006040518083038185875af1925050503d8060008114610f0b576040519150601f19603f3d011682016040523d82523d6000602084013e610f10565b606091505b5091509150610f20828286610f4f565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610f5f57829050610faf565b600083511115610f725782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa69190611adf565b60405180910390fd5b9392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610fe682610fbb565b9050919050565b610ff681610fdb565b811461100157600080fd5b50565b60008135905061101381610fed565b92915050565b600063ffffffff82169050919050565b61103281611019565b811461103d57600080fd5b50565b60008135905061104f81611029565b92915050565b60008060006060848603121561106e5761106d610fb6565b5b600061107c86828701611004565b935050602061108d86828701611040565b925050604061109e86828701611004565b9150509250925092565b6000819050919050565b6110bb816110a8565b81146110c657600080fd5b50565b6000813590506110d8816110b2565b92915050565b60008060008060008060c087890312156110fb576110fa610fb6565b5b600061110989828a01611004565b965050602061111a89828a016110c9565b955050604061112b89828a01611004565b945050606061113c89828a01611040565b935050608061114d89828a016110c9565b92505060a061115e89828a016110c9565b9150509295509295509295565b600082825260208201905092915050565b7f436f6e6e6578743a20696e76616c696420616464726573730000000000000000600082015250565b60006111b260188361116b565b91506111bd8261117c565b602082019050919050565b600060208201905081810360008301526111e1816111a5565b9050919050565b7f436f6e6e6578743a2043616e6e6f742062726964676520746f2073616d65206460008201527f6f6d61696e000000000000000000000000000000000000000000000000000000602082015250565b600061124460258361116b565b915061124f826111e8565b604082019050919050565b6000602082019050818103600083015261127381611237565b9050919050565b7f436f6e6e6578743a2072656c6179657246656520213d206d73672e76616c7565600082015250565b60006112b060208361116b565b91506112bb8261127a565b602082019050919050565b600060208201905081810360008301526112df816112a3565b9050919050565b6112ef81610fdb565b82525050565b600060408201905061130a60008301856112e6565b61131760208301846112e6565b9392505050565b60008151905061132d816110b2565b92915050565b60006020828403121561134957611348610fb6565b5b60006113578482850161131e565b91505092915050565b7f436f6e6e6578743a2055736572206d75737420617070726f766520616d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b60006113bc60218361116b565b91506113c782611360565b604082019050919050565b600060208201905081810360008301526113eb816113af565b9050919050565b6113fb81611019565b82525050565b61140a816110a8565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561144a57808201518184015260208101905061142f565b60008484015250505050565b6000601f19601f8301169050919050565b600061147282611410565b61147c818561141b565b935061148c81856020860161142c565b61149581611456565b840191505092915050565b600060e0820190506114b5600083018a6113f2565b6114c260208301896112e6565b6114cf60408301886112e6565b6114dc60608301876112e6565b6114e96080830186611401565b6114f660a0830185611401565b81810360c08301526115088184611467565b905098975050505050505050565b6000819050919050565b61152981611516565b811461153457600080fd5b50565b60008151905061154681611520565b92915050565b60006020828403121561156257611561610fb6565b5b600061157084828501611537565b91505092915050565b61158281611516565b82525050565b600060608201905061159d6000830186611401565b6115aa6020830185611401565b6115b76040830184611579565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115f9826110a8565b9150611604836110a8565b925082820190508082111561161c5761161b6115bf565b5b92915050565b7f436f6e6e6578743a20616d6f756e74202b2072656c6179657246656520213d2060008201527f6d73672e76616c75650000000000000000000000000000000000000000000000602082015250565b600061167e60298361116b565b915061168982611622565b604082019050919050565b600060208201905081810360008301526116ad81611671565b9050919050565b60006040820190506116c960008301856112e6565b6116d66020830184611401565b9392505050565b60008115159050919050565b6116f2816116dd565b81146116fd57600080fd5b50565b60008151905061170f816116e9565b92915050565b60006020828403121561172b5761172a610fb6565b5b600061173984828501611700565b91505092915050565b600060208201905061175760008301846112e6565b92915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006117b960228361116b565b91506117c48261175d565b604082019050919050565b600060208201905081810360008301526117e8816117ac565b9050919050565b600060608201905061180460008301866112e6565b61181160208301856112e6565b61181e6040830184611401565b949350505050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b600061188260368361116b565b915061188d82611826565b604082019050919050565b600060208201905081810360008301526118b181611875565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000611914602a8361116b565b915061191f826118b8565b604082019050919050565b6000602082019050818103600083015261194381611907565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006119a660268361116b565b91506119b18261194a565b604082019050919050565b600060208201905081810360008301526119d581611999565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000611a12601d8361116b565b9150611a1d826119dc565b602082019050919050565b60006020820190508181036000830152611a4181611a05565b9050919050565b600081905092915050565b6000611a5e82611410565b611a688185611a48565b9350611a7881856020860161142c565b80840191505092915050565b6000611a908284611a53565b915081905092915050565b600081519050919050565b6000611ab182611a9b565b611abb818561116b565b9350611acb81856020860161142c565b611ad481611456565b840191505092915050565b60006020820190508181036000830152611af98184611aa6565b90509291505056fea2646970667358221220f3dc4951c58ae8b44cd9ca16d9356178d872e081900d417184103d3d1d4fc9ed64736f6c63430008110033"; + "0x608060405234801561001057600080fd5b50612533806100206000396000f3fe6080604052600436106100555760003560e01c80631e127d9e1461005a5780633205dc691461009757806351b401b9146100c0578063da328d54146100dc578063e59cff6a146100f8578063ff578afd14610121575b600080fd5b34801561006657600080fd5b50610081600480360381019061007c9190611960565b61015e565b60405161008e91906119a8565b60405180910390f35b3480156100a357600080fd5b506100be60048036038101906100b99190611a5d565b610169565b005b6100da60048036038101906100d59190611ae6565b6104d3565b005b6100f660048036038101906100f19190611ae6565b610b2e565b005b34801561010457600080fd5b5061011f600480360381019061011a9190611960565b61116a565b005b34801561012d57600080fd5b5061014860048036038101906101439190611960565b61116d565b60405161015591906119a8565b60405180910390f35b600060019050919050565b61017d67da66d5c76eb6198060c01b61116a565b6101916707107aa74081ad9a60c01b61116a565b6101a56709e536b31d2b284560c01b61116a565b6101ad611174565b6101c16724b3a7fbd5a0555c60c01b61116a565b6101d5673158d971c7fdb0ca60c01b61116a565b6101e96703c9330b53674b1760c01b61116a565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024f90611bd0565b60405180910390fd5b61026c67fcc5147cdd4ebd8960c01b61116a565b610280674fdb424e77c2592f60c01b61116a565b61029467f9d795c7c5682b1d60c01b61116a565b6102a8671cbbd1c5e3f278ca60c01b61116a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610317576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030e90611bd0565b60405180910390fd5b61032b67016ab0db5906bbb360c01b61116a565b61033f67169c7e53c5b97e3360c01b61116a565b610353679cab345ad0dd8ce860c01b61116a565b600061035d611273565b9050610373672902fe7e7f2d9cda60c01b61116a565b838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103ca6792d47aeff096fb8f60c01b61116a565b828160000160146101000a81548163ffffffff021916908363ffffffff16021790555061040167dae0b6432f92708c60c01b61116a565b818160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061045867a5bbad863e87472960c01b61116a565b61046c6730c01a8ab946fa6060c01b61116a565b8173ffffffffffffffffffffffffffffffffffffffff168363ffffffff168573ffffffffffffffffffffffffffffffffffffffff167fe23ac138025651e2fb684be9a5c635424d4dac7fc73449494c24c4955e79027860405160405180910390a450505050565b6104e767acf0e9b35b4e65cd60c01b61116a565b6104fb6738c37d6ca422220660c01b61116a565b61050f6755a23b34dbcae5e460c01b61116a565b60006105196112f0565b905061052f675672b2448cdaf2f660c01b61116a565b61054367dd45662776e9485560c01b61116a565b600087905061055c674cbc6907ea07364660c01b61116a565b61057067628a6a1dae6e92c660c01b61116a565b61058467cdd5c254132cf2e360c01b61116a565b600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16036105f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ea90611bd0565b60405180910390fd5b61060767200b5f32b92e177c60c01b61116a565b61061b674f3206500b7d2d5b60c01b61116a565b61062f67d6ea1b1f01245e9160c01b61116a565b61064367da795a7d1d76ed2960c01b61116a565b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036106b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a990611bd0565b60405180910390fd5b6106c6674bb3f49be13dfadd60c01b61116a565b6106da671a6e4c979fc59d1360c01b61116a565b6106ee6718797eb7b093482c60c01b61116a565b6107026744a98e3e169b2f3460c01b61116a565b61070a61135f565b63ffffffff168563ffffffff1603610757576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074e90611c62565b60405180910390fd5b61076b673ce249b64835bbe560c01b61116a565b61077f67b9f72ba69a763c2760c01b61116a565b610793679fda6d2ebebf2fc360c01b61116a565b6107a7673cc29b0d572e7d7760c01b61116a565b8234146107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e090611cce565b60405180910390fd5b6107fd673d2b8fad77a6165f60c01b61116a565b61081167ea2297dd4a98c52260c01b61116a565b61082567e468230f90149a5c60c01b61116a565b610839672b6ca90b2121025860c01b61116a565b868173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b8152600401610875929190611cfd565b602060405180830381865afa158015610892573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b69190611d3b565b10156108f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ee90611dda565b60405180910390fd5b61090b67eeae8774d4737f9b60c01b61116a565b61091f6777f92ef958d33eb060c01b61116a565b6109336724476b17f224827760c01b61116a565b610947676472c6d9ab3589b760c01b61116a565b6109743330898473ffffffffffffffffffffffffffffffffffffffff166113be909392919063ffffffff16565b6109886774bf09dfa548e53660c01b61116a565b61099c6760a91e4e3a8ac2d960c01b61116a565b6109c782888373ffffffffffffffffffffffffffffffffffffffff166114479092919063ffffffff16565b6109db67ed56f35d7f2b828060c01b61116a565b6109ef67e38f566121b8c22660c01b61116a565b60008273ffffffffffffffffffffffffffffffffffffffff16638aac16ba85888a8d338e8c604051806020016040528060008152506040518963ffffffff1660e01b8152600401610a469796959493929190611ea8565b60206040518083038185885af1158015610a64573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a899190611f54565b9050610a9f67db5256f5193ef69260c01b61116a565b610ab367faca73967507dca660c01b61116a565b8873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167f1a0290ac7c224ab0140c811403ba545f80e92404b9979b69e52b3f589bc1c1e08b8886604051610b1b93929190611f90565b60405180910390a4505050505050505050565b610b4267c472042bb0a39b6f60c01b61116a565b610b5667e8d23992abac163d60c01b61116a565b610b6a67b48086d5ae77200760c01b61116a565b6000610b746112f0565b9050610b8a67ce9c305cc02b1c1160c01b61116a565b610b9e674c7274a33eb2813c60c01b61116a565b6000610ba8611596565b9050610bbe67bdf25af44a249b6560c01b61116a565b610bd267b444096f935769e960c01b61116a565b610be667bc5e5dc4ce769c2c60c01b61116a565b600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1603610c55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4c90611bd0565b60405180910390fd5b610c69671cc12e0b11e5007760c01b61116a565b610c7d67fa05b4e6612f0dc660c01b61116a565b610c9167a91b4fcfcd68b0e660c01b61116a565b610ca5671bbdb3490f019f5c60c01b61116a565b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0b90611bd0565b60405180910390fd5b610d286771179656948a2b0060c01b61116a565b610d3c67a3e2bdd52726bafd60c01b61116a565b610d5067046edd65ee4f553060c01b61116a565b610d64678c8ce874ae9b9de860c01b61116a565b610d6c61135f565b63ffffffff168563ffffffff1603610db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db090611c62565b60405180910390fd5b610dcd67aef6da0e6fe9d52160c01b61116a565b610de167740f381fd2151cb260c01b61116a565b610df567346b3c8880b2c3da60c01b61116a565b610e09674ad7b107080662c360c01b61116a565b8287610e159190611ff6565b3414610e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4d9061209c565b60405180910390fd5b610e6a6789871c2781989c6d60c01b61116a565b610e7e67060d638a4435f2cb60c01b61116a565b610e926708b41563644eea3e60c01b61116a565b610ea66755a072def3c33fb160c01b61116a565b6000819050610ebf673d4cc8668bbb681860c01b61116a565b610ed367508afb80f9f91eff60c01b61116a565b8073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b158015610f1b57600080fd5b505af1158015610f2f573d6000803e3d6000fd5b5050505050610f4867d240007acf4daa6460c01b61116a565b610f5c67e3df34b53866cb7760c01b61116a565b8073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3848a6040518363ffffffff1660e01b8152600401610f979291906120bc565b6020604051808303816000875af1158015610fb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fda9190612111565b5050610ff06737adbf910b3ee50360c01b61116a565b611004672a586681e374b5d660c01b61116a565b600086604051602001611017919061213e565b604051602081830303815290604052905061103c67199e92c28f9b407560c01b61116a565b6110506704c4ce9f5de15da560c01b61116a565b60008373ffffffffffffffffffffffffffffffffffffffff16638aac16ba86898d87338f8d8a6040518963ffffffff1660e01b81526004016110989796959493929190611ea8565b60206040518083038185885af11580156110b6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110db9190611f54565b90506110f167a170e2544473341460c01b61116a565b61110567feb2f7a200bc2b9760c01b61116a565b8773ffffffffffffffffffffffffffffffffffffffff168763ffffffff167fe16c7dcc828782adcdd94aaeb1d07c3ae5a6d593a6b851ab5e023f9c9614368734888560405161115693929190611f90565b60405180910390a350505050505050505050565b50565b6000919050565b6111886721b40df6734b4e6460c01b611605565b61119c677276b6d1bbf7b68b60c01b611605565b6111b067f8611dbcb55a1f7860c01b611605565b6111c4676cedf54251a3375160c01b611605565b6111cc611608565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461125d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611254906121cb565b60405180910390fd5b61127167e452355b21bbd41e60c01b611605565b565b60006112886686de270f8eb5ee60c01b61116a565b61129c67e91f6aa427e7a86260c01b61116a565b6112b067f9fa26a73cd597f060c01b61116a565b60007ffa2e9c22c7fe2104814a1d7e2c66c58d10a2d7989d5bcf01173a2564aa59c04d90506112e967b96cba4c6f0b350c60c01b61116a565b8091505090565b600061130667ac00b124db4b589260c01b61116a565b61131a67fe1df3e726aaef2f60c01b61116a565b61132e67ac13fce227ef532760c01b61116a565b611336611273565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006113756799a5fb6e1d2eed7160c01b61116a565b6113896743d580f33e0df2b160c01b61116a565b61139d67e8552e2d8af2b48e60c01b61116a565b6113a5611273565b60000160149054906101000a900463ffffffff16905090565b611441846323b872dd60e01b8585856040516024016113df939291906121eb565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611686565b50505050565b60008114806114d1575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161148e929190611cfd565b602060405180830381865afa1580156114ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cf9190611d3b565b145b611510576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150790612294565b60405180910390fd5b6115918363095ea7b360e01b848460405160240161152f9291906120bc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611686565b505050565b60006115ac672d586a34e5abb5b460c01b61116a565b6115c067260fb297e7aa153460c01b61116a565b6115d46760d293c4377d5b2c60c01b61116a565b6115dc611273565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b50565b600061161e674f9afbb757d80e6360c01b611605565b611632674b823103125da15660c01b611605565b611646674ab715c231c1608d60c01b611605565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061167f67982d9bb86701efa860c01b611605565b8091505090565b60006116e8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661174d9092919063ffffffff16565b905060008151111561174857808060200190518101906117089190612111565b611747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173e90612326565b60405180910390fd5b5b505050565b606061175c8484600085611765565b90509392505050565b6060824710156117aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a1906123b8565b60405180910390fd5b6117b385611879565b6117f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e990612424565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161181b9190612480565b60006040518083038185875af1925050503d8060008114611858576040519150601f19603f3d011682016040523d82523d6000602084013e61185d565b606091505b509150915061186d82828661189c565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606083156118ac578290506118fc565b6000835111156118bf5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f391906124db565b60405180910390fd5b9392505050565b600080fd5b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b61193d81611908565b811461194857600080fd5b50565b60008135905061195a81611934565b92915050565b60006020828403121561197657611975611903565b5b60006119848482850161194b565b91505092915050565b60008115159050919050565b6119a28161198d565b82525050565b60006020820190506119bd6000830184611999565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119ee826119c3565b9050919050565b6119fe816119e3565b8114611a0957600080fd5b50565b600081359050611a1b816119f5565b92915050565b600063ffffffff82169050919050565b611a3a81611a21565b8114611a4557600080fd5b50565b600081359050611a5781611a31565b92915050565b600080600060608486031215611a7657611a75611903565b5b6000611a8486828701611a0c565b9350506020611a9586828701611a48565b9250506040611aa686828701611a0c565b9150509250925092565b6000819050919050565b611ac381611ab0565b8114611ace57600080fd5b50565b600081359050611ae081611aba565b92915050565b60008060008060008060c08789031215611b0357611b02611903565b5b6000611b1189828a01611a0c565b9650506020611b2289828a01611ad1565b9550506040611b3389828a01611a0c565b9450506060611b4489828a01611a48565b9350506080611b5589828a01611ad1565b92505060a0611b6689828a01611ad1565b9150509295509295509295565b600082825260208201905092915050565b7f436f6e6e6578743a20696e76616c696420616464726573730000000000000000600082015250565b6000611bba601883611b73565b9150611bc582611b84565b602082019050919050565b60006020820190508181036000830152611be981611bad565b9050919050565b7f436f6e6e6578743a2043616e6e6f742062726964676520746f2073616d65206460008201527f6f6d61696e000000000000000000000000000000000000000000000000000000602082015250565b6000611c4c602583611b73565b9150611c5782611bf0565b604082019050919050565b60006020820190508181036000830152611c7b81611c3f565b9050919050565b7f436f6e6e6578743a2072656c6179657246656520213d206d73672e76616c7565600082015250565b6000611cb8602083611b73565b9150611cc382611c82565b602082019050919050565b60006020820190508181036000830152611ce781611cab565b9050919050565b611cf7816119e3565b82525050565b6000604082019050611d126000830185611cee565b611d1f6020830184611cee565b9392505050565b600081519050611d3581611aba565b92915050565b600060208284031215611d5157611d50611903565b5b6000611d5f84828501611d26565b91505092915050565b7f436f6e6e6578743a2055736572206d75737420617070726f766520616d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b6000611dc4602183611b73565b9150611dcf82611d68565b604082019050919050565b60006020820190508181036000830152611df381611db7565b9050919050565b611e0381611a21565b82525050565b611e1281611ab0565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e52578082015181840152602081019050611e37565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e7a82611e18565b611e848185611e23565b9350611e94818560208601611e34565b611e9d81611e5e565b840191505092915050565b600060e082019050611ebd600083018a611dfa565b611eca6020830189611cee565b611ed76040830188611cee565b611ee46060830187611cee565b611ef16080830186611e09565b611efe60a0830185611e09565b81810360c0830152611f108184611e6f565b905098975050505050505050565b6000819050919050565b611f3181611f1e565b8114611f3c57600080fd5b50565b600081519050611f4e81611f28565b92915050565b600060208284031215611f6a57611f69611903565b5b6000611f7884828501611f3f565b91505092915050565b611f8a81611f1e565b82525050565b6000606082019050611fa56000830186611e09565b611fb26020830185611e09565b611fbf6040830184611f81565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061200182611ab0565b915061200c83611ab0565b925082820190508082111561202457612023611fc7565b5b92915050565b7f436f6e6e6578743a20616d6f756e74202b2072656c6179657246656520213d2060008201527f6d73672e76616c75650000000000000000000000000000000000000000000000602082015250565b6000612086602983611b73565b91506120918261202a565b604082019050919050565b600060208201905081810360008301526120b581612079565b9050919050565b60006040820190506120d16000830185611cee565b6120de6020830184611e09565b9392505050565b6120ee8161198d565b81146120f957600080fd5b50565b60008151905061210b816120e5565b92915050565b60006020828403121561212757612126611903565b5b6000612135848285016120fc565b91505092915050565b60006020820190506121536000830184611cee565b92915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006121b5602283611b73565b91506121c082612159565b604082019050919050565b600060208201905081810360008301526121e4816121a8565b9050919050565b60006060820190506122006000830186611cee565b61220d6020830185611cee565b61221a6040830184611e09565b949350505050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b600061227e603683611b73565b915061228982612222565b604082019050919050565b600060208201905081810360008301526122ad81612271565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612310602a83611b73565b915061231b826122b4565b604082019050919050565b6000602082019050818103600083015261233f81612303565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006123a2602683611b73565b91506123ad82612346565b604082019050919050565b600060208201905081810360008301526123d181612395565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b600061240e601d83611b73565b9150612419826123d8565b602082019050919050565b6000602082019050818103600083015261243d81612401565b9050919050565b600081905092915050565b600061245a82611e18565b6124648185612444565b9350612474818560208601611e34565b80840191505092915050565b600061248c828461244f565b915081905092915050565b600081519050919050565b60006124ad82612497565b6124b78185611b73565b93506124c7818560208601611e34565b6124d081611e5e565b840191505092915050565b600060208201905081810360008301526124f581846124a2565b90509291505056fea26469706673582212204da084d29f2b1f49110a7e2136c1f929f1a0ef590b5b88f05fb2d02502daf9f664736f6c63430008110033"; type ConnextFacetConstructorParams = | [signer?: Signer] diff --git a/typings/factories/Controlled__factory.ts b/typings/factories/Controlled__factory.ts index aef289c5..d71adfb7 100644 --- a/typings/factories/Controlled__factory.ts +++ b/typings/factories/Controlled__factory.ts @@ -7,6 +7,57 @@ import { Provider } from "@ethersproject/providers"; import type { Controlled, ControlledInterface } from "../Controlled"; const _abi = [ + { + inputs: [ + { + internalType: "bytes8", + name: "c__495bfa8b", + type: "bytes8", + }, + ], + name: "c_495bfa8b", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__495bfa8b", + type: "bytes8", + }, + ], + name: "c_false495bfa8b", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__495bfa8b", + type: "bytes8", + }, + ], + name: "c_true495bfa8b", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [], name: "controller", diff --git a/typings/factories/DiamondCutFacet__factory.ts b/typings/factories/DiamondCutFacet__factory.ts index 7ec21224..f91e18cd 100644 --- a/typings/factories/DiamondCutFacet__factory.ts +++ b/typings/factories/DiamondCutFacet__factory.ts @@ -51,6 +51,57 @@ const _abi = [ name: "DiamondCut", type: "event", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__e238b7d9", + type: "bytes8", + }, + ], + name: "c_e238b7d9", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__e238b7d9", + type: "bytes8", + }, + ], + name: "c_falsee238b7d9", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__e238b7d9", + type: "bytes8", + }, + ], + name: "c_truee238b7d9", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { @@ -94,7 +145,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b5061270a806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631f931c1c14610030575b600080fd5b61004a600480360381019061004591906116ab565b61004c565b005b6100546100b6565b6100af8585906100649190611a49565b8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610151565b5050505050565b6100be610380565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461014f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014690611ae1565b60405180910390fd5b565b60005b835181101561033557600084828151811061017257610171611b01565b5b60200260200101516020015190506000600281111561019457610193611b30565b5b8160028111156101a7576101a6611b30565b5b036101f7576101f28583815181106101c2576101c1611b01565b5b6020026020010151600001518684815181106101e1576101e0611b01565b5b6020026020010151604001516103ad565b610321565b6001600281111561020b5761020a611b30565b5b81600281111561021e5761021d611b30565b5b0361026e5761026985838151811061023957610238611b01565b5b60200260200101516000015186848151811061025857610257611b01565b5b602002602001015160400151610624565b610320565b60028081111561028157610280611b30565b5b81600281111561029457610293611b30565b5b036102e4576102df8583815181106102af576102ae611b01565b5b6020026020010151600001518684815181106102ce576102cd611b01565b5b6020026020010151604001516108a5565b61031f565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031690611bd1565b60405180910390fd5b5b5b50808061032d90611c2a565b915050610154565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161036993929190611f27565b60405180910390a161037b8282610a30565b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60008151116103f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e890611fde565b60405180910390fd5b60006103fb610380565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361046c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046390612070565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff16036104d9576104d88285610c42565b5b60005b835181101561061d5760008482815181106104fa576104f9611b01565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146105ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e590612102565b60405180910390fd5b6105fa8583868a610d1d565b83806106059061213a565b9450505050808061061590611c2a565b9150506104dc565b5050505050565b6000815111610668576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065f90611fde565b60405180910390fd5b6000610672610380565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106da90612070565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff16036107505761074f8285610c42565b5b60005b835181101561089e57600084828151811061077157610770611b01565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610864576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085b906121e0565b60405180910390fd5b61086f858284610eca565b61087b8583868a610d1d565b83806108869061213a565b9450505050808061089690611c2a565b915050610753565b5050505050565b60008151116108e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e090611fde565b60405180910390fd5b60006108f3610380565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095b90612272565b60405180910390fd5b60005b8251811015610a2a57600083828151811061098557610984611b01565b5b602002602001015190506000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610a15848284610eca565b50508080610a2290611c2a565b915050610967565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610aad576000815114610aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9f90612304565b60405180910390fd5b610c3e565b6000815111610af1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae890612396565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610b4757610b46826040518060600160405280602881526020016126896028913961152c565b5b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051610b6f91906123f2565b600060405180830381855af49150503d8060008114610baa576040519150601f19603f3d011682016040523d82523d6000602084013e610baf565b606091505b509150915081610c3b57600081511115610c0057806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf7919061244d565b60405180910390fd5b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c32906124e1565b60405180910390fd5b50505b5050565b610c64816040518060600160405280602481526020016126b16024913961152c565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c021790555080846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090612573565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9e90612605565b60405180910390fd5b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905061107e9190612625565b90508082146112125760008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000182815481106110df576110de611b01565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b9050808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001848154811061115b5761115a611b01565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c021790555082866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550505b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548061126657611265612659565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff02191690559055846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff0219169055505060008103611525576000600186600201805490506113509190612625565b905060008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015490508181146114915760008760020183815481106113ba576113b9611b01565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050808860020183815481106113fe576113fd611b01565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550505b866002018054806114a5576114a4612659565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590558660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000905550505b5050505050565b6000823b9050600081118290611578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156f919061244d565b60405180910390fd5b50505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126115b7576115b6611592565b5b8235905067ffffffffffffffff8111156115d4576115d3611597565b5b6020830191508360208202830111156115f0576115ef61159c565b5b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611622826115f7565b9050919050565b61163281611617565b811461163d57600080fd5b50565b60008135905061164f81611629565b92915050565b60008083601f84011261166b5761166a611592565b5b8235905067ffffffffffffffff81111561168857611687611597565b5b6020830191508360018202830111156116a4576116a361159c565b5b9250929050565b6000806000806000606086880312156116c7576116c6611588565b5b600086013567ffffffffffffffff8111156116e5576116e461158d565b5b6116f1888289016115a1565b9550955050602061170488828901611640565b935050604086013567ffffffffffffffff8111156117255761172461158d565b5b61173188828901611655565b92509250509295509295909350565b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61178982611740565b810181811067ffffffffffffffff821117156117a8576117a7611751565b5b80604052505050565b60006117bb61157e565b90506117c78282611780565b919050565b600067ffffffffffffffff8211156117e7576117e6611751565b5b602082029050602081019050919050565b600080fd5b600080fd5b6003811061180f57600080fd5b50565b60008135905061182181611802565b92915050565b600067ffffffffffffffff82111561184257611841611751565b5b602082029050602081019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61188881611853565b811461189357600080fd5b50565b6000813590506118a58161187f565b92915050565b60006118be6118b984611827565b6117b1565b905080838252602082019050602084028301858111156118e1576118e061159c565b5b835b8181101561190a57806118f68882611896565b8452602084019350506020810190506118e3565b5050509392505050565b600082601f83011261192957611928611592565b5b81356119398482602086016118ab565b91505092915050565b600060608284031215611958576119576117f8565b5b61196260606117b1565b9050600061197284828501611640565b600083015250602061198684828501611812565b602083015250604082013567ffffffffffffffff8111156119aa576119a96117fd565b5b6119b684828501611914565b60408301525092915050565b60006119d56119d0846117cc565b6117b1565b905080838252602082019050602084028301858111156119f8576119f761159c565b5b835b81811015611a3f57803567ffffffffffffffff811115611a1d57611a1c611592565b5b808601611a2a8982611942565b855260208501945050506020810190506119fa565b5050509392505050565b6000611a563684846119c2565b905092915050565b600082825260208201905092915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b6000611acb602283611a5e565b9150611ad682611a6f565b604082019050919050565b60006020820190508181036000830152611afa81611abe565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b6000611bbb602783611a5e565b9150611bc682611b5f565b604082019050919050565b60006020820190508181036000830152611bea81611bae565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000611c3582611c20565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c6757611c66611bf1565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611ca781611617565b82525050565b60038110611cbe57611cbd611b30565b5b50565b6000819050611ccf82611cad565b919050565b6000611cdf82611cc1565b9050919050565b611cef81611cd4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611d2a81611853565b82525050565b6000611d3c8383611d21565b60208301905092915050565b6000602082019050919050565b6000611d6082611cf5565b611d6a8185611d00565b9350611d7583611d11565b8060005b83811015611da6578151611d8d8882611d30565b9750611d9883611d48565b925050600181019050611d79565b5085935050505092915050565b6000606083016000830151611dcb6000860182611c9e565b506020830151611dde6020860182611ce6565b5060408301518482036040860152611df68282611d55565b9150508091505092915050565b6000611e0f8383611db3565b905092915050565b6000602082019050919050565b6000611e2f82611c72565b611e398185611c7d565b935083602082028501611e4b85611c8e565b8060005b85811015611e875784840389528151611e688582611e03565b9450611e7383611e17565b925060208a01995050600181019050611e4f565b50829750879550505050505092915050565b611ea281611617565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ee2578082015181840152602081019050611ec7565b60008484015250505050565b6000611ef982611ea8565b611f038185611eb3565b9350611f13818560208601611ec4565b611f1c81611740565b840191505092915050565b60006060820190508181036000830152611f418186611e24565b9050611f506020830185611e99565b8181036040830152611f628184611eee565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b6000611fc8602b83611a5e565b9150611fd382611f6c565b604082019050919050565b60006020820190508181036000830152611ff781611fbb565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b600061205a602c83611a5e565b915061206582611ffe565b604082019050919050565b600060208201905081810360008301526120898161204d565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b60006120ec603583611a5e565b91506120f782612090565b604082019050919050565b6000602082019050818103600083015261211b816120df565b9050919050565b60006bffffffffffffffffffffffff82169050919050565b600061214582612122565b91506bffffffffffffffffffffffff820361216357612162611bf1565b5b600182019050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b60006121ca603883611a5e565b91506121d58261216e565b604082019050919050565b600060208201905081810360008301526121f9816121bd565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b600061225c603683611a5e565b915061226782612200565b604082019050919050565b6000602082019050818103600083015261228b8161224f565b9050919050565b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b60006122ee603c83611a5e565b91506122f982612292565b604082019050919050565b6000602082019050818103600083015261231d816122e1565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b6000612380603d83611a5e565b915061238b82612324565b604082019050919050565b600060208201905081810360008301526123af81612373565b9050919050565b600081905092915050565b60006123cc82611ea8565b6123d681856123b6565b93506123e6818560208601611ec4565b80840191505092915050565b60006123fe82846123c1565b915081905092915050565b600081519050919050565b600061241f82612409565b6124298185611a5e565b9350612439818560208601611ec4565b61244281611740565b840191505092915050565b600060208201905081810360008301526124678184612414565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b60006124cb602683611a5e565b91506124d68261246f565b604082019050919050565b600060208201905081810360008301526124fa816124be565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b600061255d603783611a5e565b915061256882612501565b604082019050919050565b6000602082019050818103600083015261258c81612550565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e000000000000000000000000000000000000602082015250565b60006125ef602e83611a5e565b91506125fa82612593565b604082019050919050565b6000602082019050818103600083015261261e816125e2565b9050919050565b600061263082611c20565b915061263b83611c20565b925082820390508181111561265357612652611bf1565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a26469706673582212207fa2a888ad5bbe4de1458e663214e8a88a5f68b72dc15183dafb93f74374cabc64736f6c63430008110033"; + "0x608060405234801561001057600080fd5b506139dc806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80631f931c1c14610051578063a38775811461006d578063a44a1d6d1461009d578063b6f4ad23146100b9575b600080fd5b61006b600480360381019061006691906128c2565b6100e9565b005b610087600480360381019061008291906129af565b6101b7565b60405161009491906129f7565b60405180910390f35b6100b760048036038101906100b291906129af565b6101be565b005b6100d360048036038101906100ce91906129af565b6101c1565b6040516100e091906129f7565b60405180910390f35b6100fd67289dfeb4c66136a960c01b6101be565b61011167e5a597ae739b87c260c01b6101be565b610125679b7aa0fdc6113ac960c01b6101be565b61012d6101cc565b6101416734b421f3a9ef97d960c01b6101be565b610155677c88f654614b38de60c01b6101be565b6101b08585906101659190612d1b565b8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506102cb565b5050505050565b6000919050565b50565b600060019050919050565b6101e06721b40df6734b4e6460c01b610716565b6101f4677276b6d1bbf7b68b60c01b610716565b61020867f8611dbcb55a1f7860c01b610716565b61021c676cedf54251a3375160c01b610716565b610224610719565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ac90612db3565b60405180910390fd5b6102c967e452355b21bbd41e60c01b610716565b565b6102df67a19105344d9f01ff60c01b610716565b6102f367b64c935a270824d460c01b610716565b61030767472298b363a8ccd460c01b610716565b60005b835181101561067b57610327679f2b3e118cce749f60c01b610716565b61033b67d896c15712e4c99e60c01b610716565b60008482815181106103505761034f612dd3565b5b602002602001015160200151905061037267e9e9e49fe14a781e60c01b610716565b61038667c54028706882e3fd60c01b610716565b6000600281111561039a57610399612e02565b5b8160028111156103ad576103ac612e02565b5b03610439576103c667f4728512f8de3aa360c01b610716565b6103da6740469cb01cf2faa260c01b610716565b6103ee6721754418551a963060c01b610716565b61043485838151811061040457610403612dd3565b5b60200260200101516000015186848151811061042357610422612dd3565b5b602002602001015160400151610797565b610667565b61044d67964166c6a112694260c01b610716565b610461675cddae6a9e8d84f060c01b610716565b6001600281111561047557610474612e02565b5b81600281111561048857610487612e02565b5b03610514576104a1676469914f5066ffc460c01b610716565b6104b567cf470716cadf00df60c01b610716565b6104c967f4605d17f3b1301c60c01b610716565b61050f8583815181106104df576104de612dd3565b5b6020026020010151600001518684815181106104fe576104fd612dd3565b5b602002602001015160400151610c93565b610666565b61052867e72a92bcd515975b60c01b610716565b61053c67b1e174fb1bb1b85360c01b610716565b60028081111561054f5761054e612e02565b5b81600281111561056257610561612e02565b5b036105ee5761057b67db0f598297fb7fbc60c01b610716565b61058f671a55e89439142ee060c01b610716565b6105a36711513d20488a52e060c01b610716565b6105e98583815181106105b9576105b8612dd3565b5b6020026020010151600001518684815181106105d8576105d7612dd3565b5b6020026020010151604001516111c1565b610665565b61060267cf3e056f531577e760c01b610716565b610616671903ab370305c25960c01b610716565b61062a676af2c3acde0bf38760c01b610716565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065c90612ea3565b60405180910390fd5b5b5b50808061067390612efc565b91505061030a565b5061069067dc19ebbaa4095b3160c01b610716565b6106a4678571dd875084a3e060c01b610716565b7f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738383836040516106d7939291906131f9565b60405180910390a16106f367faecfc839f48e07b60c01b610716565b6107076792cae661f317b4ce60c01b610716565b61071182826114c8565b505050565b50565b600061072f674f9afbb757d80e6360c01b610716565b610743674b823103125da15660c01b610716565b610757674ab715c231c1608d60c01b610716565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061079067982d9bb86701efa860c01b610716565b8091505090565b6107ab67cc97399e32da22a560c01b610716565b6107bf67021d8eb4be5452a860c01b610716565b6107d3678748409130ac41fa60c01b610716565b6107e767ccd015372bd45b9c60c01b610716565b600081511161082b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610822906132b0565b60405180910390fd5b61083f67d0bcd87037df4e5a60c01b610716565b6108536777b6df3c8e2ebf4660c01b610716565b6108676755a810a63d06fcdd60c01b610716565b6000610871610719565b90506108876747e187c4c65f108c60c01b610716565b61089b670bde1222440aa4dd60c01b610716565b6108af67f7810a880d4fe12d60c01b610716565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361091e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091590613342565b60405180910390fd5b610932676e4814773ca1e6f960c01b610716565b61094667abb5961c588ff7dc60c01b610716565b61095a6775b1393f5ceb0a4860c01b610716565b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506109ba6779cb28ccf660334260c01b610716565b6109ce671a64ec3fd612cafd60c01b610716565b6000816bffffffffffffffffffffffff1603610a2f576109f8672a23378c0ae85db760c01b610716565b610a0c670288376b7f20f78660c01b610716565b610a2067d14bbd8396b718cd60c01b610716565b610a2a8285611973565b610a44565b610a43675eb466f90a620b0f60c01b610716565b5b610a5867fcd8a57751c34a1160c01b610716565b610a6c67c014c8ff907100cb60c01b610716565b60005b8351811015610c8c57610a8c677134da3b2ea217c360c01b610716565b610aa0678ef84b1f8594c55e60c01b610716565b6000848281518110610ab557610ab4612dd3565b5b60200260200101519050610ad367e6627f219f43163560c01b610716565b610ae7672b0989e1ce351d2c60c01b610716565b6000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610b76678edc0ee3600e6f7160c01b610716565b610b8a67acff68f00aaf198060c01b610716565b610b9e678e7e9da0f87df0c460c01b610716565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c04906133d4565b60405180910390fd5b610c2167de5c2f108b7a76ad60c01b610716565b610c35679df301acb4b4e7b560c01b610716565b610c4967d5dd90cfdfe4af7760c01b610716565b610c558583868a611ac6565b610c6967b77905e3474e693060c01b610716565b8380610c749061340c565b94505050508080610c8490612efc565b915050610a6f565b5050505050565b610ca7672faab333134f8f2b60c01b610716565b610cbb67f1aef7c8a9655d5360c01b610716565b610ccf67d203ed109c17319660c01b610716565b610ce367f4734d8378f4311060c01b610716565b6000815111610d27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1e906132b0565b60405180910390fd5b610d3b6754602ce0fe5a43bf60c01b610716565b610d4f67f46efb4b2c2c709e60c01b610716565b610d6367610110a281fa82c760c01b610716565b6000610d6d610719565b9050610d8367edc9c99031ecb10d60c01b610716565b610d976767fe440300c94a3460c01b610716565b610dab6784ec279df893a23160c01b610716565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1190613342565b60405180910390fd5b610e2e678fb1a303062b7c3660c01b610716565b610e42672659fafa49e6fe9a60c01b610716565b610e5667151721b3adf3095360c01b610716565b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050610eb66747aaf74cd533212060c01b610716565b610eca6703de6b9bbbb4e65460c01b610716565b6000816bffffffffffffffffffffffff1603610f2b57610ef4677f40383c8703753660c01b610716565b610f0867bee7ffe190c4ad3c60c01b610716565b610f1c6755bd06ec28bd8be360c01b610716565b610f268285611973565b610f40565b610f3f67dd6dd2122982fcbd60c01b610716565b5b610f5467c00fc6f5b3cfec0760c01b610716565b610f686712c602b6c749bc1660c01b610716565b60005b83518110156111ba57610f8867b01c581fb6bf76d460c01b610716565b610f9c6772bf81d7d68cd5cc60c01b610716565b6000848281518110610fb157610fb0612dd3565b5b60200260200101519050610fcf67f378c2c5d2ac591860c01b610716565b610fe3672abe9487f14424bf60c01b610716565b6000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061107267c938893e73b6cc8660c01b610716565b61108667b830452a6260fe5860c01b610716565b61109a67732490d4bd014f1160c01b610716565b8673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611108576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ff906134b2565b60405180910390fd5b61111c67307ef01dc603673f60c01b610716565b61113067df9b9ad53f3498bb60c01b610716565b61114467ef74a1c742a2ef4b60c01b610716565b61114f858284611cd7565b6111636709eba8384d15433760c01b610716565b61117767eb34f0e39cc002be60c01b610716565b6111838583868a611ac6565b61119767c8e26e167d4df53e60c01b610716565b83806111a29061340c565b945050505080806111b290612efc565b915050610f6b565b5050505050565b6111d567484f249b41b9afdf60c01b610716565b6111e9672afee721a436189e60c01b610716565b6111fd6790c0f4303981d53860c01b610716565b61121167b69809b50e9b29b160c01b610716565b6000815111611255576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124c906132b0565b60405180910390fd5b6112696703449e0de1d16e1460c01b610716565b61127d67043931a3bf63a76460c01b610716565b6112916783eac4de134a189760c01b610716565b600061129b610719565b90506112b1676fa9503e3a33edf160c01b610716565b6112c567565ff8422e73f48260c01b610716565b6112d967a43a53c1c8fdb01860c01b610716565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133f90613544565b60405180910390fd5b61135c67a83ec82cf318ce9960c01b610716565b6113706729de67dbee8a781960c01b610716565b6113846778ae44bab32ab16d60c01b610716565b60005b82518110156114c2576113a467c86ec2c930ebf39060c01b610716565b6113b867bb2f8bac9067d0d960c01b610716565b60008382815181106113cd576113cc612dd3565b5b602002602001015190506113eb67afdb7f7eafa2419160c01b610716565b6113ff67336a3f69f07dbd0a60c01b610716565b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061148e67a9a5f6b739625a6060c01b610716565b6114a267fd046ea59cd94d2a60c01b610716565b6114ad848284611cd7565b505080806114ba90612efc565b915050611387565b50505050565b6114dc67029e1a56337e048460c01b610716565b6114f067165337675d3a848660c01b610716565b611504674613682e59aed10a60c01b610716565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115e55761154c6788e41d767c30804a60c01b610716565b61156067509782c75193bd1560c01b610716565b611574677c55baba9bedefc760c01b610716565b6115886779b630e4a1a501b160c01b610716565b60008151146115cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c3906135d6565b60405180910390fd5b6115e0671cf5cba47462738c60c01b610716565b61196f565b6115f967d87fba57f9fd56d260c01b610716565b61160d6785ecbfea545b551c60c01b610716565b611621675a99520875f542d360c01b610716565b611635677335d4909eb3f6ed60c01b610716565b6000815111611679576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167090613668565b60405180910390fd5b61168d67e2308116fde49ef660c01b610716565b6116a167e68a1e15bfb15c1560c01b610716565b6116b567e2f9c57761f027da60c01b610716565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461174b576116fc677e43db5cf3dda55a60c01b610716565b61171067f9079825f16296d860c01b610716565b6117246722169a84f6e6288860c01b610716565b6117468260405180606001604052806028815260200161395b602891396126a3565b611760565b61175f6756028f6713aeb61660c01b610716565b5b611774678b5d37b494e8790c60c01b610716565b6117886732f3ff1c4d01de4c60c01b610716565b6000808373ffffffffffffffffffffffffffffffffffffffff16836040516117b091906136c4565b600060405180830381855af49150503d80600081146117eb576040519150601f19603f3d011682016040523d82523d6000602084013e6117f0565b606091505b509150915061180967cb519b28cdf2316460c01b610716565b61181d67d3126d202060687460c01b610716565b81611958576118366713957e4282cdd48760c01b610716565b61184a676bcab06e51e2612c60c01b610716565b61185e67d3bfca2e5aa4d84960c01b610716565b6000815111156118e15761187c673aa967c1a865c9c260c01b610716565b61189067f27acd53282addda60c01b610716565b6118a46780ab759cddda78d060c01b610716565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d8919061371f565b60405180910390fd5b6118f567a434d1c24e3903bc60c01b610716565b61190967d32e3505412c44c560c01b610716565b61191d677d8323cb74d7c2d860c01b610716565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194f906137b3565b60405180910390fd5b61196c67bc6651a6d16ea71460c01b610716565b50505b5050565b6119876745cff900de072b7660c01b610716565b61199b67ac3e31ef1ea5c74960c01b610716565b6119af673364688f11db6d0d60c01b610716565b6119d181604051806060016040528060248152602001613983602491396126a3565b6119e567b9f39a1cc8adecc260c01b610716565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550611a496718823160317e019160c01b610716565b611a5d676ae1118a96d2a90560c01b610716565b81600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b611ada67a2899c53551cdd3760c01b610716565b611aee678197d74e06e4145f60c01b610716565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550611b87677d99602b18ea589060c01b610716565b611b9b67351b6ed487ae748960c01b610716565b8360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c0217905550611c3c67c24c5f99c230f00760c01b610716565b80846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b611ceb6787c03a3a3424540460c01b610716565b611cff672e3806f37bc3a9d460c01b610716565b611d13678d411e0bbad3542c60c01b610716565b611d276726e5377f8db7750360c01b610716565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8d90613845565b60405180910390fd5b611daa67ebcad92e55ad094460c01b610716565b611dbe6751364413e637bba560c01b610716565b611dd26792673f376289e6e260c01b610716565b611de667f72487d3a8cf4ac460c01b610716565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4b906138d7565b60405180910390fd5b611e6867a4c3c236bcab394860c01b610716565b611e7c677e1962b66805ad7060c01b610716565b611e90670d999328d8a5d9c360c01b610716565b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050611f2567d10337e1e2ecfc3960c01b610716565b611f39677b893f30fdd7ad7060c01b610716565b600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180549050611f8f91906138f7565b9050611fa567bb5bf925ceece87660c01b610716565b611fb9676df862371a13aaa560c01b610716565b8082146121b357611fd467156a8665fdd7526f60c01b610716565b611fe8673cefa8bc28e7d12860c01b610716565b611ffc67bdc380bd85401db960c01b610716565b60008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001828154811061205457612053612dd3565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b905061208d671de77bf8f010eaec60c01b610716565b808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000184815481106120e4576120e3612dd3565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c0217905550612128673af62f9c8f759fb160c01b610716565b82866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550506121c8565b6121c7671d9b423266d067f060c01b610716565b5b6121dc67018034db5579529460c01b610716565b6121f067a1c9b3117b7c6ab660c01b610716565b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054806122445761224361392b565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff0219169055905561228867559997c386b3648460c01b610716565b846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff021916905550506123386760a723ea0e7e1d4860c01b610716565b61234c67ff433d7c2e2ac4be60c01b610716565b60008103612687576123686762db4abf7f19cb2060c01b610716565b61237c67efe6f413d09d1ebd60c01b610716565b61239067ec471a641a3edf7960c01b610716565b6000600186600201805490506123a691906138f7565b90506123bb6622a131c51aff2c60c01b610716565b6123cf67919cfbc3e76423a760c01b610716565b60008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154905061242c674e9eba62f8a28b9860c01b610716565b6124406799c973d204243fa060c01b610716565b81811461259e5761245b673c79f4e3584d9a5960c01b610716565b61246f67990168f15e45b6b860c01b610716565b612483678582ef208a32dc4260c01b610716565b600087600201838154811061249b5761249a612dd3565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506124dc671085af932ae9ef7260c01b610716565b808860020183815481106124f3576124f2612dd3565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061254f67ad58108eb86eb21760c01b610716565b818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550506125b3565b6125b267804be83a13f0191a60c01b610716565b5b6125c767b1f28e33128b33c960c01b610716565b6125db67c4cd68f75da79ff060c01b610716565b866002018054806125ef576125ee61392b565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561263867a379df54f7bb9fb460c01b610716565b8660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009055505061269c565b61269b671627b1de00b56a1b60c01b610716565b5b5050505050565b6126b767f91685f166b890e160c01b610716565b6126cb672a44665c1fa886a160c01b610716565b6126df6756e8a556d62b0f5e60c01b610716565b60006126f567996ed809f12ff03160c01b610716565b823b905061270d6709c9d04de4f50a1e60c01b610716565b61272167b71747c1488d4acd60c01b610716565b61273567f052a96327eb0abf60c01b610716565b60008111829061277b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612772919061371f565b60405180910390fd5b5061279067b956b25dc409113860c01b610716565b505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126127ce576127cd6127a9565b5b8235905067ffffffffffffffff8111156127eb576127ea6127ae565b5b602083019150836020820283011115612807576128066127b3565b5b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128398261280e565b9050919050565b6128498161282e565b811461285457600080fd5b50565b60008135905061286681612840565b92915050565b60008083601f840112612882576128816127a9565b5b8235905067ffffffffffffffff81111561289f5761289e6127ae565b5b6020830191508360018202830111156128bb576128ba6127b3565b5b9250929050565b6000806000806000606086880312156128de576128dd61279f565b5b600086013567ffffffffffffffff8111156128fc576128fb6127a4565b5b612908888289016127b8565b9550955050602061291b88828901612857565b935050604086013567ffffffffffffffff81111561293c5761293b6127a4565b5b6129488882890161286c565b92509250509295509295909350565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b61298c81612957565b811461299757600080fd5b50565b6000813590506129a981612983565b92915050565b6000602082840312156129c5576129c461279f565b5b60006129d38482850161299a565b91505092915050565b60008115159050919050565b6129f1816129dc565b82525050565b6000602082019050612a0c60008301846129e8565b92915050565b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a5b82612a12565b810181811067ffffffffffffffff82111715612a7a57612a79612a23565b5b80604052505050565b6000612a8d612795565b9050612a998282612a52565b919050565b600067ffffffffffffffff821115612ab957612ab8612a23565b5b602082029050602081019050919050565b600080fd5b600080fd5b60038110612ae157600080fd5b50565b600081359050612af381612ad4565b92915050565b600067ffffffffffffffff821115612b1457612b13612a23565b5b602082029050602081019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612b5a81612b25565b8114612b6557600080fd5b50565b600081359050612b7781612b51565b92915050565b6000612b90612b8b84612af9565b612a83565b90508083825260208201905060208402830185811115612bb357612bb26127b3565b5b835b81811015612bdc5780612bc88882612b68565b845260208401935050602081019050612bb5565b5050509392505050565b600082601f830112612bfb57612bfa6127a9565b5b8135612c0b848260208601612b7d565b91505092915050565b600060608284031215612c2a57612c29612aca565b5b612c346060612a83565b90506000612c4484828501612857565b6000830152506020612c5884828501612ae4565b602083015250604082013567ffffffffffffffff811115612c7c57612c7b612acf565b5b612c8884828501612be6565b60408301525092915050565b6000612ca7612ca284612a9e565b612a83565b90508083825260208201905060208402830185811115612cca57612cc96127b3565b5b835b81811015612d1157803567ffffffffffffffff811115612cef57612cee6127a9565b5b808601612cfc8982612c14565b85526020850194505050602081019050612ccc565b5050509392505050565b6000612d28368484612c94565b905092915050565b600082825260208201905092915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d9d602283612d30565b9150612da882612d41565b604082019050919050565b60006020820190508181036000830152612dcc81612d90565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b6000612e8d602783612d30565b9150612e9882612e31565b604082019050919050565b60006020820190508181036000830152612ebc81612e80565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000612f0782612ef2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f3957612f38612ec3565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f798161282e565b82525050565b60038110612f9057612f8f612e02565b5b50565b6000819050612fa182612f7f565b919050565b6000612fb182612f93565b9050919050565b612fc181612fa6565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ffc81612b25565b82525050565b600061300e8383612ff3565b60208301905092915050565b6000602082019050919050565b600061303282612fc7565b61303c8185612fd2565b935061304783612fe3565b8060005b8381101561307857815161305f8882613002565b975061306a8361301a565b92505060018101905061304b565b5085935050505092915050565b600060608301600083015161309d6000860182612f70565b5060208301516130b06020860182612fb8565b50604083015184820360408601526130c88282613027565b9150508091505092915050565b60006130e18383613085565b905092915050565b6000602082019050919050565b600061310182612f44565b61310b8185612f4f565b93508360208202850161311d85612f60565b8060005b85811015613159578484038952815161313a85826130d5565b9450613145836130e9565b925060208a01995050600181019050613121565b50829750879550505050505092915050565b6131748161282e565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131b4578082015181840152602081019050613199565b60008484015250505050565b60006131cb8261317a565b6131d58185613185565b93506131e5818560208601613196565b6131ee81612a12565b840191505092915050565b6000606082019050818103600083015261321381866130f6565b9050613222602083018561316b565b818103604083015261323481846131c0565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b600061329a602b83612d30565b91506132a58261323e565b604082019050919050565b600060208201905081810360008301526132c98161328d565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b600061332c602c83612d30565b9150613337826132d0565b604082019050919050565b6000602082019050818103600083015261335b8161331f565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b60006133be603583612d30565b91506133c982613362565b604082019050919050565b600060208201905081810360008301526133ed816133b1565b9050919050565b60006bffffffffffffffffffffffff82169050919050565b6000613417826133f4565b91506bffffffffffffffffffffffff820361343557613434612ec3565b5b600182019050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b600061349c603883612d30565b91506134a782613440565b604082019050919050565b600060208201905081810360008301526134cb8161348f565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b600061352e603683612d30565b9150613539826134d2565b604082019050919050565b6000602082019050818103600083015261355d81613521565b9050919050565b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b60006135c0603c83612d30565b91506135cb82613564565b604082019050919050565b600060208201905081810360008301526135ef816135b3565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b6000613652603d83612d30565b915061365d826135f6565b604082019050919050565b6000602082019050818103600083015261368181613645565b9050919050565b600081905092915050565b600061369e8261317a565b6136a88185613688565b93506136b8818560208601613196565b80840191505092915050565b60006136d08284613693565b915081905092915050565b600081519050919050565b60006136f1826136db565b6136fb8185612d30565b935061370b818560208601613196565b61371481612a12565b840191505092915050565b6000602082019050818103600083015261373981846136e6565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b600061379d602683612d30565b91506137a882613741565b604082019050919050565b600060208201905081810360008301526137cc81613790565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b600061382f603783612d30565b915061383a826137d3565b604082019050919050565b6000602082019050818103600083015261385e81613822565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e000000000000000000000000000000000000602082015250565b60006138c1602e83612d30565b91506138cc82613865565b604082019050919050565b600060208201905081810360008301526138f0816138b4565b9050919050565b600061390282612ef2565b915061390d83612ef2565b925082820390508181111561392557613924612ec3565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a2646970667358221220397d6bc128858945df35e9fa5d35a9136bd69a90d0474bc2b1e565efa4670e3264736f6c63430008110033"; type DiamondCutFacetConstructorParams = | [signer?: Signer] diff --git a/typings/factories/DiamondLoupeFacet__factory.ts b/typings/factories/DiamondLoupeFacet__factory.ts index 29362190..a9888fb9 100644 --- a/typings/factories/DiamondLoupeFacet__factory.ts +++ b/typings/factories/DiamondLoupeFacet__factory.ts @@ -9,6 +9,57 @@ import type { } from "../DiamondLoupeFacet"; const _abi = [ + { + inputs: [ + { + internalType: "bytes8", + name: "c__cb71d28d", + type: "bytes8", + }, + ], + name: "c_cb71d28d", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__cb71d28d", + type: "bytes8", + }, + ], + name: "c_falsecb71d28d", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__cb71d28d", + type: "bytes8", + }, + ], + name: "c_truecb71d28d", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { @@ -107,7 +158,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50610c0c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806301ffc9a71461005c57806352ef6b2c1461008c5780637a0ed627146100aa578063adfca15e146100c8578063cdffacc6146100f8575b600080fd5b6100766004803603810190610071919061068f565b610128565b60405161008391906106d7565b60405180910390f35b61009461019e565b6040516100a191906107e2565b60405180910390f35b6100b261023b565b6040516100bf91906109c1565b60405180910390f35b6100e260048036038101906100dd9190610a0f565b61045e565b6040516100ef9190610aab565b60405180910390f35b610112600480360381019061010d919061068f565b610549565b60405161011f9190610adc565b60405180910390f35b6000806101336105d5565b9050806003016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff16915050919050565b606060006101aa6105d5565b90508060020180548060200260200160405190810160405280929190818152602001828054801561023057602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116101e6575b505050505091505090565b606060006102476105d5565b90506000816002018054905090508067ffffffffffffffff81111561026f5761026e610af7565b5b6040519080825280602002602001820160405280156102a857816020015b610295610602565b81526020019060019003908161028d5790505b50925060005b818110156104585760008360020182815481106102ce576102cd610b26565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508085838151811061030f5761030e610b26565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548060200260200160405190810160405280929190818152602001828054801561041d57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116103ca5790505b505050505085838151811061043557610434610b26565b5b60200260200101516020018190525050808061045090610b8e565b9150506102ae565b50505090565b6060600061046a6105d5565b90508060010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548060200260200160405190810160405280929190818152602001828054801561053c57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116104e95790505b5050505050915050919050565b6000806105546105d5565b9050806000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61066c81610637565b811461067757600080fd5b50565b60008135905061068981610663565b92915050565b6000602082840312156106a5576106a4610632565b5b60006106b38482850161067a565b91505092915050565b60008115159050919050565b6106d1816106bc565b82525050565b60006020820190506106ec60008301846106c8565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006107498261071e565b9050919050565b6107598161073e565b82525050565b600061076b8383610750565b60208301905092915050565b6000602082019050919050565b600061078f826106f2565b61079981856106fd565b93506107a48361070e565b8060005b838110156107d55781516107bc888261075f565b97506107c783610777565b9250506001810190506107a8565b5085935050505092915050565b600060208201905081810360008301526107fc8184610784565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61086581610637565b82525050565b6000610877838361085c565b60208301905092915050565b6000602082019050919050565b600061089b82610830565b6108a5818561083b565b93506108b08361084c565b8060005b838110156108e15781516108c8888261086b565b97506108d383610883565b9250506001810190506108b4565b5085935050505092915050565b60006040830160008301516109066000860182610750565b506020830151848203602086015261091e8282610890565b9150508091505092915050565b600061093783836108ee565b905092915050565b6000602082019050919050565b600061095782610804565b610961818561080f565b93508360208202850161097385610820565b8060005b858110156109af5784840389528151610990858261092b565b945061099b8361093f565b925060208a01995050600181019050610977565b50829750879550505050505092915050565b600060208201905081810360008301526109db818461094c565b905092915050565b6109ec8161073e565b81146109f757600080fd5b50565b600081359050610a09816109e3565b92915050565b600060208284031215610a2557610a24610632565b5b6000610a33848285016109fa565b91505092915050565b600082825260208201905092915050565b6000610a5882610830565b610a628185610a3c565b9350610a6d8361084c565b8060005b83811015610a9e578151610a85888261086b565b9750610a9083610883565b925050600181019050610a71565b5085935050505092915050565b60006020820190508181036000830152610ac58184610a4d565b905092915050565b610ad68161073e565b82525050565b6000602082019050610af16000830184610acd565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000610b9982610b84565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610bcb57610bca610b55565b5b60018201905091905056fea2646970667358221220ef9c4d5ee27fa9078434fe5fd9d16f9b8885f43dc1a58f1befea84c4bbc0077664736f6c63430008110033"; + "0x608060405234801561001057600080fd5b50610fed806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063adfca15e1161005b578063adfca15e14610115578063cdffacc614610145578063cffb5dec14610175578063f9f7c365146101a557610088565b806301ffc9a71461008d5780631a7cfa86146100bd57806352ef6b2c146100d95780637a0ed627146100f7575b600080fd5b6100a760048036038101906100a291906109eb565b6101d5565b6040516100b49190610a33565b60405180910390f35b6100d760048036038101906100d29190610aa6565b6102b0565b005b6100e16102b3565b6040516100ee9190610bc3565b60405180910390f35b6100ff6103a0565b60405161010c9190610da2565b60405180910390f35b61012f600480360381019061012a9190610df0565b6106b3565b60405161013c9190610e8c565b60405180910390f35b61015f600480360381019061015a91906109eb565b6107ee565b60405161016c9190610ebd565b60405180910390f35b61018f600480360381019061018a9190610aa6565b6108cb565b60405161019c9190610a33565b60405180910390f35b6101bf60048036038101906101ba9190610aa6565b6108d2565b6040516101cc9190610a33565b60405180910390f35b60006101eb67285efd6f4e8eb41160c01b6102b0565b6101ff679667d234011edd8560c01b6102b0565b610213674d70fb37c7dd087760c01b6102b0565b600061021d6108dd565b90506102336735ba6e9c5701761860c01b6102b0565b61024767610d1f4a0bb3823a60c01b6102b0565b806003016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff16915050919050565b50565b60606102c9677f1de3f66179977b60c01b6102b0565b6102dd6774595e158391e43760c01b6102b0565b6102f167a74d20d6eaba1b4660c01b6102b0565b60006102fb6108dd565b905061031167f0ed24c854f6c73360c01b6102b0565b8060020180548060200260200160405190810160405280929190818152602001828054801561039557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161034b575b505050505091505090565b60606103b6674d80155458127eb460c01b6102b0565b6103ca679fa63900be221ebb60c01b6102b0565b6103de67eaad7781e34e55e860c01b6102b0565b60006103e86108dd565b90506103fe67cceaf84e7e9eb3f060c01b6102b0565b61041267e5500b1af7b537b760c01b6102b0565b600081600201805490509050610432670ef3f15519e6694a60c01b6102b0565b8067ffffffffffffffff81111561044c5761044b610ed8565b5b60405190808252806020026020018201604052801561048557816020015b61047261095e565b81526020019060019003908161046a5790505b50925061049c67162378066aec876b60c01b6102b0565b6104b0673b4a5083af334b4d60c01b6102b0565b60005b818110156106ad576104cf678fba1acd7dd9812160c01b6102b0565b6104e36736cf091544e7072160c01b6102b0565b60008360020182815481106104fb576104fa610f07565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061053c6701b5da9682d1107960c01b6102b0565b808583815181106105505761054f610f07565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506105a267c2f3430262c30ae560c01b6102b0565b8360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548060200260200160405190810160405280929190818152602001828054801561067257602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161061f5790505b505050505085838151811061068a57610689610f07565b5b6020026020010151602001819052505080806106a590610f6f565b9150506104b3565b50505090565b60606106c967f494b22b7fae5c5160c01b6102b0565b6106dd679693544bdf9bcfbb60c01b6102b0565b6106f167f40dfac7753be95460c01b6102b0565b60006106fb6108dd565b90506107116744ef83ae08424b2d60c01b6102b0565b8060010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054806020026020016040519081016040528092919081815260200182805480156107e157602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161078e5790505b5050505050915050919050565b60006108046721cd709b6caf5a7760c01b6102b0565b6108186798ae13998b39ee3760c01b6102b0565b61082c67fe378eb71e09567360c01b6102b0565b60006108366108dd565b905061084c670e751d6d9cd00f0860c01b6102b0565b806000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b6000919050565b600060019050919050565b60006108f3674f9afbb757d80e6360c01b61095b565b610907674b823103125da15660c01b61095b565b61091b674ab715c231c1608d60c01b61095b565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061095467982d9bb86701efa860c01b61095b565b8091505090565b50565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6109c881610993565b81146109d357600080fd5b50565b6000813590506109e5816109bf565b92915050565b600060208284031215610a0157610a0061098e565b5b6000610a0f848285016109d6565b91505092915050565b60008115159050919050565b610a2d81610a18565b82525050565b6000602082019050610a486000830184610a24565b92915050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b610a8381610a4e565b8114610a8e57600080fd5b50565b600081359050610aa081610a7a565b92915050565b600060208284031215610abc57610abb61098e565b5b6000610aca84828501610a91565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b2a82610aff565b9050919050565b610b3a81610b1f565b82525050565b6000610b4c8383610b31565b60208301905092915050565b6000602082019050919050565b6000610b7082610ad3565b610b7a8185610ade565b9350610b8583610aef565b8060005b83811015610bb6578151610b9d8882610b40565b9750610ba883610b58565b925050600181019050610b89565b5085935050505092915050565b60006020820190508181036000830152610bdd8184610b65565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610c4681610993565b82525050565b6000610c588383610c3d565b60208301905092915050565b6000602082019050919050565b6000610c7c82610c11565b610c868185610c1c565b9350610c9183610c2d565b8060005b83811015610cc2578151610ca98882610c4c565b9750610cb483610c64565b925050600181019050610c95565b5085935050505092915050565b6000604083016000830151610ce76000860182610b31565b5060208301518482036020860152610cff8282610c71565b9150508091505092915050565b6000610d188383610ccf565b905092915050565b6000602082019050919050565b6000610d3882610be5565b610d428185610bf0565b935083602082028501610d5485610c01565b8060005b85811015610d905784840389528151610d718582610d0c565b9450610d7c83610d20565b925060208a01995050600181019050610d58565b50829750879550505050505092915050565b60006020820190508181036000830152610dbc8184610d2d565b905092915050565b610dcd81610b1f565b8114610dd857600080fd5b50565b600081359050610dea81610dc4565b92915050565b600060208284031215610e0657610e0561098e565b5b6000610e1484828501610ddb565b91505092915050565b600082825260208201905092915050565b6000610e3982610c11565b610e438185610e1d565b9350610e4e83610c2d565b8060005b83811015610e7f578151610e668882610c4c565b9750610e7183610c64565b925050600181019050610e52565b5085935050505092915050565b60006020820190508181036000830152610ea68184610e2e565b905092915050565b610eb781610b1f565b82525050565b6000602082019050610ed26000830184610eae565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000610f7a82610f65565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610fac57610fab610f36565b5b60018201905091905056fea26469706673582212208ae89fa3fa833ae3bf910fdf8729e07a04a52370d167a31178eb59048c8e75e764736f6c63430008110033"; type DiamondLoupeFacetConstructorParams = | [signer?: Signer] diff --git a/typings/factories/Diamond__factory.ts b/typings/factories/Diamond__factory.ts index 9a3ea5c7..c61325e0 100644 --- a/typings/factories/Diamond__factory.ts +++ b/typings/factories/Diamond__factory.ts @@ -32,6 +32,57 @@ const _abi = [ stateMutability: "payable", type: "fallback", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__e3a4c27e", + type: "bytes8", + }, + ], + name: "c_e3a4c27e", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__e3a4c27e", + type: "bytes8", + }, + ], + name: "c_falsee3a4c27e", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__e3a4c27e", + type: "bytes8", + }, + ], + name: "c_truee3a4c27e", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { stateMutability: "payable", type: "receive", @@ -39,7 +90,7 @@ const _abi = [ ]; const _bytecode = - "0x60806040526040516200497d3803806200497d8339818101604052810190620000299190620018d0565b6200003f82620001f760201b620001671760201c565b6000600167ffffffffffffffff8111156200005f576200005e62001917565b5b6040519080825280602002602001820160405280156200009c57816020015b620000886200181a565b8152602001906001900390816200007e5790505b5090506000600167ffffffffffffffff811115620000bf57620000be62001917565b5b604051908082528060200260200182016040528015620000ee5781602001602082028036833780820191505090505b509050631f931c1c60e01b8160008151811062000110576200010f62001946565b5b60200260200101907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152505060405180606001604052808473ffffffffffffffffffffffffffffffffffffffff168152602001600060028111156200019a576200019962001975565b5b81526020018281525082600081518110620001ba57620001b962001946565b5b6020026020010181905250620001ed82600060405180602001604052806000815250620002d660201b6200023e1760201c565b50505050620025c1565b6000620002096200055a60201b60201c565b905060008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60005b835181101562000505576000848281518110620002fb57620002fa62001946565b5b60200260200101516020015190506000600281111562000320576200031f62001975565b5b81600281111562000336576200033562001975565b5b0362000396576200039085838151811062000356576200035562001946565b5b60200260200101516000015186848151811062000378576200037762001946565b5b6020026020010151604001516200058760201b60201c565b620004ee565b60016002811115620003ad57620003ac62001975565b5b816002811115620003c357620003c262001975565b5b0362000423576200041d858381518110620003e357620003e262001946565b5b60200260200101516000015186848151811062000405576200040462001946565b5b6020026020010151604001516200082960201b60201c565b620004ed565b60028081111562000439576200043862001975565b5b8160028111156200044f576200044e62001975565b5b03620004af57620004a98583815181106200046f576200046e62001946565b5b60200260200101516000015186848151811062000491576200049062001946565b5b60200260200101516040015162000add60201b60201c565b620004ec565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004e39062001a2b565b60405180910390fd5b5b5b508080620004fc9062001a86565b915050620002d9565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738383836040516200053b9392919062001e00565b60405180910390a162000555828262000c8560201b60201c565b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000815111620005ce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005c59062001ec1565b60405180910390fd5b6000620005e06200055a60201b60201c565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000654576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200064b9062001f59565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff1603620006ca57620006c9828562000eb360201b60201c565b5b60005b835181101562000822576000848281518110620006ef57620006ee62001946565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614620007e6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007dd9062001ff1565b60405180910390fd5b620007fa8583868a62000f9760201b60201c565b838062000807906200202b565b94505050508080620008199062001a86565b915050620006cd565b5050505050565b600081511162000870576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008679062001ec1565b60405180910390fd5b6000620008826200055a60201b60201c565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620008f6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008ed9062001f59565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff16036200096c576200096b828562000eb360201b60201c565b5b60005b835181101562000ad657600084828151811062000991576200099062001946565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000a87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a7e90620020da565b60405180910390fd5b62000a9a8582846200114460201b60201c565b62000aae8583868a62000f9760201b60201c565b838062000abb906200202b565b9450505050808062000acd9062001a86565b9150506200096f565b5050505050565b600081511162000b24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b1b9062001ec1565b60405180910390fd5b600062000b366200055a60201b60201c565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000baa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ba19062002172565b60405180910390fd5b60005b825181101562000c7f57600083828151811062000bcf5762000bce62001946565b5b602002602001015190506000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905062000c678482846200114460201b60201c565b5050808062000c769062001a86565b91505062000bad565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000d0757600081511462000d01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cf8906200220a565b60405180910390fd5b62000eaf565b600081511162000d4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000d4590620022a2565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000dae5762000dad826040518060600160405280602881526020016200493160289139620017c560201b60201c565b5b6000808373ffffffffffffffffffffffffffffffffffffffff168360405162000dd8919062002306565b600060405180830381855af49150503d806000811462000e15576040519150601f19603f3d011682016040523d82523d6000602084013e62000e1a565b606091505b50915091508162000eac5760008151111562000e6f57806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000e6691906200236b565b60405180910390fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ea39062002405565b60405180910390fd5b50505b5050565b62000ede816040518060600160405280602481526020016200495960249139620017c560201b60201c565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c021790555080846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620011b6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620011ad906200249d565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362001227576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200121e9062002535565b60405180910390fd5b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905062001300919062002557565b90508082146200149b5760008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001828154811062001365576200136462001946565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b9050808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018481548110620013e457620013e362001946565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c021790555082866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550505b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805480620014f257620014f162002592565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff02191690559055846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff0219169055505060008103620017be57600060018660020180549050620015df919062002557565b905060008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050818114620017275760008760020183815481106200164d576200164c62001946565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508088600201838154811062001694576200169362001946565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550505b866002018054806200173e576200173d62002592565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590558660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000905550505b5050505050565b6000823b905060008111829062001814576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200180b91906200236b565b60405180910390fd5b50505050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000600281111562001859576200185862001975565b5b8152602001606081525090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062001898826200186b565b9050919050565b620018aa816200188b565b8114620018b657600080fd5b50565b600081519050620018ca816200189f565b92915050565b60008060408385031215620018ea57620018e962001866565b5b6000620018fa85828601620018b9565b92505060206200190d85828601620018b9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600082825260208201905092915050565b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b600062001a13602783620019a4565b915062001a2082620019b5565b604082019050919050565b6000602082019050818103600083015262001a468162001a04565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b600062001a938262001a7c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362001ac85762001ac762001a4d565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b62001b0a816200188b565b82525050565b6003811062001b245762001b2362001975565b5b50565b600081905062001b378262001b10565b919050565b600062001b498262001b27565b9050919050565b62001b5b8162001b3c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b62001bc48162001b8d565b82525050565b600062001bd8838362001bb9565b60208301905092915050565b6000602082019050919050565b600062001bfe8262001b61565b62001c0a818562001b6c565b935062001c178362001b7d565b8060005b8381101562001c4e57815162001c32888262001bca565b975062001c3f8362001be4565b92505060018101905062001c1b565b5085935050505092915050565b600060608301600083015162001c75600086018262001aff565b50602083015162001c8a602086018262001b50565b506040830151848203604086015262001ca4828262001bf1565b9150508091505092915050565b600062001cbf838362001c5b565b905092915050565b6000602082019050919050565b600062001ce18262001ad3565b62001ced818562001ade565b93508360208202850162001d018562001aef565b8060005b8581101562001d43578484038952815162001d21858262001cb1565b945062001d2e8362001cc7565b925060208a0199505060018101905062001d05565b50829750879550505050505092915050565b62001d60816200188b565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101562001da257808201518184015260208101905062001d85565b60008484015250505050565b6000601f19601f8301169050919050565b600062001dcc8262001d66565b62001dd8818562001d71565b935062001dea81856020860162001d82565b62001df58162001dae565b840191505092915050565b6000606082019050818103600083015262001e1c818662001cd4565b905062001e2d602083018562001d55565b818103604083015262001e41818462001dbf565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b600062001ea9602b83620019a4565b915062001eb68262001e4b565b604082019050919050565b6000602082019050818103600083015262001edc8162001e9a565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b600062001f41602c83620019a4565b915062001f4e8262001ee3565b604082019050919050565b6000602082019050818103600083015262001f748162001f32565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b600062001fd9603583620019a4565b915062001fe68262001f7b565b604082019050919050565b600060208201905081810360008301526200200c8162001fca565b9050919050565b60006bffffffffffffffffffffffff82169050919050565b6000620020388262002013565b91506bffffffffffffffffffffffff820362002059576200205862001a4d565b5b600182019050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b6000620020c2603883620019a4565b9150620020cf8262002064565b604082019050919050565b60006020820190508181036000830152620020f581620020b3565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b60006200215a603683620019a4565b91506200216782620020fc565b604082019050919050565b600060208201905081810360008301526200218d816200214b565b9050919050565b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b6000620021f2603c83620019a4565b9150620021ff8262002194565b604082019050919050565b600060208201905081810360008301526200222581620021e3565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b60006200228a603d83620019a4565b915062002297826200222c565b604082019050919050565b60006020820190508181036000830152620022bd816200227b565b9050919050565b600081905092915050565b6000620022dc8262001d66565b620022e88185620022c4565b9350620022fa81856020860162001d82565b80840191505092915050565b6000620023148284620022cf565b915081905092915050565b600081519050919050565b600062002337826200231f565b620023438185620019a4565b93506200235581856020860162001d82565b620023608162001dae565b840191505092915050565b600060208201905081810360008301526200238781846200232a565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b6000620023ed602683620019a4565b9150620023fa826200238f565b604082019050919050565b600060208201905081810360008301526200242081620023de565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b600062002485603783620019a4565b9150620024928262002427565b604082019050919050565b60006020820190508181036000830152620024b88162002476565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e000000000000000000000000000000000000602082015250565b60006200251d602e83620019a4565b91506200252a82620024bf565b604082019050919050565b6000602082019050818103600083015262002550816200250e565b9050919050565b6000620025648262001a7c565b9150620025718362001a7c565b92508282039050818111156200258c576200258b62001a4d565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b61236080620025d16000396000f3fe60806040523661000b57005b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c9050809150600082600001600080357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610141576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610138906116c8565b60405180910390fd5b3660008037600080366000845af43d6000803e8060008114610162573d6000f35b3d6000fd5b600061017161046d565b905060008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60005b835181101561042257600084828151811061025f5761025e6116e8565b5b60200260200101516020015190506000600281111561028157610280611717565b5b81600281111561029457610293611717565b5b036102e4576102df8583815181106102af576102ae6116e8565b5b6020026020010151600001518684815181106102ce576102cd6116e8565b5b60200260200101516040015161049a565b61040e565b600160028111156102f8576102f7611717565b5b81600281111561030b5761030a611717565b5b0361035b57610356858381518110610326576103256116e8565b5b602002602001015160000151868481518110610345576103446116e8565b5b602002602001015160400151610711565b61040d565b60028081111561036e5761036d611717565b5b81600281111561038157610380611717565b5b036103d1576103cc85838151811061039c5761039b6116e8565b5b6020026020010151600001518684815181106103bb576103ba6116e8565b5b602002602001015160400151610992565b61040c565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610403906117b8565b60405180910390fd5b5b5b50808061041a90611811565b915050610241565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161045693929190611b7d565b60405180910390a16104688282610b1d565b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60008151116104de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d590611c34565b60405180910390fd5b60006104e861046d565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610559576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055090611cc6565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff16036105c6576105c58285610d2f565b5b60005b835181101561070a5760008482815181106105e7576105e66116e8565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146106db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d290611d58565b60405180910390fd5b6106e78583868a610e0a565b83806106f290611d90565b9450505050808061070290611811565b9150506105c9565b5050505050565b6000815111610755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074c90611c34565b60405180910390fd5b600061075f61046d565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c790611cc6565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff160361083d5761083c8285610d2f565b5b60005b835181101561098b57600084828151811061085e5761085d6116e8565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094890611e36565b60405180910390fd5b61095c858284610fb7565b6109688583868a610e0a565b838061097390611d90565b9450505050808061098390611811565b915050610840565b5050505050565b60008151116109d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cd90611c34565b60405180910390fd5b60006109e061046d565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4890611ec8565b60405180910390fd5b60005b8251811015610b17576000838281518110610a7257610a716116e8565b5b602002602001015190506000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610b02848284610fb7565b50508080610b0f90611811565b915050610a54565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b9a576000815114610b95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8c90611f5a565b60405180910390fd5b610d2b565b6000815111610bde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd590611fec565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610c3457610c33826040518060600160405280602881526020016122df60289139611619565b5b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051610c5c9190612048565b600060405180830381855af49150503d8060008114610c97576040519150601f19603f3d011682016040523d82523d6000602084013e610c9c565b606091505b509150915081610d2857600081511115610ced57806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce491906120a3565b60405180910390fd5b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1f90612137565b60405180910390fd5b50505b5050565b610d518160405180606001604052806024815260200161230760249139611619565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c021790555080846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101d906121c9565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108b9061225b565b60405180910390fd5b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905061116b919061227b565b90508082146112ff5760008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000182815481106111cc576111cb6116e8565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b9050808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018481548110611248576112476116e8565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c021790555082866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550505b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805480611353576113526122af565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff02191690559055846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff02191690555050600081036116125760006001866002018054905061143d919061227b565b905060008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154905081811461157e5760008760020183815481106114a7576114a66116e8565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050808860020183815481106114eb576114ea6116e8565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550505b86600201805480611592576115916122af565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590558660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000905550505b5050505050565b6000823b9050600081118290611665576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165c91906120a3565b60405180910390fd5b50505050565b600082825260208201905092915050565b7f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f74206578697374600082015250565b60006116b260208361166b565b91506116bd8261167c565b602082019050919050565b600060208201905081810360008301526116e1816116a5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b60006117a260278361166b565b91506117ad82611746565b604082019050919050565b600060208201905081810360008301526117d181611795565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b600061181c82611807565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361184e5761184d6117d8565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118b082611885565b9050919050565b6118c0816118a5565b82525050565b600381106118d7576118d6611717565b5b50565b60008190506118e8826118c6565b919050565b60006118f8826118da565b9050919050565b611908816118ed565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61196f8161193a565b82525050565b60006119818383611966565b60208301905092915050565b6000602082019050919050565b60006119a58261190e565b6119af8185611919565b93506119ba8361192a565b8060005b838110156119eb5781516119d28882611975565b97506119dd8361198d565b9250506001810190506119be565b5085935050505092915050565b6000606083016000830151611a1060008601826118b7565b506020830151611a2360208601826118ff565b5060408301518482036040860152611a3b828261199a565b9150508091505092915050565b6000611a5483836119f8565b905092915050565b6000602082019050919050565b6000611a7482611859565b611a7e8185611864565b935083602082028501611a9085611875565b8060005b85811015611acc5784840389528151611aad8582611a48565b9450611ab883611a5c565b925060208a01995050600181019050611a94565b50829750879550505050505092915050565b611ae7816118a5565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b27578082015181840152602081019050611b0c565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b4f82611aed565b611b598185611af8565b9350611b69818560208601611b09565b611b7281611b33565b840191505092915050565b60006060820190508181036000830152611b978186611a69565b9050611ba66020830185611ade565b8181036040830152611bb88184611b44565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b6000611c1e602b8361166b565b9150611c2982611bc2565b604082019050919050565b60006020820190508181036000830152611c4d81611c11565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b6000611cb0602c8361166b565b9150611cbb82611c54565b604082019050919050565b60006020820190508181036000830152611cdf81611ca3565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b6000611d4260358361166b565b9150611d4d82611ce6565b604082019050919050565b60006020820190508181036000830152611d7181611d35565b9050919050565b60006bffffffffffffffffffffffff82169050919050565b6000611d9b82611d78565b91506bffffffffffffffffffffffff8203611db957611db86117d8565b5b600182019050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b6000611e2060388361166b565b9150611e2b82611dc4565b604082019050919050565b60006020820190508181036000830152611e4f81611e13565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b6000611eb260368361166b565b9150611ebd82611e56565b604082019050919050565b60006020820190508181036000830152611ee181611ea5565b9050919050565b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b6000611f44603c8361166b565b9150611f4f82611ee8565b604082019050919050565b60006020820190508181036000830152611f7381611f37565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b6000611fd6603d8361166b565b9150611fe182611f7a565b604082019050919050565b6000602082019050818103600083015261200581611fc9565b9050919050565b600081905092915050565b600061202282611aed565b61202c818561200c565b935061203c818560208601611b09565b80840191505092915050565b60006120548284612017565b915081905092915050565b600081519050919050565b60006120758261205f565b61207f818561166b565b935061208f818560208601611b09565b61209881611b33565b840191505092915050565b600060208201905081810360008301526120bd818461206a565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b600061212160268361166b565b915061212c826120c5565b604082019050919050565b6000602082019050818103600083015261215081612114565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b60006121b360378361166b565b91506121be82612157565b604082019050919050565b600060208201905081810360008301526121e2816121a6565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e000000000000000000000000000000000000602082015250565b6000612245602e8361166b565b9150612250826121e9565b604082019050919050565b6000602082019050818103600083015261227481612238565b9050919050565b600061228682611807565b915061229183611807565b92508282039050818111156122a9576122a86117d8565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a2646970667358221220305eabd09a504968137ac5539dead05c9347b2777b97892556acd6bd25b9766a64736f6c634300081100334c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465"; + "0x6080604052604051620076bd380380620076bd833981810160405281019062000029919062003222565b6200004567a7e6b32f9d93319460c01b6200032b60201b60201c565b620000616768f3360c480f308760c01b6200032b60201b60201c565b6200007d67cdf01ba336a2e7bb60c01b6200032b60201b60201c565b62000093826200032e60201b620003581760201c565b620000af67754cde6603f9473d60c01b6200032b60201b60201c565b620000cb67018e4e083eeab8c760c01b6200032b60201b60201c565b6000600167ffffffffffffffff811115620000eb57620000ea62003269565b5b6040519080825280602002602001820160405280156200012857816020015b620001146200316c565b8152602001906001900390816200010a5790505b5090506200014767dc402a1637fb2d5960c01b6200032b60201b60201c565b6200016367996371118cc6c3f760c01b6200032b60201b60201c565b6000600167ffffffffffffffff81111562000183576200018262003269565b5b604051908082528060200260200182016040528015620001b25781602001602082028036833780820191505090505b509050620001d167f99be39acddb239160c01b6200032b60201b60201c565b631f931c1c60e01b81600081518110620001f057620001ef62003298565b5b60200260200101907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815250506200025867e6bc06d236aa92e560c01b6200032b60201b60201c565b60405180606001604052808473ffffffffffffffffffffffffffffffffffffffff16815260200160006002811115620002965762000295620032c7565b5b81526020018281525082600081518110620002b657620002b562003298565b5b6020026020010181905250620002dd6753ea75fc60a9c1e960c01b6200032b60201b60201c565b620002f9678817ef405cc7854460c01b6200032b60201b60201c565b6200032182600060405180602001604052806000815250620004ed60201b620004cf1760201c565b5050505062003f13565b50565b6200034a674f69fffccbea1a6060c01b62000a6560201b60201c565b6200036667254a8afedf49a2bd60c01b62000a6560201b60201c565b620003826764ae761eae80994a60c01b62000a6560201b60201c565b60006200039462000a6860201b60201c565b9050620003b26728cf10db04b3ce6a60c01b62000a6560201b60201c565b620003ce67254c9c1d52a21ebf60c01b62000a6560201b60201c565b60008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506200041367f8cb9d02f213dad260c01b62000a6560201b60201c565b828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200047267320b257c7ea8cea760c01b62000a6560201b60201c565b6200048e67a1ef30c006aa278260c01b62000a6560201b60201c565b8273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b6200050967a19105344d9f01ff60c01b62000a6560201b60201c565b6200052567b64c935a270824d460c01b62000a6560201b60201c565b6200054167472298b363a8ccd460c01b62000a6560201b60201c565b60005b8351811015620009a0576200056a679f2b3e118cce749f60c01b62000a6560201b60201c565b6200058667d896c15712e4c99e60c01b62000a6560201b60201c565b60008482815181106200059e576200059d62003298565b5b6020026020010151602001519050620005c867e9e9e49fe14a781e60c01b62000a6560201b60201c565b620005e467c54028706882e3fd60c01b62000a6560201b60201c565b60006002811115620005fb57620005fa620032c7565b5b816002811115620006115762000610620032c7565b5b03620006c5576200063367f4728512f8de3aa360c01b62000a6560201b60201c565b6200064f6740469cb01cf2faa260c01b62000a6560201b60201c565b6200066b6721754418551a963060c01b62000a6560201b60201c565b620006bf85838151811062000685576200068462003298565b5b602002602001015160000151868481518110620006a757620006a662003298565b5b60200260200101516040015162000b0660201b60201c565b62000989565b620006e167964166c6a112694260c01b62000a6560201b60201c565b620006fd675cddae6a9e8d84f060c01b62000a6560201b60201c565b60016002811115620007145762000713620032c7565b5b8160028111156200072a5762000729620032c7565b5b03620007de576200074c676469914f5066ffc460c01b62000a6560201b60201c565b6200076867cf470716cadf00df60c01b62000a6560201b60201c565b6200078467f4605d17f3b1301c60c01b62000a6560201b60201c565b620007d88583815181106200079e576200079d62003298565b5b602002602001015160000151868481518110620007c057620007bf62003298565b5b6020026020010151604001516200112e60201b60201c565b62000988565b620007fa67e72a92bcd515975b60c01b62000a6560201b60201c565b6200081667b1e174fb1bb1b85360c01b62000a6560201b60201c565b6002808111156200082c576200082b620032c7565b5b816002811115620008425762000841620032c7565b5b03620008f6576200086467db0f598297fb7fbc60c01b62000a6560201b60201c565b62000880671a55e89439142ee060c01b62000a6560201b60201c565b6200089c6711513d20488a52e060c01b62000a6560201b60201c565b620008f0858381518110620008b657620008b562003298565b5b602002602001015160000151868481518110620008d857620008d762003298565b5b602002602001015160400151620017a060201b60201c565b62000987565b6200091267cf3e056f531577e760c01b62000a6560201b60201c565b6200092e671903ab370305c25960c01b62000a6560201b60201c565b6200094a676af2c3acde0bf38760c01b62000a6560201b60201c565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200097e906200337d565b60405180910390fd5b5b5b5080806200099790620033d8565b91505062000544565b50620009bd67dc19ebbaa4095b3160c01b62000a6560201b60201c565b620009d9678571dd875084a3e060c01b62000a6560201b60201c565b7f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405162000a0e9392919062003752565b60405180910390a162000a3267faecfc839f48e07b60c01b62000a6560201b60201c565b62000a4e6792cae661f317b4ce60c01b62000a6560201b60201c565b62000a60828262001b5c60201b60201c565b505050565b50565b600062000a86674f9afbb757d80e6360c01b62000a6560201b60201c565b62000aa2674b823103125da15660c01b62000a6560201b60201c565b62000abe674ab715c231c1608d60c01b62000a6560201b60201c565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905062000aff67982d9bb86701efa860c01b62000a6560201b60201c565b8091505090565b62000b2267cc97399e32da22a560c01b62000a6560201b60201c565b62000b3e67021d8eb4be5452a860c01b62000a6560201b60201c565b62000b5a678748409130ac41fa60c01b62000a6560201b60201c565b62000b7667ccd015372bd45b9c60c01b62000a6560201b60201c565b600081511162000bbd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000bb49062003813565b60405180910390fd5b62000bd967d0bcd87037df4e5a60c01b62000a6560201b60201c565b62000bf56777b6df3c8e2ebf4660c01b62000a6560201b60201c565b62000c116755a810a63d06fcdd60c01b62000a6560201b60201c565b600062000c2362000a6860201b60201c565b905062000c416747e187c4c65f108c60c01b62000a6560201b60201c565b62000c5d670bde1222440aa4dd60c01b62000a6560201b60201c565b62000c7967f7810a880d4fe12d60c01b62000a6560201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000ceb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ce290620038ab565b60405180910390fd5b62000d07676e4814773ca1e6f960c01b62000a6560201b60201c565b62000d2367abb5961c588ff7dc60c01b62000a6560201b60201c565b62000d3f6775b1393f5ceb0a4860c01b62000a6560201b60201c565b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180549050905062000da76779cb28ccf660334260c01b62000a6560201b60201c565b62000dc3671a64ec3fd612cafd60c01b62000a6560201b60201c565b6000816bffffffffffffffffffffffff160362000e465762000df6672a23378c0ae85db760c01b62000a6560201b60201c565b62000e12670288376b7f20f78660c01b62000a6560201b60201c565b62000e2e67d14bbd8396b718cd60c01b62000a6560201b60201c565b62000e4082856200212c60201b60201c565b62000e63565b62000e62675eb466f90a620b0f60c01b62000a6560201b60201c565b5b62000e7f67fcd8a57751c34a1160c01b62000a6560201b60201c565b62000e9b67c014c8ff907100cb60c01b62000a6560201b60201c565b60005b8351811015620011275762000ec4677134da3b2ea217c360c01b62000a6560201b60201c565b62000ee0678ef84b1f8594c55e60c01b62000a6560201b60201c565b600084828151811062000ef85762000ef762003298565b5b6020026020010151905062000f1e67e6627f219f43163560c01b62000a6560201b60201c565b62000f3a672b0989e1ce351d2c60c01b62000a6560201b60201c565b6000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905062000fd1678edc0ee3600e6f7160c01b62000a6560201b60201c565b62000fed67acff68f00aaf198060c01b62000a6560201b60201c565b62001009678e7e9da0f87df0c460c01b62000a6560201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146200107b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620010729062003943565b60405180910390fd5b6200109767de5c2f108b7a76ad60c01b62000a6560201b60201c565b620010b3679df301acb4b4e7b560c01b62000a6560201b60201c565b620010cf67d5dd90cfdfe4af7760c01b62000a6560201b60201c565b620010e38583868a620022b860201b60201c565b620010ff67b77905e3474e693060c01b62000a6560201b60201c565b83806200110c906200397d565b945050505080806200111e90620033d8565b91505062000e9e565b5050505050565b6200114a672faab333134f8f2b60c01b62000a6560201b60201c565b6200116667f1aef7c8a9655d5360c01b62000a6560201b60201c565b6200118267d203ed109c17319660c01b62000a6560201b60201c565b6200119e67f4734d8378f4311060c01b62000a6560201b60201c565b6000815111620011e5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620011dc9062003813565b60405180910390fd5b620012016754602ce0fe5a43bf60c01b62000a6560201b60201c565b6200121d67f46efb4b2c2c709e60c01b62000a6560201b60201c565b6200123967610110a281fa82c760c01b62000a6560201b60201c565b60006200124b62000a6860201b60201c565b90506200126967edc9c99031ecb10d60c01b62000a6560201b60201c565b620012856767fe440300c94a3460c01b62000a6560201b60201c565b620012a16784ec279df893a23160c01b62000a6560201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362001313576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200130a90620038ab565b60405180910390fd5b6200132f678fb1a303062b7c3660c01b62000a6560201b60201c565b6200134b672659fafa49e6fe9a60c01b62000a6560201b60201c565b6200136767151721b3adf3095360c01b62000a6560201b60201c565b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050620013cf6747aaf74cd533212060c01b62000a6560201b60201c565b620013eb6703de6b9bbbb4e65460c01b62000a6560201b60201c565b6000816bffffffffffffffffffffffff16036200146e576200141e677f40383c8703753660c01b62000a6560201b60201c565b6200143a67bee7ffe190c4ad3c60c01b62000a6560201b60201c565b620014566755bd06ec28bd8be360c01b62000a6560201b60201c565b6200146882856200212c60201b60201c565b6200148b565b6200148a67dd6dd2122982fcbd60c01b62000a6560201b60201c565b5b620014a767c00fc6f5b3cfec0760c01b62000a6560201b60201c565b620014c36712c602b6c749bc1660c01b62000a6560201b60201c565b60005b83518110156200179957620014ec67b01c581fb6bf76d460c01b62000a6560201b60201c565b620015086772bf81d7d68cd5cc60c01b62000a6560201b60201c565b600084828151811062001520576200151f62003298565b5b602002602001015190506200154667f378c2c5d2ac591860c01b62000a6560201b60201c565b62001562672abe9487f14424bf60c01b62000a6560201b60201c565b6000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050620015f967c938893e73b6cc8660c01b62000a6560201b60201c565b6200161567b830452a6260fe5860c01b62000a6560201b60201c565b6200163167732490d4bd014f1160c01b62000a6560201b60201c565b8673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620016a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620016999062003a2c565b60405180910390fd5b620016be67307ef01dc603673f60c01b62000a6560201b60201c565b620016da67df9b9ad53f3498bb60c01b62000a6560201b60201c565b620016f667ef74a1c742a2ef4b60c01b62000a6560201b60201c565b62001709858284620024f160201b60201c565b620017256709eba8384d15433760c01b62000a6560201b60201c565b6200174167eb34f0e39cc002be60c01b62000a6560201b60201c565b620017558583868a620022b860201b60201c565b6200177167c8e26e167d4df53e60c01b62000a6560201b60201c565b83806200177e906200397d565b945050505080806200179090620033d8565b915050620014c6565b5050505050565b620017bc67484f249b41b9afdf60c01b62000a6560201b60201c565b620017d8672afee721a436189e60c01b62000a6560201b60201c565b620017f46790c0f4303981d53860c01b62000a6560201b60201c565b6200181067b69809b50e9b29b160c01b62000a6560201b60201c565b600081511162001857576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200184e9062003813565b60405180910390fd5b620018736703449e0de1d16e1460c01b62000a6560201b60201c565b6200188f67043931a3bf63a76460c01b62000a6560201b60201c565b620018ab6783eac4de134a189760c01b62000a6560201b60201c565b6000620018bd62000a6860201b60201c565b9050620018db676fa9503e3a33edf160c01b62000a6560201b60201c565b620018f767565ff8422e73f48260c01b62000a6560201b60201c565b6200191367a43a53c1c8fdb01860c01b62000a6560201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462001985576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200197c9062003ac4565b60405180910390fd5b620019a167a83ec82cf318ce9960c01b62000a6560201b60201c565b620019bd6729de67dbee8a781960c01b62000a6560201b60201c565b620019d96778ae44bab32ab16d60c01b62000a6560201b60201c565b60005b825181101562001b565762001a0267c86ec2c930ebf39060c01b62000a6560201b60201c565b62001a1e67bb2f8bac9067d0d960c01b62000a6560201b60201c565b600083828151811062001a365762001a3562003298565b5b6020026020010151905062001a5c67afdb7f7eafa2419160c01b62000a6560201b60201c565b62001a7867336a3f69f07dbd0a60c01b62000a6560201b60201c565b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905062001b0f67a9a5f6b739625a6060c01b62000a6560201b60201c565b62001b2b67fd046ea59cd94d2a60c01b62000a6560201b60201c565b62001b3e848284620024f160201b60201c565b5050808062001b4d90620033d8565b915050620019dc565b50505050565b62001b7867029e1a56337e048460c01b62000a6560201b60201c565b62001b9467165337675d3a848660c01b62000a6560201b60201c565b62001bb0674613682e59aed10a60c01b62000a6560201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362001cbe5762001c016788e41d767c30804a60c01b62000a6560201b60201c565b62001c1d67509782c75193bd1560c01b62000a6560201b60201c565b62001c39677c55baba9bedefc760c01b62000a6560201b60201c565b62001c556779b630e4a1a501b160c01b62000a6560201b60201c565b600081511462001c9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162001c939062003b5c565b60405180910390fd5b62001cb8671cf5cba47462738c60c01b62000a6560201b60201c565b62002128565b62001cda67d87fba57f9fd56d260c01b62000a6560201b60201c565b62001cf66785ecbfea545b551c60c01b62000a6560201b60201c565b62001d12675a99520875f542d360c01b62000a6560201b60201c565b62001d2e677335d4909eb3f6ed60c01b62000a6560201b60201c565b600081511162001d75576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162001d6c9062003bf4565b60405180910390fd5b62001d9167e2308116fde49ef660c01b62000a6560201b60201c565b62001dad67e68a1e15bfb15c1560c01b62000a6560201b60201c565b62001dc967e2f9c57761f027da60c01b62000a6560201b60201c565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462001e825762001e19677e43db5cf3dda55a60c01b62000a6560201b60201c565b62001e3567f9079825f16296d860c01b62000a6560201b60201c565b62001e516722169a84f6e6288860c01b62000a6560201b60201c565b62001e7c8260405180606001604052806028815260200162007671602891396200303760201b60201c565b62001e9f565b62001e9e6756028f6713aeb61660c01b62000a6560201b60201c565b5b62001ebb678b5d37b494e8790c60c01b62000a6560201b60201c565b62001ed76732f3ff1c4d01de4c60c01b62000a6560201b60201c565b6000808373ffffffffffffffffffffffffffffffffffffffff168360405162001f01919062003c58565b600060405180830381855af49150503d806000811462001f3e576040519150601f19603f3d011682016040523d82523d6000602084013e62001f43565b606091505b509150915062001f6467cb519b28cdf2316460c01b62000a6560201b60201c565b62001f8067d3126d202060687460c01b62000a6560201b60201c565b81620021095762001fa26713957e4282cdd48760c01b62000a6560201b60201c565b62001fbe676bcab06e51e2612c60c01b62000a6560201b60201c565b62001fda67d3bfca2e5aa4d84960c01b62000a6560201b60201c565b600081511115620020785762002001673aa967c1a865c9c260c01b62000a6560201b60201c565b6200201d67f27acd53282addda60c01b62000a6560201b60201c565b620020396780ab759cddda78d060c01b62000a6560201b60201c565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200206f919062003cbd565b60405180910390fd5b6200209467a434d1c24e3903bc60c01b62000a6560201b60201c565b620020b067d32e3505412c44c560c01b62000a6560201b60201c565b620020cc677d8323cb74d7c2d860c01b62000a6560201b60201c565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620021009062003d57565b60405180910390fd5b6200212567bc6651a6d16ea71460c01b62000a6560201b60201c565b50505b5050565b620021486745cff900de072b7660c01b62000a6560201b60201c565b6200216467ac3e31ef1ea5c74960c01b62000a6560201b60201c565b62002180673364688f11db6d0d60c01b62000a6560201b60201c565b620021ab8160405180606001604052806024815260200162007699602491396200303760201b60201c565b620021c767b9f39a1cc8adecc260c01b62000a6560201b60201c565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550620022336718823160317e019160c01b62000a6560201b60201c565b6200224f676ae1118a96d2a90560c01b62000a6560201b60201c565b81600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b620022d467a2899c53551cdd3760c01b62000a6560201b60201c565b620022f0678197d74e06e4145f60c01b62000a6560201b60201c565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555062002391677d99602b18ea589060c01b62000a6560201b60201c565b620023ad67351b6ed487ae748960c01b62000a6560201b60201c565b8360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c02179055506200245667c24c5f99c230f00760c01b62000a6560201b60201c565b80846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b6200250d6787c03a3a3424540460c01b62000a6560201b60201c565b62002529672e3806f37bc3a9d460c01b62000a6560201b60201c565b62002545678d411e0bbad3542c60c01b62000a6560201b60201c565b620025616726e5377f8db7750360c01b62000a6560201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620025d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620025ca9062003def565b60405180910390fd5b620025ef67ebcad92e55ad094460c01b62000a6560201b60201c565b6200260b6751364413e637bba560c01b62000a6560201b60201c565b620026276792673f376289e6e260c01b62000a6560201b60201c565b6200264367f72487d3a8cf4ac460c01b62000a6560201b60201c565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620026b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620026ab9062003e87565b60405180910390fd5b620026d067a4c3c236bcab394860c01b62000a6560201b60201c565b620026ec677e1962b66805ad7060c01b62000a6560201b60201c565b62002708670d999328d8a5d9c360c01b62000a6560201b60201c565b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050620027a567d10337e1e2ecfc3960c01b62000a6560201b60201c565b620027c1677b893f30fdd7ad7060c01b62000a6560201b60201c565b600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905062002819919062003ea9565b90506200283767bb5bf925ceece87660c01b62000a6560201b60201c565b62002853676df862371a13aaa560c01b62000a6560201b60201c565b80821462002a7d576200287767156a8665fdd7526f60c01b62000a6560201b60201c565b62002893673cefa8bc28e7d12860c01b62000a6560201b60201c565b620028af67bdc380bd85401db960c01b62000a6560201b60201c565b60008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000182815481106200290a576200290962003298565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b90506200294b671de77bf8f010eaec60c01b62000a6560201b60201c565b808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018481548110620029a557620029a462003298565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c0217905550620029f1673af62f9c8f759fb160c01b62000a6560201b60201c565b82866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055505062002a9a565b62002a99671d9b423266d067f060c01b62000a6560201b60201c565b5b62002ab667018034db5579529460c01b62000a6560201b60201c565b62002ad267a1c9b3117b7c6ab660c01b62000a6560201b60201c565b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548062002b295762002b2862003ee4565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff0219169055905562002b7567559997c386b3648460c01b62000a6560201b60201c565b846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff0219169055505062002c2d6760a723ea0e7e1d4860c01b62000a6560201b60201c565b62002c4967ff433d7c2e2ac4be60c01b62000a6560201b60201c565b60008103620030135762002c6e6762db4abf7f19cb2060c01b62000a6560201b60201c565b62002c8a67efe6f413d09d1ebd60c01b62000a6560201b60201c565b62002ca667ec471a641a3edf7960c01b62000a6560201b60201c565b60006001866002018054905062002cbe919062003ea9565b905062002cdb6622a131c51aff2c60c01b62000a6560201b60201c565b62002cf767919cfbc3e76423a760c01b62000a6560201b60201c565b60008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154905062002d5c674e9eba62f8a28b9860c01b62000a6560201b60201c565b62002d786799c973d204243fa060c01b62000a6560201b60201c565b81811462002f065762002d9c673c79f4e3584d9a5960c01b62000a6560201b60201c565b62002db867990168f15e45b6b860c01b62000a6560201b60201c565b62002dd4678582ef208a32dc4260c01b62000a6560201b60201c565b600087600201838154811062002def5762002dee62003298565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905062002e38671085af932ae9ef7260c01b62000a6560201b60201c565b8088600201838154811062002e525762002e5162003298565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062002eb667ad58108eb86eb21760c01b62000a6560201b60201c565b818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505062002f23565b62002f2267804be83a13f0191a60c01b62000a6560201b60201c565b5b62002f3f67b1f28e33128b33c960c01b62000a6560201b60201c565b62002f5b67c4cd68f75da79ff060c01b62000a6560201b60201c565b8660020180548062002f725762002f7162003ee4565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905562002fc367a379df54f7bb9fb460c01b62000a6560201b60201c565b8660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009055505062003030565b6200302f671627b1de00b56a1b60c01b62000a6560201b60201c565b5b5050505050565b6200305367f91685f166b890e160c01b62000a6560201b60201c565b6200306f672a44665c1fa886a160c01b62000a6560201b60201c565b6200308b6756e8a556d62b0f5e60c01b62000a6560201b60201c565b6000620030a967996ed809f12ff03160c01b62000a6560201b60201c565b823b9050620030c96709c9d04de4f50a1e60c01b62000a6560201b60201c565b620030e567b71747c1488d4acd60c01b62000a6560201b60201c565b6200310167f052a96327eb0abf60c01b62000a6560201b60201c565b6000811182906200314a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162003141919062003cbd565b60405180910390fd5b506200316767b956b25dc409113860c01b62000a6560201b60201c565b505050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160006002811115620031ab57620031aa620032c7565b5b8152602001606081525090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620031ea82620031bd565b9050919050565b620031fc81620031dd565b81146200320857600080fd5b50565b6000815190506200321c81620031f1565b92915050565b600080604083850312156200323c576200323b620031b8565b5b60006200324c858286016200320b565b92505060206200325f858286016200320b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600082825260208201905092915050565b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b600062003365602783620032f6565b9150620033728262003307565b604082019050919050565b60006020820190508181036000830152620033988162003356565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000620033e582620033ce565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036200341a57620034196200339f565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6200345c81620031dd565b82525050565b60038110620034765762003475620032c7565b5b50565b6000819050620034898262003462565b919050565b60006200349b8262003479565b9050919050565b620034ad816200348e565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6200351681620034df565b82525050565b60006200352a83836200350b565b60208301905092915050565b6000602082019050919050565b60006200355082620034b3565b6200355c8185620034be565b93506200356983620034cf565b8060005b83811015620035a05781516200358488826200351c565b9750620035918362003536565b9250506001810190506200356d565b5085935050505092915050565b6000606083016000830151620035c7600086018262003451565b506020830151620035dc6020860182620034a2565b5060408301518482036040860152620035f6828262003543565b9150508091505092915050565b6000620036118383620035ad565b905092915050565b6000602082019050919050565b6000620036338262003425565b6200363f818562003430565b935083602082028501620036538562003441565b8060005b8581101562003695578484038952815162003673858262003603565b9450620036808362003619565b925060208a0199505060018101905062003657565b50829750879550505050505092915050565b620036b281620031dd565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015620036f4578082015181840152602081019050620036d7565b60008484015250505050565b6000601f19601f8301169050919050565b60006200371e82620036b8565b6200372a8185620036c3565b93506200373c818560208601620036d4565b620037478162003700565b840191505092915050565b600060608201905081810360008301526200376e818662003626565b90506200377f6020830185620036a7565b818103604083015262003793818462003711565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b6000620037fb602b83620032f6565b915062003808826200379d565b604082019050919050565b600060208201905081810360008301526200382e81620037ec565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b600062003893602c83620032f6565b9150620038a08262003835565b604082019050919050565b60006020820190508181036000830152620038c68162003884565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b60006200392b603583620032f6565b91506200393882620038cd565b604082019050919050565b600060208201905081810360008301526200395e816200391c565b9050919050565b60006bffffffffffffffffffffffff82169050919050565b60006200398a8262003965565b91506bffffffffffffffffffffffff8203620039ab57620039aa6200339f565b5b600182019050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b600062003a14603883620032f6565b915062003a2182620039b6565b604082019050919050565b6000602082019050818103600083015262003a478162003a05565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b600062003aac603683620032f6565b915062003ab98262003a4e565b604082019050919050565b6000602082019050818103600083015262003adf8162003a9d565b9050919050565b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b600062003b44603c83620032f6565b915062003b518262003ae6565b604082019050919050565b6000602082019050818103600083015262003b778162003b35565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b600062003bdc603d83620032f6565b915062003be98262003b7e565b604082019050919050565b6000602082019050818103600083015262003c0f8162003bcd565b9050919050565b600081905092915050565b600062003c2e82620036b8565b62003c3a818562003c16565b935062003c4c818560208601620036d4565b80840191505092915050565b600062003c66828462003c21565b915081905092915050565b600081519050919050565b600062003c898262003c71565b62003c958185620032f6565b935062003ca7818560208601620036d4565b62003cb28162003700565b840191505092915050565b6000602082019050818103600083015262003cd9818462003c7c565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b600062003d3f602683620032f6565b915062003d4c8262003ce1565b604082019050919050565b6000602082019050818103600083015262003d728162003d30565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b600062003dd7603783620032f6565b915062003de48262003d79565b604082019050919050565b6000602082019050818103600083015262003e0a8162003dc8565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e000000000000000000000000000000000000602082015250565b600062003e6f602e83620032f6565b915062003e7c8262003e11565b604082019050919050565b6000602082019050818103600083015262003ea28162003e60565b9050919050565b600062003eb682620033ce565b915062003ec383620033ce565b925082820390508181111562003ede5762003edd6200339f565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b61374e8062003f236000396000f3fe6080604052600436106100385760003560e01c806353a845b5146102a0578063926cd86d146102dd578063e8fa136a146103065761003f565b3661003f57005b6100536711f9a5eb36163b8960c01b610343565b61006767dbe2beb916fa8a5b60c01b610343565b61007b6790d1a3cb3ba44ee360c01b610343565b6000610091674da9ab19ea0baaeb60c01b610343565b6100a567979b87787adfcc6f60c01b610343565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90506100de67c7c975d955274fd260c01b610343565b8091506100f567bcae6db60f573e9a60c01b610343565b61010967ca1671d26216c11160c01b610343565b600082600001600080357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506101bb6792d906f4ab70537060c01b610343565b6101cf675faf97112e5c11e260c01b610343565b6101e367f10e8643be83266d60c01b610343565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610252576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610249906129f6565b60405180910390fd5b61026667e8144acc2819f60560c01b610343565b61027a6767619bab0f74d44660c01b610343565b3660008037600080366000845af43d6000803e806000811461029b573d6000f35b3d6000fd5b3480156102ac57600080fd5b506102c760048036038101906102c29190612a73565b610346565b6040516102d49190612abb565b60405180910390f35b3480156102e957600080fd5b5061030460048036038101906102ff9190612a73565b610343565b005b34801561031257600080fd5b5061032d60048036038101906103289190612a73565b610351565b60405161033a9190612abb565b60405180910390f35b50565b600060019050919050565b6000919050565b61036c674f69fffccbea1a6060c01b61091a565b61038067254a8afedf49a2bd60c01b61091a565b6103946764ae761eae80994a60c01b61091a565b600061039e61091d565b90506103b46728cf10db04b3ce6a60c01b61091a565b6103c867254c9c1d52a21ebf60c01b61091a565b60008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061040567f8cb9d02f213dad260c01b61091a565b828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061045c67320b257c7ea8cea760c01b61091a565b61047067a1ef30c006aa278260c01b61091a565b8273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b6104e367a19105344d9f01ff60c01b61091a565b6104f767b64c935a270824d460c01b61091a565b61050b67472298b363a8ccd460c01b61091a565b60005b835181101561087f5761052b679f2b3e118cce749f60c01b61091a565b61053f67d896c15712e4c99e60c01b61091a565b600084828151811061055457610553612ad6565b5b602002602001015160200151905061057667e9e9e49fe14a781e60c01b61091a565b61058a67c54028706882e3fd60c01b61091a565b6000600281111561059e5761059d612b05565b5b8160028111156105b1576105b0612b05565b5b0361063d576105ca67f4728512f8de3aa360c01b61091a565b6105de6740469cb01cf2faa260c01b61091a565b6105f26721754418551a963060c01b61091a565b61063885838151811061060857610607612ad6565b5b60200260200101516000015186848151811061062757610626612ad6565b5b60200260200101516040015161099b565b61086b565b61065167964166c6a112694260c01b61091a565b610665675cddae6a9e8d84f060c01b61091a565b6001600281111561067957610678612b05565b5b81600281111561068c5761068b612b05565b5b03610718576106a5676469914f5066ffc460c01b61091a565b6106b967cf470716cadf00df60c01b61091a565b6106cd67f4605d17f3b1301c60c01b61091a565b6107138583815181106106e3576106e2612ad6565b5b60200260200101516000015186848151811061070257610701612ad6565b5b602002602001015160400151610e97565b61086a565b61072c67e72a92bcd515975b60c01b61091a565b61074067b1e174fb1bb1b85360c01b61091a565b60028081111561075357610752612b05565b5b81600281111561076657610765612b05565b5b036107f25761077f67db0f598297fb7fbc60c01b61091a565b610793671a55e89439142ee060c01b61091a565b6107a76711513d20488a52e060c01b61091a565b6107ed8583815181106107bd576107bc612ad6565b5b6020026020010151600001518684815181106107dc576107db612ad6565b5b6020026020010151604001516113c5565b610869565b61080667cf3e056f531577e760c01b61091a565b61081a671903ab370305c25960c01b61091a565b61082e676af2c3acde0bf38760c01b61091a565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086090612ba6565b60405180910390fd5b5b5b50808061087790612bff565b91505061050e565b5061089467dc19ebbaa4095b3160c01b61091a565b6108a8678571dd875084a3e060c01b61091a565b7f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738383836040516108db93929190612f6b565b60405180910390a16108f767faecfc839f48e07b60c01b61091a565b61090b6792cae661f317b4ce60c01b61091a565b61091582826116cc565b505050565b50565b6000610933674f9afbb757d80e6360c01b61091a565b610947674b823103125da15660c01b61091a565b61095b674ab715c231c1608d60c01b61091a565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061099467982d9bb86701efa860c01b61091a565b8091505090565b6109af67cc97399e32da22a560c01b61091a565b6109c367021d8eb4be5452a860c01b61091a565b6109d7678748409130ac41fa60c01b61091a565b6109eb67ccd015372bd45b9c60c01b61091a565b6000815111610a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2690613022565b60405180910390fd5b610a4367d0bcd87037df4e5a60c01b61091a565b610a576777b6df3c8e2ebf4660c01b61091a565b610a6b6755a810a63d06fcdd60c01b61091a565b6000610a7561091d565b9050610a8b6747e187c4c65f108c60c01b61091a565b610a9f670bde1222440aa4dd60c01b61091a565b610ab367f7810a880d4fe12d60c01b61091a565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b19906130b4565b60405180910390fd5b610b36676e4814773ca1e6f960c01b61091a565b610b4a67abb5961c588ff7dc60c01b61091a565b610b5e6775b1393f5ceb0a4860c01b61091a565b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050610bbe6779cb28ccf660334260c01b61091a565b610bd2671a64ec3fd612cafd60c01b61091a565b6000816bffffffffffffffffffffffff1603610c3357610bfc672a23378c0ae85db760c01b61091a565b610c10670288376b7f20f78660c01b61091a565b610c2467d14bbd8396b718cd60c01b61091a565b610c2e8285611b77565b610c48565b610c47675eb466f90a620b0f60c01b61091a565b5b610c5c67fcd8a57751c34a1160c01b61091a565b610c7067c014c8ff907100cb60c01b61091a565b60005b8351811015610e9057610c90677134da3b2ea217c360c01b61091a565b610ca4678ef84b1f8594c55e60c01b61091a565b6000848281518110610cb957610cb8612ad6565b5b60200260200101519050610cd767e6627f219f43163560c01b61091a565b610ceb672b0989e1ce351d2c60c01b61091a565b6000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610d7a678edc0ee3600e6f7160c01b61091a565b610d8e67acff68f00aaf198060c01b61091a565b610da2678e7e9da0f87df0c460c01b61091a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610e11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0890613146565b60405180910390fd5b610e2567de5c2f108b7a76ad60c01b61091a565b610e39679df301acb4b4e7b560c01b61091a565b610e4d67d5dd90cfdfe4af7760c01b61091a565b610e598583868a611cca565b610e6d67b77905e3474e693060c01b61091a565b8380610e789061317e565b94505050508080610e8890612bff565b915050610c73565b5050505050565b610eab672faab333134f8f2b60c01b61091a565b610ebf67f1aef7c8a9655d5360c01b61091a565b610ed367d203ed109c17319660c01b61091a565b610ee767f4734d8378f4311060c01b61091a565b6000815111610f2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2290613022565b60405180910390fd5b610f3f6754602ce0fe5a43bf60c01b61091a565b610f5367f46efb4b2c2c709e60c01b61091a565b610f6767610110a281fa82c760c01b61091a565b6000610f7161091d565b9050610f8767edc9c99031ecb10d60c01b61091a565b610f9b6767fe440300c94a3460c01b61091a565b610faf6784ec279df893a23160c01b61091a565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361101e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611015906130b4565b60405180910390fd5b611032678fb1a303062b7c3660c01b61091a565b611046672659fafa49e6fe9a60c01b61091a565b61105a67151721b3adf3095360c01b61091a565b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506110ba6747aaf74cd533212060c01b61091a565b6110ce6703de6b9bbbb4e65460c01b61091a565b6000816bffffffffffffffffffffffff160361112f576110f8677f40383c8703753660c01b61091a565b61110c67bee7ffe190c4ad3c60c01b61091a565b6111206755bd06ec28bd8be360c01b61091a565b61112a8285611b77565b611144565b61114367dd6dd2122982fcbd60c01b61091a565b5b61115867c00fc6f5b3cfec0760c01b61091a565b61116c6712c602b6c749bc1660c01b61091a565b60005b83518110156113be5761118c67b01c581fb6bf76d460c01b61091a565b6111a06772bf81d7d68cd5cc60c01b61091a565b60008482815181106111b5576111b4612ad6565b5b602002602001015190506111d367f378c2c5d2ac591860c01b61091a565b6111e7672abe9487f14424bf60c01b61091a565b6000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061127667c938893e73b6cc8660c01b61091a565b61128a67b830452a6260fe5860c01b61091a565b61129e67732490d4bd014f1160c01b61091a565b8673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361130c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130390613224565b60405180910390fd5b61132067307ef01dc603673f60c01b61091a565b61133467df9b9ad53f3498bb60c01b61091a565b61134867ef74a1c742a2ef4b60c01b61091a565b611353858284611edb565b6113676709eba8384d15433760c01b61091a565b61137b67eb34f0e39cc002be60c01b61091a565b6113878583868a611cca565b61139b67c8e26e167d4df53e60c01b61091a565b83806113a69061317e565b945050505080806113b690612bff565b91505061116f565b5050505050565b6113d967484f249b41b9afdf60c01b61091a565b6113ed672afee721a436189e60c01b61091a565b6114016790c0f4303981d53860c01b61091a565b61141567b69809b50e9b29b160c01b61091a565b6000815111611459576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145090613022565b60405180910390fd5b61146d6703449e0de1d16e1460c01b61091a565b61148167043931a3bf63a76460c01b61091a565b6114956783eac4de134a189760c01b61091a565b600061149f61091d565b90506114b5676fa9503e3a33edf160c01b61091a565b6114c967565ff8422e73f48260c01b61091a565b6114dd67a43a53c1c8fdb01860c01b61091a565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461154c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611543906132b6565b60405180910390fd5b61156067a83ec82cf318ce9960c01b61091a565b6115746729de67dbee8a781960c01b61091a565b6115886778ae44bab32ab16d60c01b61091a565b60005b82518110156116c6576115a867c86ec2c930ebf39060c01b61091a565b6115bc67bb2f8bac9067d0d960c01b61091a565b60008382815181106115d1576115d0612ad6565b5b602002602001015190506115ef67afdb7f7eafa2419160c01b61091a565b61160367336a3f69f07dbd0a60c01b61091a565b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061169267a9a5f6b739625a6060c01b61091a565b6116a667fd046ea59cd94d2a60c01b61091a565b6116b1848284611edb565b505080806116be90612bff565b91505061158b565b50505050565b6116e067029e1a56337e048460c01b61091a565b6116f467165337675d3a848660c01b61091a565b611708674613682e59aed10a60c01b61091a565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117e9576117506788e41d767c30804a60c01b61091a565b61176467509782c75193bd1560c01b61091a565b611778677c55baba9bedefc760c01b61091a565b61178c6779b630e4a1a501b160c01b61091a565b60008151146117d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c790613348565b60405180910390fd5b6117e4671cf5cba47462738c60c01b61091a565b611b73565b6117fd67d87fba57f9fd56d260c01b61091a565b6118116785ecbfea545b551c60c01b61091a565b611825675a99520875f542d360c01b61091a565b611839677335d4909eb3f6ed60c01b61091a565b600081511161187d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611874906133da565b60405180910390fd5b61189167e2308116fde49ef660c01b61091a565b6118a567e68a1e15bfb15c1560c01b61091a565b6118b967e2f9c57761f027da60c01b61091a565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461194f57611900677e43db5cf3dda55a60c01b61091a565b61191467f9079825f16296d860c01b61091a565b6119286722169a84f6e6288860c01b61091a565b61194a826040518060600160405280602881526020016136cd602891396128a7565b611964565b6119636756028f6713aeb61660c01b61091a565b5b611978678b5d37b494e8790c60c01b61091a565b61198c6732f3ff1c4d01de4c60c01b61091a565b6000808373ffffffffffffffffffffffffffffffffffffffff16836040516119b49190613436565b600060405180830381855af49150503d80600081146119ef576040519150601f19603f3d011682016040523d82523d6000602084013e6119f4565b606091505b5091509150611a0d67cb519b28cdf2316460c01b61091a565b611a2167d3126d202060687460c01b61091a565b81611b5c57611a3a6713957e4282cdd48760c01b61091a565b611a4e676bcab06e51e2612c60c01b61091a565b611a6267d3bfca2e5aa4d84960c01b61091a565b600081511115611ae557611a80673aa967c1a865c9c260c01b61091a565b611a9467f27acd53282addda60c01b61091a565b611aa86780ab759cddda78d060c01b61091a565b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adc9190613491565b60405180910390fd5b611af967a434d1c24e3903bc60c01b61091a565b611b0d67d32e3505412c44c560c01b61091a565b611b21677d8323cb74d7c2d860c01b61091a565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5390613525565b60405180910390fd5b611b7067bc6651a6d16ea71460c01b61091a565b50505b5050565b611b8b6745cff900de072b7660c01b61091a565b611b9f67ac3e31ef1ea5c74960c01b61091a565b611bb3673364688f11db6d0d60c01b61091a565b611bd5816040518060600160405280602481526020016136f5602491396128a7565b611be967b9f39a1cc8adecc260c01b61091a565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550611c4d6718823160317e019160c01b61091a565b611c61676ae1118a96d2a90560c01b61091a565b81600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b611cde67a2899c53551cdd3760c01b61091a565b611cf2678197d74e06e4145f60c01b61091a565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550611d8b677d99602b18ea589060c01b61091a565b611d9f67351b6ed487ae748960c01b61091a565b8360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c0217905550611e4067c24c5f99c230f00760c01b61091a565b80846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b611eef6787c03a3a3424540460c01b61091a565b611f03672e3806f37bc3a9d460c01b61091a565b611f17678d411e0bbad3542c60c01b61091a565b611f2b6726e5377f8db7750360c01b61091a565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f91906135b7565b60405180910390fd5b611fae67ebcad92e55ad094460c01b61091a565b611fc26751364413e637bba560c01b61091a565b611fd66792673f376289e6e260c01b61091a565b611fea67f72487d3a8cf4ac460c01b61091a565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204f90613649565b60405180910390fd5b61206c67a4c3c236bcab394860c01b61091a565b612080677e1962b66805ad7060c01b61091a565b612094670d999328d8a5d9c360c01b61091a565b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16905061212967d10337e1e2ecfc3960c01b61091a565b61213d677b893f30fdd7ad7060c01b61091a565b600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490506121939190613669565b90506121a967bb5bf925ceece87660c01b61091a565b6121bd676df862371a13aaa560c01b61091a565b8082146123b7576121d867156a8665fdd7526f60c01b61091a565b6121ec673cefa8bc28e7d12860c01b61091a565b61220067bdc380bd85401db960c01b61091a565b60008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001828154811061225857612257612ad6565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b9050612291671de77bf8f010eaec60c01b61091a565b808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000184815481106122e8576122e7612ad6565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c021790555061232c673af62f9c8f759fb160c01b61091a565b82866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550506123cc565b6123cb671d9b423266d067f060c01b61091a565b5b6123e067018034db5579529460c01b61091a565b6123f467a1c9b3117b7c6ab660c01b61091a565b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054806124485761244761369d565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff0219169055905561248c67559997c386b3648460c01b61091a565b846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff0219169055505061253c6760a723ea0e7e1d4860c01b61091a565b61255067ff433d7c2e2ac4be60c01b61091a565b6000810361288b5761256c6762db4abf7f19cb2060c01b61091a565b61258067efe6f413d09d1ebd60c01b61091a565b61259467ec471a641a3edf7960c01b61091a565b6000600186600201805490506125aa9190613669565b90506125bf6622a131c51aff2c60c01b61091a565b6125d367919cfbc3e76423a760c01b61091a565b60008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050612630674e9eba62f8a28b9860c01b61091a565b6126446799c973d204243fa060c01b61091a565b8181146127a25761265f673c79f4e3584d9a5960c01b61091a565b61267367990168f15e45b6b860c01b61091a565b612687678582ef208a32dc4260c01b61091a565b600087600201838154811061269f5761269e612ad6565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506126e0671085af932ae9ef7260c01b61091a565b808860020183815481106126f7576126f6612ad6565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061275367ad58108eb86eb21760c01b61091a565b818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550506127b7565b6127b667804be83a13f0191a60c01b61091a565b5b6127cb67b1f28e33128b33c960c01b61091a565b6127df67c4cd68f75da79ff060c01b61091a565b866002018054806127f3576127f261369d565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561283c67a379df54f7bb9fb460c01b61091a565b8660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000905550506128a0565b61289f671627b1de00b56a1b60c01b61091a565b5b5050505050565b6128bb67f91685f166b890e160c01b61091a565b6128cf672a44665c1fa886a160c01b61091a565b6128e36756e8a556d62b0f5e60c01b61091a565b60006128f967996ed809f12ff03160c01b61091a565b823b90506129116709c9d04de4f50a1e60c01b61091a565b61292567b71747c1488d4acd60c01b61091a565b61293967f052a96327eb0abf60c01b61091a565b60008111829061297f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129769190613491565b60405180910390fd5b5061299467b956b25dc409113860c01b61091a565b505050565b600082825260208201905092915050565b7f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f74206578697374600082015250565b60006129e0602083612999565b91506129eb826129aa565b602082019050919050565b60006020820190508181036000830152612a0f816129d3565b9050919050565b600080fd5b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b612a5081612a1b565b8114612a5b57600080fd5b50565b600081359050612a6d81612a47565b92915050565b600060208284031215612a8957612a88612a16565b5b6000612a9784828501612a5e565b91505092915050565b60008115159050919050565b612ab581612aa0565b82525050565b6000602082019050612ad06000830184612aac565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b6000612b90602783612999565b9150612b9b82612b34565b604082019050919050565b60006020820190508181036000830152612bbf81612b83565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000612c0a82612bf5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c3c57612c3b612bc6565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c9e82612c73565b9050919050565b612cae81612c93565b82525050565b60038110612cc557612cc4612b05565b5b50565b6000819050612cd682612cb4565b919050565b6000612ce682612cc8565b9050919050565b612cf681612cdb565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612d5d81612d28565b82525050565b6000612d6f8383612d54565b60208301905092915050565b6000602082019050919050565b6000612d9382612cfc565b612d9d8185612d07565b9350612da883612d18565b8060005b83811015612dd9578151612dc08882612d63565b9750612dcb83612d7b565b925050600181019050612dac565b5085935050505092915050565b6000606083016000830151612dfe6000860182612ca5565b506020830151612e116020860182612ced565b5060408301518482036040860152612e298282612d88565b9150508091505092915050565b6000612e428383612de6565b905092915050565b6000602082019050919050565b6000612e6282612c47565b612e6c8185612c52565b935083602082028501612e7e85612c63565b8060005b85811015612eba5784840389528151612e9b8582612e36565b9450612ea683612e4a565b925060208a01995050600181019050612e82565b50829750879550505050505092915050565b612ed581612c93565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f15578082015181840152602081019050612efa565b60008484015250505050565b6000601f19601f8301169050919050565b6000612f3d82612edb565b612f478185612ee6565b9350612f57818560208601612ef7565b612f6081612f21565b840191505092915050565b60006060820190508181036000830152612f858186612e57565b9050612f946020830185612ecc565b8181036040830152612fa68184612f32565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b600061300c602b83612999565b915061301782612fb0565b604082019050919050565b6000602082019050818103600083015261303b81612fff565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b600061309e602c83612999565b91506130a982613042565b604082019050919050565b600060208201905081810360008301526130cd81613091565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b6000613130603583612999565b915061313b826130d4565b604082019050919050565b6000602082019050818103600083015261315f81613123565b9050919050565b60006bffffffffffffffffffffffff82169050919050565b600061318982613166565b91506bffffffffffffffffffffffff82036131a7576131a6612bc6565b5b600182019050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b600061320e603883612999565b9150613219826131b2565b604082019050919050565b6000602082019050818103600083015261323d81613201565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b60006132a0603683612999565b91506132ab82613244565b604082019050919050565b600060208201905081810360008301526132cf81613293565b9050919050565b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b6000613332603c83612999565b915061333d826132d6565b604082019050919050565b6000602082019050818103600083015261336181613325565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b60006133c4603d83612999565b91506133cf82613368565b604082019050919050565b600060208201905081810360008301526133f3816133b7565b9050919050565b600081905092915050565b600061341082612edb565b61341a81856133fa565b935061342a818560208601612ef7565b80840191505092915050565b60006134428284613405565b915081905092915050565b600081519050919050565b60006134638261344d565b61346d8185612999565b935061347d818560208601612ef7565b61348681612f21565b840191505092915050565b600060208201905081810360008301526134ab8184613458565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b600061350f602683612999565b915061351a826134b3565b604082019050919050565b6000602082019050818103600083015261353e81613502565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b60006135a1603783612999565b91506135ac82613545565b604082019050919050565b600060208201905081810360008301526135d081613594565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e000000000000000000000000000000000000602082015250565b6000613633602e83612999565b915061363e826135d7565b604082019050919050565b6000602082019050818103600083015261366281613626565b9050919050565b600061367482612bf5565b915061367f83612bf5565b925082820390508181111561369757613696612bc6565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a2646970667358221220ce25dd26737419727baaf3296d0861642400fd173299e708e7384026daae708164736f6c634300081100334c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465"; type DiamondConstructorParams = | [signer?: Signer] diff --git a/typings/factories/ECDSAExtendedLib__factory.ts b/typings/factories/ECDSAExtendedLib__factory.ts index 4d9c2476..2d8718ec 100644 --- a/typings/factories/ECDSAExtendedLib__factory.ts +++ b/typings/factories/ECDSAExtendedLib__factory.ts @@ -13,11 +13,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__29f5519d", + name: "c__edf8bcf6", type: "bytes8", }, ], - name: "c_29f5519d", + name: "c_edf8bcf6", outputs: [], stateMutability: "pure", type: "function", @@ -26,11 +26,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__29f5519d", + name: "c__edf8bcf6", type: "bytes8", }, ], - name: "c_false29f5519d", + name: "c_falseedf8bcf6", outputs: [ { internalType: "bool", @@ -45,11 +45,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__29f5519d", + name: "c__edf8bcf6", type: "bytes8", }, ], - name: "c_true29f5519d", + name: "c_trueedf8bcf6", outputs: [ { internalType: "bool", @@ -63,7 +63,7 @@ const _abi = [ ]; const _bytecode = - "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806359c7018614610050578063aba95d37146100af578063b1ccd792146100f8575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b60405180821515815260200191505060405180910390f35b6100f6600480360360208110156100c557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061015e565b005b61013f6004803603602081101561010e57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610161565b60405180821515815260200191505060405180910390f35b6000919050565b50565b60006001905091905056fea164736f6c634300060c000a"; + "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80636a44257214610050578063a96a1a66146100af578063bc92fe7d1461010e575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b60405180821515815260200191505060405180910390f35b6100f6600480360360208110156100c557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610162565b60405180821515815260200191505060405180910390f35b6101556004803603602081101561012457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610169565b005b600060019050919050565b6000919050565b5056fea164736f6c634300060c000a"; type ECDSAExtendedLibConstructorParams = | [signer?: Signer] diff --git a/typings/factories/ECDSALib__factory.ts b/typings/factories/ECDSALib__factory.ts index 3c40cb56..a0a0e657 100644 --- a/typings/factories/ECDSALib__factory.ts +++ b/typings/factories/ECDSALib__factory.ts @@ -10,11 +10,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__099dd06c", + name: "c__02f9a6b3", type: "bytes8", }, ], - name: "c_099dd06c", + name: "c_02f9a6b3", outputs: [], stateMutability: "pure", type: "function", @@ -23,11 +23,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__099dd06c", + name: "c__02f9a6b3", type: "bytes8", }, ], - name: "c_false099dd06c", + name: "c_false02f9a6b3", outputs: [ { internalType: "bool", @@ -42,11 +42,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__099dd06c", + name: "c__02f9a6b3", type: "bytes8", }, ], - name: "c_true099dd06c", + name: "c_true02f9a6b3", outputs: [ { internalType: "bool", @@ -60,7 +60,7 @@ const _abi = [ ]; const _bytecode = - "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806357d59bf0146100505780636a3bc913146100995780639a2d0f69146100f8575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b005b6100e0600480360360208110156100af57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061015a565b60405180821515815260200191505060405180910390f35b61013f6004803603602081101561010e57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610165565b60405180821515815260200191505060405180910390f35b50565b600060019050919050565b600091905056fea164736f6c634300060c000a"; + "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80631617e104146100505780631cefbfd8146100af578063a91793dd146100f8575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b60405180821515815260200191505060405180910390f35b6100f6600480360360208110156100c557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610162565b005b61013f6004803603602081101561010e57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610165565b60405180821515815260200191505060405180910390f35b600060019050919050565b50565b600091905056fea164736f6c634300060c000a"; type ECDSALibConstructorParams = | [signer?: Signer] diff --git a/typings/factories/ENSAbstractResolver__factory.ts b/typings/factories/ENSAbstractResolver__factory.ts index 6a11a2c3..4184033b 100644 --- a/typings/factories/ENSAbstractResolver__factory.ts +++ b/typings/factories/ENSAbstractResolver__factory.ts @@ -14,11 +14,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__8e2129aa", + name: "c__f395fef5", type: "bytes8", }, ], - name: "c_8e2129aa", + name: "c_f395fef5", outputs: [], stateMutability: "pure", type: "function", @@ -27,11 +27,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__8e2129aa", + name: "c__f395fef5", type: "bytes8", }, ], - name: "c_false8e2129aa", + name: "c_falsef395fef5", outputs: [ { internalType: "bool", @@ -46,11 +46,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__8e2129aa", + name: "c__f395fef5", type: "bytes8", }, ], - name: "c_true8e2129aa", + name: "c_truef395fef5", outputs: [ { internalType: "bool", diff --git a/typings/factories/ENSAddressResolver__factory.ts b/typings/factories/ENSAddressResolver__factory.ts index 45d6f914..dcf7d94c 100644 --- a/typings/factories/ENSAddressResolver__factory.ts +++ b/typings/factories/ENSAddressResolver__factory.ts @@ -97,6 +97,108 @@ const _abi = [ stateMutability: "view", type: "function", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__3f206a34", + type: "bytes8", + }, + ], + name: "c_3f206a34", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__f395fef5", + type: "bytes8", + }, + ], + name: "c_f395fef5", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__3f206a34", + type: "bytes8", + }, + ], + name: "c_false3f206a34", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__f395fef5", + type: "bytes8", + }, + ], + name: "c_falsef395fef5", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__3f206a34", + type: "bytes8", + }, + ], + name: "c_true3f206a34", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__f395fef5", + type: "bytes8", + }, + ], + name: "c_truef395fef5", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { diff --git a/typings/factories/ENSController__factory.ts b/typings/factories/ENSController__factory.ts index 79d10f15..fbb57fa1 100644 --- a/typings/factories/ENSController__factory.ts +++ b/typings/factories/ENSController__factory.ts @@ -295,6 +295,516 @@ const _abi = [ stateMutability: "view", type: "function", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_098c0657", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__0b6945c4", + type: "bytes8", + }, + ], + name: "c_0b6945c4", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__3f206a34", + type: "bytes8", + }, + ], + name: "c_3f206a34", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__52615ca8", + type: "bytes8", + }, + ], + name: "c_52615ca8", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__633abef9", + type: "bytes8", + }, + ], + name: "c_633abef9", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__6f06df17", + type: "bytes8", + }, + ], + name: "c_6f06df17", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__7ffc1d72", + type: "bytes8", + }, + ], + name: "c_7ffc1d72", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__8aa9670c", + type: "bytes8", + }, + ], + name: "c_8aa9670c", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d18be0f9", + type: "bytes8", + }, + ], + name: "c_d18be0f9", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__f395fef5", + type: "bytes8", + }, + ], + name: "c_f395fef5", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_false098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__0b6945c4", + type: "bytes8", + }, + ], + name: "c_false0b6945c4", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__3f206a34", + type: "bytes8", + }, + ], + name: "c_false3f206a34", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__52615ca8", + type: "bytes8", + }, + ], + name: "c_false52615ca8", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__633abef9", + type: "bytes8", + }, + ], + name: "c_false633abef9", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__6f06df17", + type: "bytes8", + }, + ], + name: "c_false6f06df17", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__7ffc1d72", + type: "bytes8", + }, + ], + name: "c_false7ffc1d72", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__8aa9670c", + type: "bytes8", + }, + ], + name: "c_false8aa9670c", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d18be0f9", + type: "bytes8", + }, + ], + name: "c_falsed18be0f9", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__f395fef5", + type: "bytes8", + }, + ], + name: "c_falsef395fef5", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_true098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__0b6945c4", + type: "bytes8", + }, + ], + name: "c_true0b6945c4", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__3f206a34", + type: "bytes8", + }, + ], + name: "c_true3f206a34", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__52615ca8", + type: "bytes8", + }, + ], + name: "c_true52615ca8", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__633abef9", + type: "bytes8", + }, + ], + name: "c_true633abef9", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__6f06df17", + type: "bytes8", + }, + ], + name: "c_true6f06df17", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__7ffc1d72", + type: "bytes8", + }, + ], + name: "c_true7ffc1d72", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__8aa9670c", + type: "bytes8", + }, + ], + name: "c_true8aa9670c", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d18be0f9", + type: "bytes8", + }, + ], + name: "c_trued18be0f9", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__f395fef5", + type: "bytes8", + }, + ], + name: "c_truef395fef5", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [], name: "chainId", @@ -763,7 +1273,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b5032600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600046905080600281905550506149798061006e6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806371404156116100f9578063a91ee0dc11610097578063d0f710d611610071578063d0f710d614610512578063d5fa2b0014610542578063dc5b68a61461055e578063f1cb7e061461057a576101c4565b8063a91ee0dc146104a9578063c8690233146104c5578063c8cc2aee146104f6576101c4565b80637d0e0e7e116100d35780637d0e0e7e146104375780638b95dd71146104535780639a8a05921461046f578063a526d83b1461048d576101c4565b806371404156146103e157806377372213146103fd5780637b10399914610419576101c4565b8063392e53cd1161016657806355800f871161014057806355800f871461033557806359d1d43c14610351578063691f3431146103815780636df0cf42146103b1576101c4565b8063392e53cd146102cb5780633b3b57de146102e957806346386f7314610319576101c4565b8063116191b6116101a2578063116191b6146102455780631b3cd1421461026357806329ae6a7e1461029357806329cd62ea146102af576101c4565b806301ffc9a7146101c95780630c68ba21146101f957806310f13a8c14610229575b600080fd5b6101e360048036038101906101de91906133b4565b6105aa565b6040516101f091906141bc565b60405180910390f35b610213600480360381019061020e9190613066565b610834565b60405161022091906141bc565b60405180910390f35b610243600480360381019061023e9190613288565b610889565b005b61024d61096d565b60405161025a919061415d565b60405180910390f35b61027d600480360381019061027891906130b8565b610993565b60405161028a919061415d565b60405180910390f35b6102ad60048036038101906102a891906130b8565b6109c6565b005b6102c960048036038101906102c4919061311d565b610beb565b005b6102d3610cb3565b6040516102e091906141bc565b60405180910390f35b61030360048036038101906102fe91906130b8565b610d0b565b604051610310919061415d565b60405180910390f35b610333600480360381019061032e919061316c565b610d1d565b005b61034f600480360381019061034a91906130b8565b611017565b005b61036b60048036038101906103669190613230565b6112d8565b604051610378919061433d565b60405180910390f35b61039b600480360381019061039691906130b8565b6113ad565b6040516103a8919061433d565b60405180910390f35b6103cb60048036038101906103c69190613472565b611462565b6040516103d891906141d7565b60405180910390f35b6103fb60048036038101906103f69190613066565b611482565b005b61041760048036038101906104129190613230565b61169a565b005b610421611746565b60405161042e91906142fe565b60405180910390f35b610451600480360381019061044c91906130b8565b61176c565b005b61046d6004803603810190610468919061334d565b611a38565b005b610477611a92565b604051610484919061461f565b60405180910390f35b6104a760048036038101906104a29190613066565b611a98565b005b6104c360048036038101906104be91906133dd565b611b2f565b005b6104df60048036038101906104da91906130b8565b611d58565b6040516104ed92919061421b565b60405180910390f35b610510600480360381019061050b91906130b8565b611d92565b005b61052c600480360381019061052791906131d8565b6120a2565b60405161053991906141bc565b60405180910390f35b61055c600480360381019061055791906130e1565b6120fb565b005b61057860048036038101906105739190613406565b612153565b005b610594600480360381019061058f9190613311565b612366565b6040516105a191906142dc565b60405180910390f35b60006040516020016105bb9061406f565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061067d5750604051602001610626906140aa565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806106e95750604051602001610692906140fe565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061075557506040516020016106fe906140d4565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806107c1575060405160200161076a906140e9565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061082d57506040516020016107d6906140bf565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b846108938161242d565b6108d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c9906145df565b60405180910390fd5b82826007600089815260200190815260200160002087876040516108f7929190614056565b90815260200160405180910390209190610912929190612d39565b508484604051610923929190614056565b6040518091039020867fd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550878760405161095d929190614319565b60405180910390a3505050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60096020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006109d0612516565b90503073ffffffffffffffffffffffffffffffffffffffff166109f283612527565b73ffffffffffffffffffffffffffffffffffffffff1614610a48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3f9061443f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae09061437f565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c383836040518363ffffffff1660e01b8152600401610b469291906141f2565b600060405180830381600087803b158015610b6057600080fd5b505af1158015610b74573d6000803e3d6000fd5b505050506009600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557f7803a16d95f9ca635bdec561006625e7444d8a9f8463866643cc03af011779d38282604051610bdf9291906141f2565b60405180910390a15050565b82610bf58161242d565b610c34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2b906145df565b60405180910390fd5b604051806040016040528084815260200183815250600660008681526020019081526020016000206000820151816000015560208201518160010155905050837f1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e468484604051610ca592919061421b565b60405180910390a250505050565b60008073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b6000610d1682612527565b9050919050565b6000610d27612516565b90506000610d3682878761260c565b9050610d868185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612664565b610dc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbc9061439f565b60405180910390fd5b60008686604051602001610dda92919061402a565b6040516020818303038152906040528051906020012090503073ffffffffffffffffffffffffffffffffffffffff16610e1288612527565b73ffffffffffffffffffffffffffffffffffffffff1614610e68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5f9061441f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16610e8982612527565b73ffffffffffffffffffffffffffffffffffffffff1614610edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed6906143bf565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635ef2c7f08888303060006040518663ffffffff1660e01b8152600401610f43959493929190614244565b600060405180830381600087803b158015610f5d57600080fd5b505af1158015610f71573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c382856040518363ffffffff1660e01b8152600401610fd29291906141f2565b600060405180830381600087803b158015610fec57600080fd5b505af1158015611000573d6000803e3d6000fd5b5050505061100e81846126d1565b50505050505050565b6000611021612516565b9050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b815260040161107e91906141d7565b60206040518083038186803b15801561109657600080fd5b505afa1580156110aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ce919061308f565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461113b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111329061447f565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf846040518263ffffffff1660e01b81526004016111ad91906141d7565b60206040518083038186803b1580156111c557600080fd5b505afa1580156111d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111fd919061308f565b73ffffffffffffffffffffffffffffffffffffffff1614611253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124a9061435f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1661127483612527565b73ffffffffffffffffffffffffffffffffffffffff16146112ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c19061451f565b60405180910390fd5b6112d482826126d1565b5050565b60606007600085815260200190815260200160002083836040516112fd929190614056565b90815260200160405180910390208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561139f5780601f106113745761010080835404028352916020019161139f565b820191906000526020600020905b81548152906001019060200180831161138257829003601f168201915b505050505090509392505050565b6060600560008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114565780601f1061142b57610100808354040283529160200191611456565b820191906000526020600020905b81548152906001019060200180831161143957829003601f168201915b50505050509050919050565b600061147b82600001518360200151846040015161260c565b9050919050565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661150d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115049061449f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141561157c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115739061459f565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fe9061453f565b60405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b328260405161168f929190614193565b60405180910390a150565b826116a48161242d565b6116e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116da906145df565b60405180910390fd5b8282600560008781526020019081526020016000209190611705929190612d39565b50837fb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f78484604051611738929190614319565b60405180910390a250505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611776612516565b9050600073ffffffffffffffffffffffffffffffffffffffff1661179983612527565b73ffffffffffffffffffffffffffffffffffffffff16146117ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e6906144ff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611891576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611888906144df565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b815260040161190391906141d7565b60206040518083038186803b15801561191b57600080fd5b505afa15801561192f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611953919061308f565b73ffffffffffffffffffffffffffffffffffffffff16146119a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a09061455f565b60405180910390fd5b806009600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fc1e082a8c26f27c26e1bf5d0ce7ddd579ec7f6d7eb3ea90d8abd6c40991bae368282604051611a2c9291906141f2565b60405180910390a15050565b82611a428161242d565b611a81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a78906145df565b60405180910390fd5b611a8c8484846126e9565b50505050565b60025481565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611b23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1a9061449f565b60405180910390fd5b611b2c816127ab565b50565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611bba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb19061449f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611c2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c21906144bf565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611cbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb2906145ff565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdb0239c63d4033dcdd21bd44f8dd479a03efbae12f6bbe27c0a5f923d26514cc600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051611d4d919061415d565b60405180910390a150565b6000806006600084815260200190815260200160002060000154600660008581526020019081526020016000206001015491509150915091565b6000611d9c612516565b9050600073ffffffffffffffffffffffffffffffffffffffff16611dbf83612527565b73ffffffffffffffffffffffffffffffffffffffff1614611e15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0c906144ff565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611eb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ead9061437f565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b8152600401611f2891906141d7565b60206040518083038186803b158015611f4057600080fd5b505afa158015611f54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f78919061308f565b73ffffffffffffffffffffffffffffffffffffffff1614611fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc59061455f565b60405180910390fd5b611fd882306126d1565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a83306040518363ffffffff1660e01b81526004016120359291906141f2565b600060405180830381600087803b15801561204f57600080fd5b505af1158015612063573d6000803e3d6000fd5b505050507fcefbe9dbadcf675eef14e23810996ff38541fc26b4dd77cd6724b0eedc96f2008260405161209691906141d7565b60405180910390a15050565b60006120f28484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612664565b90509392505050565b816121058161242d565b612144576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213b906145df565b60405180910390fd5b61214e83836126d1565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146121e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121da906143ff565b60405180910390fd5b6000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228c906144bf565b60405180910390fd5b83600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612320838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505061293a565b61232981612992565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e6326040516123589190614178565b60405180910390a150505050565b60606004600084815260200190815260200160002060008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156124205780601f106123f557610100808354040283529160200191612420565b820191906000526020600020905b81548152906001019060200180831161240357829003601f168201915b5050505050905092915050565b6000612437612516565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b81526004016124a891906141d7565b60206040518083038186803b1580156124c057600080fd5b505afa1580156124d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124f8919061308f565b73ffffffffffffffffffffffffffffffffffffffff16149050919050565b600061252260286129d6565b905090565b6000806060600460008581526020019081526020016000206000603c81526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156125e55780601f106125ba576101008083540402835291602001916125e5565b820191906000526020600020905b8154815290600101906020018083116125c857829003601f168201915b50505050509050600081511115612602576125ff81612a6b565b91505b8192505050919050565b600061265b7f621363c539a3aa1024c8837ca1dc095db03b7f9512b3a95ecb429aae7fd953ed85858560405160200161264793929190613fed565b604051602081830303815290604052612a93565b90509392505050565b60008061267a8385612ad490919063ffffffff16565b90506000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b6126e582603c6126e084612b8f565b6126e9565b5050565b827f65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752838360405161271b92919061463a565b60405180910390a2603c82141561276d57827f52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd261275783612a6b565b6040516127649190614178565b60405180910390a25b8060046000858152602001908152602001600020600084815260200190815260200160002090805190602001906127a5929190612db9565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561281b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612812906143df565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156128a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289e9061457f565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a328260405161292f929190614193565b60405180910390a150565b6000815114156129525761294d326127ab565b61298f565b60008151905060005b8181101561298c5761297f83828151811061297257fe5b60200260200101516127ab565b808060010191505061295b565b50505b50565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600090506129e5612bf6565b15612a5e576000836000369050039050612a5660003683906014850192612a0e93929190614711565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612ca3565b915050612a62565b3390505b80915050919050565b6000806014835114612a7c57600080fd5b600c6101000a602084015104905080915050919050565b6000612acc600254308585604051602001612ab19493929190614113565b60405160208183030381529060405280519060200120612d09565b905092915050565b60008060009050604183511415612b855760008060006020860151925060408601519150606086015160001a9050601b8160ff161015612b1557601b810190505b601b8160ff161480612b2a5750601c8160ff16145b15612b815760018782858560405160008152602001604052604051612b529493929190614297565b6020604051602081039080840390855afa158015612b74573d6000803e3d6000fd5b5050506020604051035193505b5050505b8091505092915050565b606080601467ffffffffffffffff81118015612baa57600080fd5b506040519080825280601f01601f191660200182016040528015612bdd5781602001600182028036833780820191505090505b509050600c6101000a8302602082015280915050919050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612c9c57602c60003690501015612c97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c8e9061445f565b60405180910390fd5b600190505b8091505090565b6000806014835114612cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ce1906145bf565b60405180910390fd5b6c01000000000000000000000000602084015104905080915050919050565b600081604051602001612d1c9190614084565b604051602081830303815290604052805190602001209050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612d7a57803560ff1916838001178555612da8565b82800160010185558215612da8579182015b82811115612da7578235825591602001919060010190612d8c565b5b509050612db59190612e39565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612dfa57805160ff1916838001178555612e28565b82800160010185558215612e28579182015b82811115612e27578251825591602001919060010190612e0c565b5b509050612e359190612e39565b5090565b5b80821115612e52576000816000905550600101612e3a565b5090565b600081359050612e65816148f9565b92915050565b600081519050612e7a816148f9565b92915050565b60008083601f840112612e9257600080fd5b8235905067ffffffffffffffff811115612eab57600080fd5b602083019150836020820283011115612ec357600080fd5b9250929050565b600081359050612ed981614910565b92915050565b600081359050612eee81614927565b92915050565b60008083601f840112612f0657600080fd5b8235905067ffffffffffffffff811115612f1f57600080fd5b602083019150836001820283011115612f3757600080fd5b9250929050565b600082601f830112612f4f57600080fd5b8135612f62612f5d82614697565b61466a565b91508082526020830160208301858383011115612f7e57600080fd5b612f89838284614861565b50505092915050565b600081359050612fa18161493e565b92915050565b60008083601f840112612fb957600080fd5b8235905067ffffffffffffffff811115612fd257600080fd5b602083019150836001820283011115612fea57600080fd5b9250929050565b60006060828403121561300357600080fd5b61300d606061466a565b9050600061301d84828501612e56565b600083015250602061303184828501612eca565b602083015250604061304584828501612eca565b60408301525092915050565b60008135905061306081614955565b92915050565b60006020828403121561307857600080fd5b600061308684828501612e56565b91505092915050565b6000602082840312156130a157600080fd5b60006130af84828501612e6b565b91505092915050565b6000602082840312156130ca57600080fd5b60006130d884828501612eca565b91505092915050565b600080604083850312156130f457600080fd5b600061310285828601612eca565b925050602061311385828601612e56565b9150509250929050565b60008060006060848603121561313257600080fd5b600061314086828701612eca565b935050602061315186828701612eca565b925050604061316286828701612eca565b9150509250925092565b6000806000806060858703121561318257600080fd5b600061319087828801612eca565b94505060206131a187828801612eca565b935050604085013567ffffffffffffffff8111156131be57600080fd5b6131ca87828801612ef4565b925092505092959194509250565b6000806000604084860312156131ed57600080fd5b60006131fb86828701612eca565b935050602084013567ffffffffffffffff81111561321857600080fd5b61322486828701612ef4565b92509250509250925092565b60008060006040848603121561324557600080fd5b600061325386828701612eca565b935050602084013567ffffffffffffffff81111561327057600080fd5b61327c86828701612fa7565b92509250509250925092565b6000806000806000606086880312156132a057600080fd5b60006132ae88828901612eca565b955050602086013567ffffffffffffffff8111156132cb57600080fd5b6132d788828901612fa7565b9450945050604086013567ffffffffffffffff8111156132f657600080fd5b61330288828901612fa7565b92509250509295509295909350565b6000806040838503121561332457600080fd5b600061333285828601612eca565b925050602061334385828601613051565b9150509250929050565b60008060006060848603121561336257600080fd5b600061337086828701612eca565b935050602061338186828701613051565b925050604084013567ffffffffffffffff81111561339e57600080fd5b6133aa86828701612f3e565b9150509250925092565b6000602082840312156133c657600080fd5b60006133d484828501612edf565b91505092915050565b6000602082840312156133ef57600080fd5b60006133fd84828501612f92565b91505092915050565b6000806000806060858703121561341c57600080fd5b600061342a87828801612f92565b945050602085013567ffffffffffffffff81111561344757600080fd5b61345387828801612e80565b9350935050604061346687828801612e56565b91505092959194509250565b60006060828403121561348457600080fd5b600061349284828501612ff1565b91505092915050565b6134a4816147f5565b82525050565b6134b381614744565b82525050565b6134ca6134c582614744565b6148a3565b82525050565b6134d981614756565b82525050565b6134e881614762565b82525050565b6134ff6134fa82614762565b6148b5565b82525050565b6000613510826146c3565b61351a81856146d9565b935061352a818560208601614870565b613533816148db565b840191505092915050565b6000613549826146c3565b61355381856146ea565b9350613563818560208601614870565b80840191505092915050565b61357881614807565b82525050565b6135878161482b565b82525050565b600061359983856146f5565b93506135a6838584614861565b6135af836148db565b840190509392505050565b60006135c68385614706565b93506135d3838584614861565b82840190509392505050565b60006135ea826146ce565b6135f481856146f5565b9350613604818560208601614870565b61360d816148db565b840191505092915050565b6000613625601983614706565b91507f737570706f727473496e746572666163652862797465733429000000000000006000830152601982019050919050565b60006136656024836146f5565b91507f454e53436f6e74726f6c6c65723a20696e76616c6964206e6f6465207265736f60008301527f6c766572000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006136cb6021836146f5565b91507f454e53436f6e74726f6c6c65723a20696e76616c6964206e6f6465206f776e6560008301527f72000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006137316029836146f5565b91507f454e53436f6e74726f6c6c65723a20696e76616c696420677561726469616e2060008301527f7369676e617475726500000000000000000000000000000000000000000000006020830152604082019050919050565b60006137976022836146f5565b91507f454e53436f6e74726f6c6c65723a206c6162656c20616c72656164792074616b60008301527f656e0000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006137fd601c83614706565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b600061383d6020836146f5565b91507f477561726465643a2063616e6e6f74206164642030783020677561726469616e6000830152602082019050919050565b600061387d602f836146f5565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b60006138e3600d83614706565b91507f61646472286279746573333229000000000000000000000000000000000000006000830152600d82019050919050565b6000613923601b836146f5565b91507f454e53436f6e74726f6c6c65723a20696e76616c6964206e6f646500000000006000830152602082019050919050565b60006139636021836146f5565b91507f454e53436f6e74726f6c6c65723a206e6f646520646f65736e2774206578697360008301527f74000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006139c96022836146f5565b91507f47617465776179526563697069656e743a20696e76616c6964206d73672e646160008301527f74610000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613a2f601483614706565b91507f7465787428627974657333322c737472696e67290000000000000000000000006000830152601482019050919050565b6000613a6f600d83614706565b91507f6e616d65286279746573333229000000000000000000000000000000000000006000830152600d82019050919050565b6000613aaf602b836146f5565b91507f454e53436f6e74726f6c6c65723a2063616c6c6572206973206e6f742074686560008301527f206e6f6465206f776e65720000000000000000000000000000000000000000006020830152604082019050919050565b6000613b156026836146f5565b91507f477561726465643a2074782e6f726967696e206973206e6f742074686520677560008301527f61726469616e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613b7b6026836146f5565b91507f454e53436f6e74726f6c6c65723a2063616e6e6f74207365742030783020726560008301527f67697374727900000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613be16025836146f5565b91507f454e53436f6e74726f6c6c65723a206e6f646520616c7265616479207375626d60008301527f69747465640000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613c47600f83614706565b91507f7075626b657928627974657333322900000000000000000000000000000000006000830152600f82019050919050565b6000613c876022836146f5565b91507f454e53436f6e74726f6c6c65723a206e6f646520616c7265616479206578697360008301527f74730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613ced6023836146f5565b91507f454e53436f6e74726f6c6c65723a206e6f646520616c726561647920696e207360008301527f796e6300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613d53601f836146f5565b91507f477561726465643a20677561726469616e20646f65736e2774206578697374006000830152602082019050919050565b6000613d936025836146f5565b91507f454e53436f6e74726f6c6c65723a20696e76616c696420656e73206e6f64652060008301527f6f776e65720000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613df96020836146f5565b91507f477561726465643a20677561726469616e20616c7265616479206578697374736000830152602082019050919050565b6000613e39601b836146f5565b91507f477561726465643a2063616e6e6f742072656d6f76652073656c6600000000006000830152602082019050919050565b6000613e79601d836146f5565b91507f42797465734c69623a20696e76616c69642064617461206c656e6774680000006000830152602082019050919050565b6000613eb96037836146f5565b91507f454e5341627374726163745265736f6c7665723a20726576657274656420627960008301527f206f6e6c794e6f64654f776e6572206d6f6469666965720000000000000000006020830152604082019050919050565b6000613f1f601283614706565b91507f6164647228627974657333322c75696e742900000000000000000000000000006000830152601282019050919050565b6000613f5f6023836146f5565b91507f454e53436f6e74726f6c6c65723a20726567697374727920616c72656164792060008301527f73657400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b613fc1816147ca565b82525050565b613fd8613fd3826147ca565b6148d1565b82525050565b613fe7816147e8565b82525050565b6000613ff982866134b9565b60148201915061400982856134ee565b60208201915061401982846134ee565b602082019150819050949350505050565b600061403682856134ee565b60208201915061404682846134ee565b6020820191508190509392505050565b60006140638284866135ba565b91508190509392505050565b600061407a82613618565b9150819050919050565b600061408f826137f0565b915061409b82846134ee565b60208201915081905092915050565b60006140b5826138d6565b9150819050919050565b60006140ca82613a22565b9150819050919050565b60006140df82613a62565b9150819050919050565b60006140f482613c3a565b9150819050919050565b600061410982613f12565b9150819050919050565b600061411f8287613fc7565b60208201915061412f82866134b9565b60148201915061413f82856134ee565b60208201915061414f828461353e565b915081905095945050505050565b600060208201905061417260008301846134aa565b92915050565b600060208201905061418d600083018461349b565b92915050565b60006040820190506141a8600083018561349b565b6141b560208301846134aa565b9392505050565b60006020820190506141d160008301846134d0565b92915050565b60006020820190506141ec60008301846134df565b92915050565b600060408201905061420760008301856134df565b61421460208301846134aa565b9392505050565b600060408201905061423060008301856134df565b61423d60208301846134df565b9392505050565b600060a08201905061425960008301886134df565b61426660208301876134df565b61427360408301866134aa565b61428060608301856134aa565b61428d608083018461357e565b9695505050505050565b60006080820190506142ac60008301876134df565b6142b96020830186613fde565b6142c660408301856134df565b6142d360608301846134df565b95945050505050565b600060208201905081810360008301526142f68184613505565b905092915050565b6000602082019050614313600083018461356f565b92915050565b6000602082019050818103600083015261433481848661358d565b90509392505050565b6000602082019050818103600083015261435781846135df565b905092915050565b6000602082019050818103600083015261437881613658565b9050919050565b60006020820190508181036000830152614398816136be565b9050919050565b600060208201905081810360008301526143b881613724565b9050919050565b600060208201905081810360008301526143d88161378a565b9050919050565b600060208201905081810360008301526143f881613830565b9050919050565b6000602082019050818103600083015261441881613870565b9050919050565b6000602082019050818103600083015261443881613916565b9050919050565b6000602082019050818103600083015261445881613956565b9050919050565b60006020820190508181036000830152614478816139bc565b9050919050565b6000602082019050818103600083015261449881613aa2565b9050919050565b600060208201905081810360008301526144b881613b08565b9050919050565b600060208201905081810360008301526144d881613b6e565b9050919050565b600060208201905081810360008301526144f881613bd4565b9050919050565b6000602082019050818103600083015261451881613c7a565b9050919050565b6000602082019050818103600083015261453881613ce0565b9050919050565b6000602082019050818103600083015261455881613d46565b9050919050565b6000602082019050818103600083015261457881613d86565b9050919050565b6000602082019050818103600083015261459881613dec565b9050919050565b600060208201905081810360008301526145b881613e2c565b9050919050565b600060208201905081810360008301526145d881613e6c565b9050919050565b600060208201905081810360008301526145f881613eac565b9050919050565b6000602082019050818103600083015261461881613f52565b9050919050565b60006020820190506146346000830184613fb8565b92915050565b600060408201905061464f6000830185613fb8565b81810360208301526146618184613505565b90509392505050565b6000604051905081810181811067ffffffffffffffff8211171561468d57600080fd5b8060405250919050565b600067ffffffffffffffff8211156146ae57600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000808585111561472157600080fd5b8386111561472e57600080fd5b6001850283019150848603905094509492505050565b600061474f826147aa565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60006147a382614744565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b60006148008261483d565b9050919050565b600061481282614819565b9050919050565b6000614824826147aa565b9050919050565b6000614836826147d4565b9050919050565b60006148488261484f565b9050919050565b600061485a826147aa565b9050919050565b82818337600083830152505050565b60005b8381101561488e578082015181840152602081019050614873565b8381111561489d576000848401525b50505050565b60006148ae826148bf565b9050919050565b6000819050919050565b60006148ca826148ec565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b61490281614744565b811461490d57600080fd5b50565b61491981614762565b811461492457600080fd5b50565b6149308161476c565b811461493b57600080fd5b50565b61494781614798565b811461495257600080fd5b50565b61495e816147ca565b811461496957600080fd5b5056fea164736f6c634300060c000a"; + "0x60806040523480156200001157600080fd5b506200002e67e6ad6dd6ee73072860c01b6200017e60201b60201c565b6200004a67bcc9be562f8a4b0a60c01b6200018160201b60201c565b6200006667579ae7209daca85260c01b6200018160201b60201c565b32600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000c3676b19898ae2f7725060c01b6200018460201b60201c565b620000df677c2d0c907f0deddc60c01b6200018460201b60201c565b620000fb67f0d1a438b0305bb160c01b6200018460201b60201c565b6000620001196737bb5abaf3e7d9d360c01b6200018460201b60201c565b46905062000138676f86a9c0c67bb39a60c01b6200018460201b60201c565b80600281905550506200015c674f33f857671bcade60c01b6200018760201b60201c565b62000178671b8a8de85538aaee60c01b6200018a60201b60201c565b6200018d565b50565b50565b50565b50565b50565b6172ce806200019d6000396000f3fe608060405234801561001057600080fd5b506004361061038e5760003560e01c80638b95dd71116101de578063bdbafb451161010f578063dc5b68a6116100ad578063ee5fac3c1161007c578063ee5fac3c14610ba0578063f0af072114610bd0578063f1cb7e0614610bec578063f446529f14610c1c5761038e565b8063dc5b68a614610b1c578063dce3f9a414610b38578063e89f764b14610b54578063ebaa653314610b845761038e565b8063c8cc2aee116100e9578063c8cc2aee14610a84578063d0f710d614610aa0578063d5fa2b0014610ad0578063d84fa10c14610aec5761038e565b8063bdbafb4514610a07578063c454330514610a23578063c869023314610a535761038e565b8063a6f8c64a1161017c578063b94f144811610156578063b94f14481461096f578063bccb31c61461099f578063bcd48364146109bb578063bd1313ce146109d75761038e565b8063a6f8c64a14610907578063a91ee0dc14610923578063ae1a7ece1461093f5761038e565b80639adf1043116101b85780639adf10431461085b5780639f106f7e1461088b578063a3561e69146108bb578063a526d83b146108eb5761038e565b80638b95dd71146107f1578063969faf5b1461080d5780639a8a05921461083d5761038e565b80633b3b57de116102c3578063691f3431116102615780637737221311610230578063773722131461077f5780637b1039991461079b5780637d0e0e7e146107b95780638034cda0146107d55761038e565b8063691f3431146106d3578063692b0ad9146107035780636df0cf421461073357806371404156146107635761038e565b80635016492e1161029d5780635016492e1461062757806355800f871461065757806359d1d43c1461067357806361f6df1e146106a35761038e565b80633b3b57de146105bf5780633e260b13146105ef57806346386f731461060b5761038e565b80631b3cd1421161033057806329cd62ea1161030a57806329cd62ea1461052557806329fbd957146105415780632c4bbae614610571578063392e53cd146105a15761038e565b80631b3cd142146104bd578063279a5039146104ed57806329ae6a7e146105095761038e565b80630c68ba211161036c5780630c68ba21146104235780630feb61e61461045357806310f13a8c14610483578063116191b61461049f5761038e565b806301ffc9a71461039357806306554924146103c35780630c67003a146103f3575b600080fd5b6103ad60048036038101906103a89190615c9d565b610c4c565b6040516103ba9190616ace565b60405180910390f35b6103dd60048036038101906103d89190615cc6565b61102a565b6040516103ea9190616ace565b60405180910390f35b61040d60048036038101906104089190615cc6565b611035565b60405161041a9190616ace565b60405180910390f35b61043d6004803603810190610438919061594f565b61103c565b60405161044a9190616ace565b60405180910390f35b61046d60048036038101906104689190615cc6565b6110cd565b60405161047a9190616ace565b60405180910390f35b61049d60048036038101906104989190615b71565b6110d8565b005b6104a76112ac565b6040516104b49190616a6f565b60405180910390f35b6104d760048036038101906104d291906159a1565b6112d2565b6040516104e49190616a6f565b60405180910390f35b61050760048036038101906105029190615cc6565b611305565b005b610523600480360381019061051e91906159a1565b611308565b005b61053f600480360381019061053a9190615a06565b61166d565b005b61055b60048036038101906105569190615cc6565b611825565b6040516105689190616ace565b60405180910390f35b61058b60048036038101906105869190615cc6565b611830565b6040516105989190616ace565b60405180910390f35b6105a9611837565b6040516105b69190616ace565b60405180910390f35b6105d960048036038101906105d491906159a1565b6118cc565b6040516105e69190616a6f565b60405180910390f35b61060960048036038101906106049190615cc6565b61191a565b005b61062560048036038101906106209190615a55565b61191d565b005b610641600480360381019061063c9190615cc6565b611e0b565b60405161064e9190616ace565b60405180910390f35b610671600480360381019061066c91906159a1565b611e16565b005b61068d60048036038101906106889190615b19565b61222b565b60405161069a9190616c4f565b60405180910390f35b6106bd60048036038101906106b89190615cc6565b61233c565b6040516106ca9190616ace565b60405180910390f35b6106ed60048036038101906106e891906159a1565b612347565b6040516106fa9190616c4f565b60405180910390f35b61071d60048036038101906107189190615cc6565b612438565b60405161072a9190616ace565b60405180910390f35b61074d60048036038101906107489190615d84565b61243f565b60405161075a9190616ae9565b60405180910390f35b61077d6004803603810190610778919061594f565b61249b565b005b61079960048036038101906107949190615b19565b612843565b005b6107a36129df565b6040516107b09190616c10565b60405180910390f35b6107d360048036038101906107ce91906159a1565b612a05565b005b6107ef60048036038101906107ea9190615cc6565b612e38565b005b61080b60048036038101906108069190615c36565b612e3b565b005b61082760048036038101906108229190615cc6565b612f71565b6040516108349190616ace565b60405180910390f35b610845612f78565b6040516108529190616f31565b60405180910390f35b61087560048036038101906108709190615cc6565b612f7e565b6040516108829190616ace565b60405180910390f35b6108a560048036038101906108a09190615cc6565b612f89565b6040516108b29190616ace565b60405180910390f35b6108d560048036038101906108d09190615cc6565b612f94565b6040516108e29190616ace565b60405180910390f35b6109056004803603810190610900919061594f565b612f9b565b005b610921600480360381019061091c9190615cc6565b61310e565b005b61093d60048036038101906109389190615cef565b613111565b005b61095960048036038101906109549190615cc6565b6134ca565b6040516109669190616ace565b60405180910390f35b61098960048036038101906109849190615cc6565b6134d5565b6040516109969190616ace565b60405180910390f35b6109b960048036038101906109b49190615cc6565b6134dc565b005b6109d560048036038101906109d09190615cc6565b6134df565b005b6109f160048036038101906109ec9190615cc6565b6134e2565b6040516109fe9190616ace565b60405180910390f35b610a216004803603810190610a1c9190615cc6565b6134e9565b005b610a3d6004803603810190610a389190615cc6565b6134ec565b604051610a4a9190616ace565b60405180910390f35b610a6d6004803603810190610a6891906159a1565b6134f7565b604051610a7b929190616b2d565b60405180910390f35b610a9e6004803603810190610a9991906159a1565b61356d565b005b610aba6004803603810190610ab59190615ac1565b613a21565b604051610ac79190616ace565b60405180910390f35b610aea6004803603810190610ae591906159ca565b613ab6565b005b610b066004803603810190610b019190615cc6565b613bea565b604051610b139190616ace565b60405180910390f35b610b366004803603810190610b319190615d18565b613bf1565b005b610b526004803603810190610b4d9190615cc6565b613fa8565b005b610b6e6004803603810190610b699190615cc6565b613fab565b604051610b7b9190616ace565b60405180910390f35b610b9e6004803603810190610b999190615cc6565b613fb2565b005b610bba6004803603810190610bb59190615cc6565b613fb5565b604051610bc79190616ace565b60405180910390f35b610bea6004803603810190610be59190615cc6565b613fbc565b005b610c066004803603810190610c019190615bfa565b613fbf565b604051610c139190616bee565b60405180910390f35b610c366004803603810190610c319190615cc6565b6140c2565b604051610c439190616ace565b60405180910390f35b6000610c62673e53c3a719fdfb6160c01b6134e9565b610c766729ef8ce42af619b060c01b6134e9565b610c8a672ce96fd6ab276e0c60c01b6134e9565b604051602001610c9990616981565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148015610d0b5750610d0a670fbe9824db25179a60c01b611e0b565b5b80610daf5750604051602001610d20906169bc565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148015610d925750610d916727b7c81d07ae1edf60c01b611e0b565b5b8015610dae5750610dad674c643504008914e460c01b611e0b565b5b5b80610e535750604051602001610dc490616a10565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148015610e365750610e3567cd525a4cca4f34a860c01b611e0b565b5b8015610e525750610e516788cd2a17224750ec60c01b611e0b565b5b5b80610ef75750604051602001610e68906169e6565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148015610eda5750610ed9672a0e61e84c067a0a60c01b611e0b565b5b8015610ef65750610ef567502d2e13e9277dcb60c01b611e0b565b5b5b80610f9b5750604051602001610f0c906169fb565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148015610f7e5750610f7d678a100a7067c528eb60c01b611e0b565b5b8015610f9a5750610f996711799455275f223260c01b611e0b565b5b5b806110235750604051602001610fb0906169d1565b604051602081830303815290604052805190602001207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614801561102257506110216784e3fa8f14ba5fc860c01b611e0b565b5b5b9050919050565b600060019050919050565b6000919050565b6000611052677ab52c65f999e01f60c01b6134dc565b6110666710268b7b424a1bd560c01b6134dc565b61107a6713a157f311059a7b60c01b6134dc565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600060019050919050565b6110ec67d251b3372a0cf47960c01b611305565b8461110167a8597772f581907360c01b613fb2565b611115676495766894d148d260c01b613fb2565b61112967c1da93cd693904fb60c01b613fb2565b61113d6711ce0725ac60101860c01b613fb2565b611146816140cd565b611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c90616ef1565b60405180910390fd5b611199678748427beee9a41560c01b613fb2565b6111ad679dcf59ae2b3dc50860c01b613fb2565b6111c167591792e78ec2f65760c01b611305565b6111d5676669726c18307e5e60c01b611305565b6111e967cae1031985aa218360c01b611305565b828260076000898152602001908152602001600020878760405161120e929190616968565b9081526020016040518091039020919061122992919061560d565b5061123e674e2633545fafa32260c01b611305565b611252675f78468e1dde38a460c01b611305565b8484604051611262929190616968565b6040518091039020867fd8c9334b1a9c2f9da342a0a2b32629c1a229b6445dad78947f674b44444a7550878760405161129c929190616c2b565b60405180910390a3505050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60096020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b50565b61131c6732f0fd9a837cb8ae60c01b6134e9565b61133067ccef01e2549de0f160c01b6134e9565b61134467351df6a73de5ed1f60c01b6134e9565b600061134e6141f2565b905061136467bc87442f68ba4e8560c01b6134e9565b61137867c1f6c1e5fb99a06a60c01b6134e9565b61138c67a01e251f792e923e60c01b6134e9565b3073ffffffffffffffffffffffffffffffffffffffff166113ac8361423f565b73ffffffffffffffffffffffffffffffffffffffff1614611402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f990616d51565b60405180910390fd5b61141667d97611c48588e50960c01b6134e9565b61142a67915426252a0e5af260c01b6134e9565b61143e673d4f611e5bcfec5160c01b6134e9565b61145267f5c32e9e304a40ae60c01b6134e9565b8073ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ea90616c91565b60405180910390fd5b6115076757ad1b22f297e47460c01b6134e9565b61151b672518daaccd90e99d60c01b6134e9565b61152f67531efb0041a679c960c01b6134e9565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c383836040518363ffffffff1660e01b815260040161158c929190616b04565b600060405180830381600087803b1580156115a657600080fd5b505af11580156115ba573d6000803e3d6000fd5b505050506115d267c7d84d1a497d278660c01b6134e9565b6009600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905561161c67b9e9f636ac14f30e60c01b6134e9565b61163067e55674422ce28fc360c01b6134e9565b7f7803a16d95f9ca635bdec561006625e7444d8a9f8463866643cc03af011779d38282604051611661929190616b04565b60405180910390a15050565b61168167d17efb0a7eb6908260c01b61310e565b8261169667a8597772f581907360c01b613fb2565b6116aa676495766894d148d260c01b613fb2565b6116be67c1da93cd693904fb60c01b613fb2565b6116d26711ce0725ac60101860c01b613fb2565b6116db816140cd565b61171a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171190616ef1565b60405180910390fd5b61172e678748427beee9a41560c01b613fb2565b611742679dcf59ae2b3dc50860c01b613fb2565b61175667a7c8d4d16e37e64360c01b61310e565b61176a67ce8cc1dc0cdb407760c01b61310e565b61177e673b6fb4a892f52fdf60c01b61310e565b6040518060400160405280848152602001838152506006600086815260200190815260200160002060008201518160000155602082015181600101559050506117d1675050d3db7836b7b260c01b61310e565b6117e5676e14e4e56feb20eb60c01b61310e565b837f1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e468484604051611817929190616b2d565b60405180910390a250505050565b600060019050919050565b6000919050565b600061184d67e29fe2f351ca6b2760c01b61191a565b611861676f5dd3f08b97747760c01b61191a565b611875673a9488d62818322a60c01b61191a565b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b60006118e267ce175155cdbb82b660c01b612e38565b6118f6672829765e0e2bb8b060c01b612e38565b61190a67280086a7db8bdd0960c01b612e38565b6119138261423f565b9050919050565b50565b61193167093e06bd5823435060c01b6134e9565b61194567ac96d16a1d124a8660c01b6134e9565b61195967ee327b96f00b172e60c01b6134e9565b60006119636141f2565b905061197967fffac7b649ab959b60c01b6134e9565b61198d67eff3af429a5d4acd60c01b6134e9565b600061199a82878761441a565b90506119b067877a107de4122c7d60c01b6134e9565b6119c4675d96a43b57a9a14860c01b6134e9565b6119d8673f35c7250fc5b44960c01b6134e9565b611a268185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506144ae565b611a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5c90616cb1565b60405180910390fd5b611a796707e366c09dc556ed60c01b6134e9565b611a8d672c7c0dd19e915ba360c01b6134e9565b611aa167097639b96bc3b80560c01b6134e9565b60008686604051602001611ab692919061693c565b604051602081830303815290604052805190602001209050611ae267e68beb862797da6e60c01b6134e9565b611af66762cc10045f9825dd60c01b6134e9565b611b0a673c62ebcce573c75a60c01b6134e9565b3073ffffffffffffffffffffffffffffffffffffffff16611b2a8861423f565b73ffffffffffffffffffffffffffffffffffffffff1614611b80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7790616d31565b60405180910390fd5b611b9467c9f661627c57c42660c01b6134e9565b611ba867a92e5d7d936d303a60c01b6134e9565b611bbc678b3a41262117961660c01b6134e9565b611bd067d4d77c202d37459960c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff16611bf18261423f565b73ffffffffffffffffffffffffffffffffffffffff1614611c47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3e90616cd1565b60405180910390fd5b611c5b67a644ab7ed021918160c01b6134e9565b611c6f67761eab3b7dda68e260c01b6134e9565b611c8367613cb4e0dcf9073b60c01b6134e9565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635ef2c7f08888303060006040518663ffffffff1660e01b8152600401611ce7959493929190616b56565b600060405180830381600087803b158015611d0157600080fd5b505af1158015611d15573d6000803e3d6000fd5b50505050611d2d673c97c7996ed3291460c01b6134e9565b611d4167f8052d109a403d0860c01b6134e9565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b0fc9c382856040518363ffffffff1660e01b8152600401611d9e929190616b04565b600060405180830381600087803b158015611db857600080fd5b505af1158015611dcc573d6000803e3d6000fd5b50505050611de4674abdf691c39e28d560c01b6134e9565b611df867db1b5686f2b1df1b60c01b6134e9565b611e028184614580565b50505050505050565b600060019050919050565b611e2a67c29482f3a6cc814760c01b6134e9565b611e3e675d9375568b5cf37b60c01b6134e9565b611e5267a821cd4d6396a0c560c01b6134e9565b6000611e5c6141f2565b9050611e7267f8b13edbd3cdd6c260c01b6134e9565b611e8667868fc72177e2cce160c01b6134e9565b611e9a67e0f9a111b7f58f1960c01b6134e9565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b8152600401611ef59190616ae9565b60206040518083038186803b158015611f0d57600080fd5b505afa158015611f21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f459190615978565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611fb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa990616d91565b60405180910390fd5b611fc667cfafcda721fa636760c01b6134e9565b611fda678e79226abb7ea95360c01b6134e9565b611fee67cd1ff6293a0a21cb60c01b6134e9565b61200267ca6580fbb3878c5f60c01b6134e9565b3073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf846040518263ffffffff1660e01b81526004016120749190616ae9565b60206040518083038186803b15801561208c57600080fd5b505afa1580156120a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c49190615978565b73ffffffffffffffffffffffffffffffffffffffff161461211a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211190616c71565b60405180910390fd5b61212e6734e7c2c06a6b212f60c01b6134e9565b61214267221dc6d28b6f7a1e60c01b6134e9565b61215667259c70f8bcd41c9a60c01b6134e9565b61216a671e3be474d4bc2b4560c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff1661218b8361423f565b73ffffffffffffffffffffffffffffffffffffffff16146121e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d890616e31565b60405180910390fd5b6121f567dfba363a4295a6bd60c01b6134e9565b61220967bc4c15ea2525331560c01b6134e9565b61221d67995ab68b5de2543a60c01b6134e9565b6122278282614580565b5050565b60606122416716908bcdbcdc0a9660c01b611305565b61225567378d2762af388c0860c01b611305565b61226967df2e701c4f77554d60c01b611305565b60076000858152602001908152602001600020838360405161228c929190616968565b90815260200160405180910390208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561232e5780601f106123035761010080835404028352916020019161232e565b820191906000526020600020905b81548152906001019060200180831161231157829003601f168201915b505050505090509392505050565b600060019050919050565b606061235d67dec5b1215c24904760c01b613fa8565b612371673f4531654d1602d960c01b613fa8565b612385675968079db6a751b060c01b613fa8565b600560008381526020019081526020016000208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561242c5780601f106124015761010080835404028352916020019161242c565b820191906000526020600020905b81548152906001019060200180831161240f57829003601f168201915b50505050509050919050565b6000919050565b60006124556755e36f2e6b1bed6860c01b6134e9565b6124696711ac5bde527c76fe60c01b6134e9565b61247d67f064a7883b8823c560c01b6134e9565b61249482600001518360200151846040015161441a565b9050919050565b6124af6747dd6d4e27a092d260c01b6134dc565b6124c367e0600b94c13d066760c01b6134dc565b6124d76755e8cedcdd449e2360c01b6134dc565b6124eb67ab821ba7fedab67160c01b6134dc565b6124ff67c540fbd78e0e2a4960c01b6134dc565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661258a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258190616db1565b60405180910390fd5b61259e67d014260b312542b460c01b6134dc565b6125b2674e25985d1c99d1f260c01b6134dc565b6125c667736984febec5fd2560c01b6134dc565b6125da67cbb923c66996310360c01b6134dc565b6125ee672c114aff1103564b60c01b6134dc565b61260267a76a63e34be2bddb60c01b6134dc565b61261667a220bc889ca09d2360c01b6134dc565b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161415612685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267c90616eb1565b60405180910390fd5b612699679467d7af09c5944d60c01b6134dc565b6126ad67c28a58b1b15ad6de60c01b6134dc565b6126c167c70b0fecc7c6d3b160c01b6134dc565b6126d567e7892f9392d41a6760c01b6134dc565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612760576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275790616e51565b60405180910390fd5b612774675a0de441d13969aa60c01b6134dc565b612788674e473b0a29064fba60c01b6134dc565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506127f367e398e5606400274660c01b6134dc565b6128076738c3bd156a3471c260c01b6134dc565b7fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b3282604051612838929190616aa5565b60405180910390a150565b61285767e126def3e2fdfc1060c01b613fa8565b8261286c67a8597772f581907360c01b613fb2565b612880676495766894d148d260c01b613fb2565b61289467c1da93cd693904fb60c01b613fb2565b6128a86711ce0725ac60101860c01b613fb2565b6128b1816140cd565b6128f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128e790616ef1565b60405180910390fd5b612904678748427beee9a41560c01b613fb2565b612918679dcf59ae2b3dc50860c01b613fb2565b61292c6707fd1d9d1376442f60c01b613fa8565b61294067090977de14e2519760c01b613fa8565b612954670985f502ef56100560c01b613fa8565b828260056000878152602001908152602001600020919061297692919061560d565b5061298b67572689195bfb8dcf60c01b613fa8565b61299f67839de8924a7c57b360c01b613fa8565b837fb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f784846040516129d1929190616c2b565b60405180910390a250505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612a196798f4fe795a6144c460c01b6134e9565b612a2d67d73fa07884c6296b60c01b6134e9565b612a41674f89b1faa0f36f2660c01b6134e9565b6000612a4b6141f2565b9050612a6167a74a41ef91908ce860c01b6134e9565b612a7567f04afda219e7f8bb60c01b6134e9565b612a8967069ded0da7c75ab960c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff16612aaa8361423f565b73ffffffffffffffffffffffffffffffffffffffff1614612b00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612af790616e11565b60405180910390fd5b612b14678cddb4766da2e34660c01b6134e9565b612b2766ab3ed8e3481c0560c01b6134e9565b612b3b671fd098baa193ac3c60c01b6134e9565b612b4f67e0887e53d44f403760c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612bf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612be890616df1565b60405180910390fd5b612c0567a498ec26f596d6e960c01b6134e9565b612c1967b74e03b9068920b660c01b6134e9565b612c2d674e7ad34c6e53bae860c01b6134e9565b612c416726e677701509fa3760c01b6134e9565b8073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b8152600401612cb39190616ae9565b60206040518083038186803b158015612ccb57600080fd5b505afa158015612cdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d039190615978565b73ffffffffffffffffffffffffffffffffffffffff1614612d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d5090616e71565b60405180910390fd5b612d6d670cd0d667e6f0800360c01b6134e9565b612d8167747454a7a4898a8560c01b6134e9565b806009600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612de767ffca0d5222865e7260c01b6134e9565b612dfb670cf13c115d48bc9c60c01b6134e9565b7fc1e082a8c26f27c26e1bf5d0ce7ddd579ec7f6d7eb3ea90d8abd6c40991bae368282604051612e2c929190616b04565b60405180910390a15050565b50565b612e4f6799155cd2a5dde28560c01b612e38565b82612e6467a8597772f581907360c01b613fb2565b612e78676495766894d148d260c01b613fb2565b612e8c67c1da93cd693904fb60c01b613fb2565b612ea06711ce0725ac60101860c01b613fb2565b612ea9816140cd565b612ee8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612edf90616ef1565b60405180910390fd5b612efc678748427beee9a41560c01b613fb2565b612f10679dcf59ae2b3dc50860c01b613fb2565b612f2467d9477995493ad23960c01b612e38565b612f3867e8ec793f550502aa60c01b612e38565b612f4c67c88eacd4d405cebc60c01b612e38565b612f6067722858e9ba70a57360c01b612e38565b612f6b8484846145d4565b50505050565b6000919050565b60025481565b600060019050919050565b600060019050919050565b6000919050565b612faf67c17b66a0b198af7b60c01b6134dc565b612fc367e0600b94c13d066760c01b6134dc565b612fd76755e8cedcdd449e2360c01b6134dc565b612feb67ab821ba7fedab67160c01b6134dc565b612fff67c540fbd78e0e2a4960c01b6134dc565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661308a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161308190616db1565b60405180910390fd5b61309e67d014260b312542b460c01b6134dc565b6130b2674e25985d1c99d1f260c01b6134dc565b6130c667dfa24a8cc198350160c01b6134dc565b6130da67f9907d82cd18ee0760c01b6134dc565b6130ee67dd37ee49f553c5a760c01b6134dc565b613102679ad66b1d98f77fdf60c01b6134dc565b61310b81614763565b50565b50565b61312567e9f2c05c29e364a960c01b6134e9565b61313967e0600b94c13d066760c01b6134dc565b61314d6755e8cedcdd449e2360c01b6134dc565b61316167ab821ba7fedab67160c01b6134dc565b61317567c540fbd78e0e2a4960c01b6134dc565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16613200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131f790616db1565b60405180910390fd5b61321467d014260b312542b460c01b6134dc565b613228674e25985d1c99d1f260c01b6134dc565b61323c6756ec4c07451bebd760c01b6134e9565b613250676284b5cfe2b6cd9560c01b6134e9565b613264672f569dba424ddeac60c01b6134e9565b61327867991f4dca615481e060c01b6134e9565b61328c67a8a9436bb01cf21360c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156132fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132f390616dd1565b60405180910390fd5b61331067fa83ede13aeade4260c01b6134e9565b613324677145711e91344b0660c01b6134e9565b6133386754da73a6d641b97160c01b6134e9565b61334c67b54a3e091d86239060c01b6134e9565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156133dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133d490616f11565b60405180910390fd5b6133f167b214cbbf2513d88f60c01b6134e9565b61340567b606e73450fa4d8160c01b6134e9565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061345a675b8af6325434e8ba60c01b6134e9565b61346e671ae4b0a4bfec621960c01b6134e9565b7fdb0239c63d4033dcdd21bd44f8dd479a03efbae12f6bbe27c0a5f923d26514cc600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516134bf9190616a6f565b60405180910390a150565b600060019050919050565b6000919050565b50565b50565b6000919050565b50565b600060019050919050565b60008061350e67bf2c21e9346c79bf60c01b61310e565b61352267146b5820274012ac60c01b61310e565b61353667efc1b53237a9532760c01b61310e565b6006600084815260200190815260200160002060000154600660008581526020019081526020016000206001015491509150915091565b61358167195123199189556b60c01b6134e9565b6135956748eec34c0b163c1f60c01b6134e9565b6135a96780a6efacb3203cb060c01b6134e9565b60006135b36141f2565b90506135c9674cab9d3c2b64c15260c01b6134e9565b6135dd67ed6db694efc55e3a60c01b6134e9565b6135f167f6f02d4161c0aadf60c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff166136128361423f565b73ffffffffffffffffffffffffffffffffffffffff1614613668576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161365f90616e11565b60405180910390fd5b61367c67cdc40258d995303c60c01b6134e9565b61369067cdfb0ccffffa7e3060c01b6134e9565b6136a467a3fe81400e3e4c6960c01b6134e9565b6136b8677636a8ffbb7e2ec360c01b6134e9565b8073ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613759576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161375090616c91565b60405180910390fd5b61376d67aaa8c5f31bb5252a60c01b6134e9565b6137816763bad9422c7bd62660c01b6134e9565b6137956794c1054105a61a1360c01b6134e9565b6137a9672d15573d3f9ab91f60c01b6134e9565b3073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b815260040161381b9190616ae9565b60206040518083038186803b15801561383357600080fd5b505afa158015613847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061386b9190615978565b73ffffffffffffffffffffffffffffffffffffffff16146138c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138b890616e71565b60405180910390fd5b6138d5677d36fcfc58269f6960c01b6134e9565b6138e96736fe4e6461a6c8d360c01b6134e9565b6138fd67d2462ae891a22c3560c01b6134e9565b6139078230614580565b61391b6790691e74906f852d60c01b6134e9565b61392f6734990696d2cbbe5060c01b6134e9565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a83306040518363ffffffff1660e01b815260040161398c929190616b04565b600060405180830381600087803b1580156139a657600080fd5b505af11580156139ba573d6000803e3d6000fd5b505050506139d2672ab0eeb28861f73460c01b6134e9565b6139e667c0197a444973256760c01b6134e9565b7fcefbe9dbadcf675eef14e23810996ff38541fc26b4dd77cd6724b0eedc96f20082604051613a159190616ae9565b60405180910390a15050565b6000613a37670fa739e07c029f9060c01b6134dc565b613a4b67406100042e7653bd60c01b6134dc565b613a5f6784104632bda8198f60c01b6134dc565b613aad8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506144ae565b90509392505050565b613aca67b8dc6c7f6208982060c01b612e38565b81613adf67a8597772f581907360c01b613fb2565b613af3676495766894d148d260c01b613fb2565b613b0767c1da93cd693904fb60c01b613fb2565b613b1b6711ce0725ac60101860c01b613fb2565b613b24816140cd565b613b63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b5a90616ef1565b60405180910390fd5b613b77678748427beee9a41560c01b613fb2565b613b8b679dcf59ae2b3dc50860c01b613fb2565b613b9f677396c22b6058759b60c01b612e38565b613bb36766fb11489ea79d3760c01b612e38565b613bc7677545b5f28a61157360c01b612e38565b613bdb67e41b892a5d0b811960c01b612e38565b613be58383614580565b505050565b6000919050565b613c0567c9f8523af82bab8360c01b6134e9565b613c1967d2ba19feb39e0b7f60c01b61191a565b613c2d670c5ad53cdb9edd1560c01b61191a565b613c4167b6b588d2ebb9ae6960c01b61191a565b613c5567c4ec9a90a885875260c01b61191a565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614613ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613cdc90616d11565b60405180910390fd5b613cf967c3785ba1534db95460c01b61191a565b613d0d67e4202927591248ef60c01b61191a565b6000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613d6367531cfa2817fbdc8660c01b61191a565b613d776740d6cffa7ab2c26960c01b6134e9565b613d8b6756183fd103117d9e60c01b6134e9565b613d9f674602df75ac80bac360c01b6134e9565b613db36729a6ec9f49a02d1160c01b6134e9565b613dc767aceff1c6eeb9c91360c01b6134e9565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415613e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e2e90616dd1565b60405180910390fd5b613e4b6703e069af565866e360c01b6134e9565b613e5f6787b237de5a3c419060c01b6134e9565b83600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613eb467de2fcb48e932264460c01b6134e9565b613ec8679dd0cca15f369a6c60c01b6134e9565b613f12838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050506149e2565b613f266776e2956e5d5a32ca60c01b6134e9565b613f3a67e43784b3932c727e60c01b6134e9565b613f4381614b3e565b613f576701520f419008b58e60c01b61191a565b613f6b6775364c04848b013b60c01b61191a565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051613f9a9190616a8a565b60405180910390a150505050565b50565b6000919050565b50565b6000919050565b50565b6060613fd567e2f9f38fff2fc32060c01b612e38565b613fe96785aead68c541c11460c01b612e38565b613ffd67e58df30d06a8f2d060c01b612e38565b6004600084815260200190815260200160002060008381526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156140b55780601f1061408a576101008083540402835291602001916140b5565b820191906000526020600020905b81548152906001019060200180831161409857829003601f168201915b5050505050905092915050565b600060019050919050565b60006140e367655be2e876f304b760c01b6134e9565b6140f76784463205d9b9b5d160c01b6134e9565b61410b67b724a588b1b1d71060c01b6134e9565b6141136141f2565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b81526004016141849190616ae9565b60206040518083038186803b15801561419c57600080fd5b505afa1580156141b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141d49190615978565b73ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000614208677ac614d5268cc8ac60c01b613fbc565b61421c670a6b7ac33c94c4ed60c01b613fbc565b61423067e7ef433820a2765360c01b613fbc565b61423a6028614baa565b905090565b6000614255677a700e570bc2a2fc60c01b612e38565b61426967d0ba17887186b37e60c01b612e38565b61427d6780906c28707d15c960c01b612e38565b60006142936797ef8d9ff31bef5660c01b612e38565b6142a767f7584d6fe1f20edf60c01b612e38565b6060600460008581526020019081526020016000206000603c81526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156143625780601f1061433757610100808354040283529160200191614362565b820191906000526020600020905b81548152906001019060200180831161434557829003601f168201915b5050505050905061437d676d87361a9762eaaa60c01b612e38565b6143916735eb1fc4be22236c60c01b612e38565b6000815111156143d3576143af67948289de987958d460c01b612e38565b6143c36714e213e2588060b960c01b612e38565b6143cc81614d40565b91506143e8565b6143e7678f764f9dd1c1ed8260c01b612e38565b5b6143fc678b711ea8478c55b460c01b612e38565b61441067a95eb015360bec7e60c01b612e38565b8192505050919050565b600061443067d23d299e453cbef960c01b6134e9565b61444467cf4ec574175a17ec60c01b6134e9565b61445867c6352e1e889e3f5560c01b6134e9565b6144a57f621363c539a3aa1024c8837ca1dc095db03b7f9512b3a95ecb429aae7fd953ed858585604051602001614491939291906168ff565b604051602081830303815290604052614e31565b90509392505050565b60006144c467fbe9af14abc78ca860c01b6134dc565b6144d867bd3616cf00f8ad2b60c01b6134dc565b6144ec670aad941719c9b69b60c01b6134dc565b60006145018385614eae90919063ffffffff16565b90506145176706f556c4601e7cd060c01b6134dc565b61452b67344e7bee2db8345860c01b6134dc565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b6145946738d211ffdd9c049860c01b612e38565b6145a867acea32d3c1dcb5ef60c01b612e38565b6145bc67a1ca8e8ea3f1792660c01b612e38565b6145d082603c6145cb846151b6565b6145d4565b5050565b6145e86710b60a5dae454a6f60c01b612e38565b6145fc6777ebe5b96203aa5660c01b612e38565b614610672e75dee0965b85d960c01b612e38565b827f65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af7528383604051614642929190616f4c565b60405180910390a261465e670ac1489a0da775d560c01b612e38565b614672671d550d092ffb544360c01b612e38565b603c8214156146fc5761468f678deefdd0c0c4f8b360c01b612e38565b6146a367aa5003b8afb30f0460c01b612e38565b6146b76717b5dcac59fd3d2960c01b612e38565b827f52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd26146e283614d40565b6040516146ef9190616a8a565b60405180910390a2614711565b61471067ef5c168066bd63e360c01b612e38565b5b61472567597aaab56f7ddde360c01b612e38565b80600460008581526020019081526020016000206000848152602001908152602001600020908051906020019061475d92919061568d565b50505050565b6147776703611a9e4063d8ea60c01b6134dc565b61478b67ee1baacaa033494260c01b6134dc565b61479f6751e5840de998a97760c01b6134dc565b6147b3676f82de74e2e2e03560c01b6134dc565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415614823576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161481a90616cf1565b60405180910390fd5b6148376717cb80dba7a8a0ea60c01b6134dc565b61484b67e2f8fabe2a63d8b660c01b6134dc565b61485f677550a657f22d30dc60c01b6134dc565b614873673c81d7073dbe6f3060c01b6134dc565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156148ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016148f690616e91565b60405180910390fd5b61491367bc5a1f0994a7f54e60c01b6134dc565b614927679a7f014629c7374960c01b6134dc565b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061499267d71c83e9f3188e9d60c01b6134dc565b6149a667e4bfbd26cb5c77e660c01b6134dc565b7fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a32826040516149d7929190616aa5565b60405180910390a150565b6149f667f4de5e8e73d6ad8760c01b6134dc565b614a0a67db1ce0981035d84760c01b6134dc565b614a1e67e97a0a25809a3f0960c01b6134dc565b600081511415614a7257614a3c67de11b839232da49160c01b6134dc565b614a5067b59bd2ea0c1c89a260c01b6134dc565b614a6467652fe2786000e62060c01b6134dc565b614a6d32614763565b614b3b565b614a8667ad5f6f13dddc2ad960c01b6134dc565b614a9a672af46088979bcb2160c01b6134dc565b614aae6796cb81cf0bf6606d60c01b6134dc565b600081519050614ac8672f4c11881b8dca8c60c01b6134dc565b614adc67cec4e8db5057edad60c01b6134dc565b60005b81811015614b3857614afb671a5cc94c8b734dd960c01b6134dc565b614b0f67e437d14e98e20b2f60c01b6134dc565b614b2b838281518110614b1e57fe5b6020026020010151614763565b8080600101915050614adf565b50505b50565b614b52670beab42e12728d3b60c01b613fbc565b614b66675ecbac840a5512ec60c01b613fbc565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000614bc06787c8246a4b35d1f160c01b613fbc565b614bd467976a1e8d41064d2460c01b613fbc565b614be8671867d8bf077bb31160c01b613fbc565b6000614bfe67bdfeda5454a1273960c01b613fbc565b614c12677709e048711a13c960c01b613fbc565b614c1a615296565b15614ce357614c3367d3c6f6b0bcac9b6e60c01b613fbc565b614c47673b2573735f5d680260c01b613fbc565b614c5b675089eb0622c78a2260c01b613fbc565b6000836000369050039050614c7a674bc94a8e9a6ee57960c01b613fbc565b614cdb60003683906014850192614c9393929190617023565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615461565b915050614d0f565b614cf7677e45e81af2ec2edc60c01b613fbc565b614d0b67391e31dbfdfb407e60c01b613fbc565b3390505b614d2367c4042e2c7c2c999760c01b613fbc565b614d3767fc44c5cccf2cd16760c01b613fbc565b80915050919050565b6000614d5667db251656546edddc60c01b612e38565b614d6a67d4996cc6ed6650af60c01b612e38565b614d7e6713f77ccc0675e66660c01b612e38565b6000614d9467697468552eb1b46c60c01b612e38565b614da86746658c34a7b92ce060c01b612e38565b614dbc6726663fb4243c1d5360c01b612e38565b6014835114614dca57600080fd5b614dde67e7e35d0843eb212860c01b612e38565b614df267f87ddfdf9c4de47d60c01b612e38565b600c6101000a6020840151049050614e1467c3203e7177d7044160c01b612e38565b614e2867517dcdf0eb50c8a560c01b612e38565b80915050919050565b6000614e476771b334e2e3162d2e60c01b6134df565b614e5b6729046581cf97a49460c01b6134df565b614e6f674f9e67c6b1f334b360c01b6134df565b614ea6600254308585604051602001614e8b9493929190616a25565b60405160208183030381529060405280519060200120615590565b905092915050565b6000614ec4670d75db982ec4597160c01b6155fc565b614ed86725c2c60ab754182560c01b6155fc565b614eec673eb64a254569ed0660c01b6155fc565b6000614f0267fb2a2286066e15e460c01b6155fc565b614f1667a440db11ec9e986d60c01b6155fc565b60418351141561516f57614f346704a5aada48e2763260c01b6155fc565b614f48674b98cf1796e5c26660c01b6155fc565b614f5c67d2dfec7b159385fc60c01b6155fc565b6000614f726772c2a840621b4aa760c01b6155fc565b614f8667bfd411e6ba4d07c460c01b6155fc565b6000614f9c67145d23f82764ba9960c01b6155fc565b614fb067acdff958a9c6c5dd60c01b6155fc565b6000614fc6673b79e3a80932a6a160c01b6155fc565b6020860151925060408601519150606086015160001a9050614ff2679b0cdee01a57ea2f60c01b6155fc565b615006675dbf88583373227960c01b6155fc565b601b8160ff16101561504557615026670dc9a1836eb51c3260c01b6155fc565b61503a677097d8456a6c3e1560c01b6155fc565b601b8101905061505a565b6150596708b39c61216869e760c01b6155fc565b5b61506e672ea4d6db7d2138c560c01b6155fc565b615082679ad3f461195a5eee60c01b6155fc565b601b8160ff161480156150a557506150a467a24e972b59dc7d0560c01b6155ff565b5b806150cf5750601c8160ff161480156150ce57506150cd67934bee4849491d9560c01b6155ff565b5b5b15615152576150e8676d6a491fc6e072fa60c01b6155fc565b6150fc67aecd1690d1de9f1c60c01b6155fc565b6001878285856040516000815260200160405260405161511f9493929190616ba9565b6020604051602081039080840390855afa158015615141573d6000803e3d6000fd5b505050602060405103519350615167565b61516667513fbc3b3a0ad1c060c01b6155fc565b5b505050615184565b6151836723d6d78de386c96660c01b6155fc565b5b6151986707d0c4f11e72cfc960c01b6155fc565b6151ac67b9689b22f403636c60c01b6155fc565b8091505092915050565b60606151cc6772351ea3c5d1b9f360c01b612e38565b6151e067f02df6c3bcbceef060c01b612e38565b6151f467ea816d23ec4287f760c01b612e38565b6060601467ffffffffffffffff8111801561520e57600080fd5b506040519080825280601f01601f1916602001820160405280156152415781602001600182028036833780820191505090505b5090506152586762376b73bacb383560c01b612e38565b600c6101000a8302602082015261527967b828916d5b99c26e60c01b612e38565b61528d67f4e2d092fa493cdd60c01b612e38565b80915050919050565b60006152ac6714ec9ba31585b6f760c01b613fbc565b6152c06764d00f8ee4cbc0f460c01b613fbc565b6152d46728aef4b71ffef7e260c01b613fbc565b60006152ea677b6cf6392b8d09d960c01b613fbc565b6152fe67da655f124163f4bc60c01b613fbc565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561541d57615368678c4556fd14dc507160c01b613fbc565b61537c674811af4455ee520960c01b613fbc565b61539067ae36e4b52033411860c01b613fbc565b6153a467ffe63a27679b309260c01b613fbc565b602c600036905010156153ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016153e390616d71565b60405180910390fd5b61540067d1762b0b1ca636f360c01b613fbc565b6154146769c465f7e405b9f660c01b613fbc565b60019050615432565b6154316710f40798097af22060c01b613fbc565b5b615446671855328cbdf7411660c01b613fbc565b61545a670e4f1457e534f9ac60c01b613fbc565b8091505090565b6000615477670df8d76b8cabf76a60c01b61560a565b61548b67e180fcce9e2bf4c560c01b61560a565b61549f670dcb70abe8e8bb0b60c01b61560a565b60006154b567c9f13cc22eb780e060c01b61560a565b6154c967c60f8d891ff21de960c01b61560a565b6154dd6782bb9e679e55c73460c01b61560a565b6014835114615521576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161551890616ed1565b60405180910390fd5b615535679ea304b1b6348ade60c01b61560a565b61554967a0049b4768bf518260c01b61560a565b6c010000000000000000000000006020840151049050615573671f4dc55703cfba1860c01b61560a565b61558767afb63a07e82275e260c01b61560a565b80915050919050565b60006155a667f3d1beb9fba5b7be60c01b6155fc565b6155ba676cd81a1865d6353260c01b6155fc565b6155ce676810828c21da671e60c01b6155fc565b816040516020016155df9190616996565b604051602081830303815290604052805190602001209050919050565b50565b600060019050919050565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061564e57803560ff191683800117855561567c565b8280016001018555821561567c579182015b8281111561567b578235825591602001919060010190615660565b5b509050615689919061570d565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106156ce57805160ff19168380011785556156fc565b828001600101855582156156fc579182015b828111156156fb5782518255916020019190600101906156e0565b5b509050615709919061570d565b5090565b5b8082111561572657600081600090555060010161570e565b5090565b60008135905061573981617237565b92915050565b60008151905061574e81617237565b92915050565b60008083601f84011261576657600080fd5b8235905067ffffffffffffffff81111561577f57600080fd5b60208301915083602082028301111561579757600080fd5b9250929050565b6000813590506157ad8161724e565b92915050565b6000813590506157c281617265565b92915050565b6000813590506157d78161727c565b92915050565b60008083601f8401126157ef57600080fd5b8235905067ffffffffffffffff81111561580857600080fd5b60208301915083600182028301111561582057600080fd5b9250929050565b600082601f83011261583857600080fd5b813561584b61584682616fa9565b616f7c565b9150808252602083016020830185838301111561586757600080fd5b61587283828461719f565b50505092915050565b60008135905061588a81617293565b92915050565b60008083601f8401126158a257600080fd5b8235905067ffffffffffffffff8111156158bb57600080fd5b6020830191508360018202830111156158d357600080fd5b9250929050565b6000606082840312156158ec57600080fd5b6158f66060616f7c565b905060006159068482850161572a565b600083015250602061591a8482850161579e565b602083015250604061592e8482850161579e565b60408301525092915050565b600081359050615949816172aa565b92915050565b60006020828403121561596157600080fd5b600061596f8482850161572a565b91505092915050565b60006020828403121561598a57600080fd5b60006159988482850161573f565b91505092915050565b6000602082840312156159b357600080fd5b60006159c18482850161579e565b91505092915050565b600080604083850312156159dd57600080fd5b60006159eb8582860161579e565b92505060206159fc8582860161572a565b9150509250929050565b600080600060608486031215615a1b57600080fd5b6000615a298682870161579e565b9350506020615a3a8682870161579e565b9250506040615a4b8682870161579e565b9150509250925092565b60008060008060608587031215615a6b57600080fd5b6000615a798782880161579e565b9450506020615a8a8782880161579e565b935050604085013567ffffffffffffffff811115615aa757600080fd5b615ab3878288016157dd565b925092505092959194509250565b600080600060408486031215615ad657600080fd5b6000615ae48682870161579e565b935050602084013567ffffffffffffffff811115615b0157600080fd5b615b0d868287016157dd565b92509250509250925092565b600080600060408486031215615b2e57600080fd5b6000615b3c8682870161579e565b935050602084013567ffffffffffffffff811115615b5957600080fd5b615b6586828701615890565b92509250509250925092565b600080600080600060608688031215615b8957600080fd5b6000615b978882890161579e565b955050602086013567ffffffffffffffff811115615bb457600080fd5b615bc088828901615890565b9450945050604086013567ffffffffffffffff811115615bdf57600080fd5b615beb88828901615890565b92509250509295509295909350565b60008060408385031215615c0d57600080fd5b6000615c1b8582860161579e565b9250506020615c2c8582860161593a565b9150509250929050565b600080600060608486031215615c4b57600080fd5b6000615c598682870161579e565b9350506020615c6a8682870161593a565b925050604084013567ffffffffffffffff811115615c8757600080fd5b615c9386828701615827565b9150509250925092565b600060208284031215615caf57600080fd5b6000615cbd848285016157b3565b91505092915050565b600060208284031215615cd857600080fd5b6000615ce6848285016157c8565b91505092915050565b600060208284031215615d0157600080fd5b6000615d0f8482850161587b565b91505092915050565b60008060008060608587031215615d2e57600080fd5b6000615d3c8782880161587b565b945050602085013567ffffffffffffffff811115615d5957600080fd5b615d6587828801615754565b93509350506040615d788782880161572a565b91505092959194509250565b600060608284031215615d9657600080fd5b6000615da4848285016158da565b91505092915050565b615db681617133565b82525050565b615dc581617056565b82525050565b615ddc615dd782617056565b6171e1565b82525050565b615deb81617068565b82525050565b615dfa81617074565b82525050565b615e11615e0c82617074565b6171f3565b82525050565b6000615e2282616fd5565b615e2c8185616feb565b9350615e3c8185602086016171ae565b615e4581617219565b840191505092915050565b6000615e5b82616fd5565b615e658185616ffc565b9350615e758185602086016171ae565b80840191505092915050565b615e8a81617145565b82525050565b615e9981617169565b82525050565b6000615eab8385617007565b9350615eb883858461719f565b615ec183617219565b840190509392505050565b6000615ed88385617018565b9350615ee583858461719f565b82840190509392505050565b6000615efc82616fe0565b615f068185617007565b9350615f168185602086016171ae565b615f1f81617219565b840191505092915050565b6000615f37601983617018565b91507f737570706f727473496e746572666163652862797465733429000000000000006000830152601982019050919050565b6000615f77602483617007565b91507f454e53436f6e74726f6c6c65723a20696e76616c6964206e6f6465207265736f60008301527f6c766572000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000615fdd602183617007565b91507f454e53436f6e74726f6c6c65723a20696e76616c6964206e6f6465206f776e6560008301527f72000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000616043602983617007565b91507f454e53436f6e74726f6c6c65723a20696e76616c696420677561726469616e2060008301527f7369676e617475726500000000000000000000000000000000000000000000006020830152604082019050919050565b60006160a9602283617007565b91507f454e53436f6e74726f6c6c65723a206c6162656c20616c72656164792074616b60008301527f656e0000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061610f601c83617018565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b600061614f602083617007565b91507f477561726465643a2063616e6e6f74206164642030783020677561726469616e6000830152602082019050919050565b600061618f602f83617007565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b60006161f5600d83617018565b91507f61646472286279746573333229000000000000000000000000000000000000006000830152600d82019050919050565b6000616235601b83617007565b91507f454e53436f6e74726f6c6c65723a20696e76616c6964206e6f646500000000006000830152602082019050919050565b6000616275602183617007565b91507f454e53436f6e74726f6c6c65723a206e6f646520646f65736e2774206578697360008301527f74000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006162db602283617007565b91507f47617465776179526563697069656e743a20696e76616c6964206d73672e646160008301527f74610000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000616341601483617018565b91507f7465787428627974657333322c737472696e67290000000000000000000000006000830152601482019050919050565b6000616381600d83617018565b91507f6e616d65286279746573333229000000000000000000000000000000000000006000830152600d82019050919050565b60006163c1602b83617007565b91507f454e53436f6e74726f6c6c65723a2063616c6c6572206973206e6f742074686560008301527f206e6f6465206f776e65720000000000000000000000000000000000000000006020830152604082019050919050565b6000616427602683617007565b91507f477561726465643a2074782e6f726967696e206973206e6f742074686520677560008301527f61726469616e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061648d602683617007565b91507f454e53436f6e74726f6c6c65723a2063616e6e6f74207365742030783020726560008301527f67697374727900000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006164f3602583617007565b91507f454e53436f6e74726f6c6c65723a206e6f646520616c7265616479207375626d60008301527f69747465640000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000616559600f83617018565b91507f7075626b657928627974657333322900000000000000000000000000000000006000830152600f82019050919050565b6000616599602283617007565b91507f454e53436f6e74726f6c6c65723a206e6f646520616c7265616479206578697360008301527f74730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006165ff602383617007565b91507f454e53436f6e74726f6c6c65723a206e6f646520616c726561647920696e207360008301527f796e6300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000616665601f83617007565b91507f477561726465643a20677561726469616e20646f65736e2774206578697374006000830152602082019050919050565b60006166a5602583617007565b91507f454e53436f6e74726f6c6c65723a20696e76616c696420656e73206e6f64652060008301527f6f776e65720000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061670b602083617007565b91507f477561726465643a20677561726469616e20616c7265616479206578697374736000830152602082019050919050565b600061674b601b83617007565b91507f477561726465643a2063616e6e6f742072656d6f76652073656c6600000000006000830152602082019050919050565b600061678b601d83617007565b91507f42797465734c69623a20696e76616c69642064617461206c656e6774680000006000830152602082019050919050565b60006167cb603783617007565b91507f454e5341627374726163745265736f6c7665723a20726576657274656420627960008301527f206f6e6c794e6f64654f776e6572206d6f6469666965720000000000000000006020830152604082019050919050565b6000616831601283617018565b91507f6164647228627974657333322c75696e742900000000000000000000000000006000830152601282019050919050565b6000616871602383617007565b91507f454e53436f6e74726f6c6c65723a20726567697374727920616c72656164792060008301527f73657400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6168d381617108565b82525050565b6168ea6168e582617108565b61720f565b82525050565b6168f981617126565b82525050565b600061690b8286615dcb565b60148201915061691b8285615e00565b60208201915061692b8284615e00565b602082019150819050949350505050565b60006169488285615e00565b6020820191506169588284615e00565b6020820191508190509392505050565b6000616975828486615ecc565b91508190509392505050565b600061698c82615f2a565b9150819050919050565b60006169a182616102565b91506169ad8284615e00565b60208201915081905092915050565b60006169c7826161e8565b9150819050919050565b60006169dc82616334565b9150819050919050565b60006169f182616374565b9150819050919050565b6000616a068261654c565b9150819050919050565b6000616a1b82616824565b9150819050919050565b6000616a3182876168d9565b602082019150616a418286615dcb565b601482019150616a518285615e00565b602082019150616a618284615e50565b915081905095945050505050565b6000602082019050616a846000830184615dbc565b92915050565b6000602082019050616a9f6000830184615dad565b92915050565b6000604082019050616aba6000830185615dad565b616ac76020830184615dbc565b9392505050565b6000602082019050616ae36000830184615de2565b92915050565b6000602082019050616afe6000830184615df1565b92915050565b6000604082019050616b196000830185615df1565b616b266020830184615dbc565b9392505050565b6000604082019050616b426000830185615df1565b616b4f6020830184615df1565b9392505050565b600060a082019050616b6b6000830188615df1565b616b786020830187615df1565b616b856040830186615dbc565b616b926060830185615dbc565b616b9f6080830184615e90565b9695505050505050565b6000608082019050616bbe6000830187615df1565b616bcb60208301866168f0565b616bd86040830185615df1565b616be56060830184615df1565b95945050505050565b60006020820190508181036000830152616c088184615e17565b905092915050565b6000602082019050616c256000830184615e81565b92915050565b60006020820190508181036000830152616c46818486615e9f565b90509392505050565b60006020820190508181036000830152616c698184615ef1565b905092915050565b60006020820190508181036000830152616c8a81615f6a565b9050919050565b60006020820190508181036000830152616caa81615fd0565b9050919050565b60006020820190508181036000830152616cca81616036565b9050919050565b60006020820190508181036000830152616cea8161609c565b9050919050565b60006020820190508181036000830152616d0a81616142565b9050919050565b60006020820190508181036000830152616d2a81616182565b9050919050565b60006020820190508181036000830152616d4a81616228565b9050919050565b60006020820190508181036000830152616d6a81616268565b9050919050565b60006020820190508181036000830152616d8a816162ce565b9050919050565b60006020820190508181036000830152616daa816163b4565b9050919050565b60006020820190508181036000830152616dca8161641a565b9050919050565b60006020820190508181036000830152616dea81616480565b9050919050565b60006020820190508181036000830152616e0a816164e6565b9050919050565b60006020820190508181036000830152616e2a8161658c565b9050919050565b60006020820190508181036000830152616e4a816165f2565b9050919050565b60006020820190508181036000830152616e6a81616658565b9050919050565b60006020820190508181036000830152616e8a81616698565b9050919050565b60006020820190508181036000830152616eaa816166fe565b9050919050565b60006020820190508181036000830152616eca8161673e565b9050919050565b60006020820190508181036000830152616eea8161677e565b9050919050565b60006020820190508181036000830152616f0a816167be565b9050919050565b60006020820190508181036000830152616f2a81616864565b9050919050565b6000602082019050616f4660008301846168ca565b92915050565b6000604082019050616f6160008301856168ca565b8181036020830152616f738184615e17565b90509392505050565b6000604051905081810181811067ffffffffffffffff82111715616f9f57600080fd5b8060405250919050565b600067ffffffffffffffff821115616fc057600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000808585111561703357600080fd5b8386111561704057600080fd5b6001850283019150848603905094509492505050565b6000617061826170e8565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b60006170e182617056565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b600061713e8261717b565b9050919050565b600061715082617157565b9050919050565b6000617162826170e8565b9050919050565b600061717482617112565b9050919050565b60006171868261718d565b9050919050565b6000617198826170e8565b9050919050565b82818337600083830152505050565b60005b838110156171cc5780820151818401526020810190506171b1565b838111156171db576000848401525b50505050565b60006171ec826171fd565b9050919050565b6000819050919050565b60006172088261722a565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b61724081617056565b811461724b57600080fd5b50565b61725781617074565b811461726257600080fd5b50565b61726e8161707e565b811461727957600080fd5b50565b617285816170aa565b811461729057600080fd5b50565b61729c816170d6565b81146172a757600080fd5b50565b6172b381617108565b81146172be57600080fd5b5056fea164736f6c634300060c000a"; type ENSControllerConstructorParams = | [signer?: Signer] diff --git a/typings/factories/ENSHelper__factory.ts b/typings/factories/ENSHelper__factory.ts index 2fefc735..586eeeba 100644 --- a/typings/factories/ENSHelper__factory.ts +++ b/typings/factories/ENSHelper__factory.ts @@ -24,6 +24,108 @@ const _abi = [ name: "Initialized", type: "event", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_098c0657", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__5c42e10b", + type: "bytes8", + }, + ], + name: "c_5c42e10b", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_false098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__5c42e10b", + type: "bytes8", + }, + ], + name: "c_false5c42e10b", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_true098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__5c42e10b", + type: "bytes8", + }, + ], + name: "c_true5c42e10b", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { @@ -104,7 +206,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e74806100606000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806338bc01b51461005c578063392e53cd1461008c5780637b103999146100aa578063c4d66de8146100c8578063dc6008e2146100e4575b600080fd5b610076600480360381019061007191906108a6565b610114565b6040516100839190610b55565b60405180910390f35b6100946101ec565b6040516100a19190610b99565b60405180910390f35b6100b2610242565b6040516100bf9190610bcf565b60405180910390f35b6100e260048036038101906100dd91906108e7565b610268565b005b6100fe60048036038101906100f991906108a6565b6103b2565b60405161010b9190610b77565b60405180910390f35b606060008251905060608167ffffffffffffffff8111801561013557600080fd5b506040519080825280602002602001820160405280156101645781602001602082028036833780820191505090505b50905060005b828110156101e15761018e85828151811061018157fe5b6020026020010151610460565b82828151811061019a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050808060010191505061016a565b508092505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146102f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ed90610bea565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e6326040516103a79190610b3a565b60405180910390a150565b606060008251905060608167ffffffffffffffff811180156103d357600080fd5b5060405190808252806020026020018201604052801561040757816020015b60608152602001906001900390816103f25790505b50905060005b828110156104555761043185828151811061042457fe5b60200260200101516105e1565b82828151811061043d57fe5b6020026020010181905250808060010191505061040d565b508092505050919050565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf856040518263ffffffff1660e01b81526004016104c09190610bb4565b60206040518083038186803b1580156104d857600080fd5b505afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610510919061087d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146105d7578073ffffffffffffffffffffffffffffffffffffffff16633b3b57de856040518263ffffffff1660e01b815260040161057f9190610bb4565b60206040518083038186803b15801561059757600080fd5b505afa9250505080156105c857506040513d601f19601f820116820180604052508101906105c5919061087d565b60015b6105d1576105d6565b809250505b5b8192505050919050565b6060806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf856040518263ffffffff1660e01b81526004016106419190610bb4565b60206040518083038186803b15801561065957600080fd5b505afa15801561066d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610691919061087d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461075d578073ffffffffffffffffffffffffffffffffffffffff1663691f3431856040518263ffffffff1660e01b81526004016107009190610bb4565b60006040518083038186803b15801561071857600080fd5b505afa92505050801561074e57506040513d6000823e3d601f19601f8201168201806040525081019061074b9190610910565b60015b6107575761075c565b809250505b5b8192505050919050565b60008151905061077681610e22565b92915050565b600082601f83011261078d57600080fd5b81356107a061079b82610c37565b610c0a565b915081818352602084019350602081019050838560208402820111156107c557600080fd5b60005b838110156107f557816107db88826107ff565b8452602084019350602083019250506001810190506107c8565b5050505092915050565b60008135905061080e81610e39565b92915050565b60008135905061082381610e50565b92915050565b600082601f83011261083a57600080fd5b815161084d61084882610c5f565b610c0a565b9150808252602083016020830185838301111561086957600080fd5b610874838284610dde565b50505092915050565b60006020828403121561088f57600080fd5b600061089d84828501610767565b91505092915050565b6000602082840312156108b857600080fd5b600082013567ffffffffffffffff8111156108d257600080fd5b6108de8482850161077c565b91505092915050565b6000602082840312156108f957600080fd5b600061090784828501610814565b91505092915050565b60006020828403121561092257600080fd5b600082015167ffffffffffffffff81111561093c57600080fd5b61094884828501610829565b91505092915050565b600061095d838361098c565b60208301905092915050565b60006109758383610a9b565b905092915050565b61098681610d84565b82525050565b61099581610d2a565b82525050565b60006109a682610cab565b6109b08185610ce6565b93506109bb83610c8b565b8060005b838110156109ec5781516109d38882610951565b97506109de83610ccc565b9250506001810190506109bf565b5085935050505092915050565b6000610a0482610cb6565b610a0e8185610cf7565b935083602082028501610a2085610c9b565b8060005b85811015610a5c5784840389528151610a3d8582610969565b9450610a4883610cd9565b925060208a01995050600181019050610a24565b50829750879550505050505092915050565b610a7781610d3c565b82525050565b610a8681610d48565b82525050565b610a9581610d96565b82525050565b6000610aa682610cc1565b610ab08185610d08565b9350610ac0818560208601610dde565b610ac981610e11565b840191505092915050565b6000610ae1602f83610d19565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b6000602082019050610b4f600083018461097d565b92915050565b60006020820190508181036000830152610b6f818461099b565b905092915050565b60006020820190508181036000830152610b9181846109f9565b905092915050565b6000602082019050610bae6000830184610a6e565b92915050565b6000602082019050610bc96000830184610a7d565b92915050565b6000602082019050610be46000830184610a8c565b92915050565b60006020820190508181036000830152610c0381610ad4565b9050919050565b6000604051905081810181811067ffffffffffffffff82111715610c2d57600080fd5b8060405250919050565b600067ffffffffffffffff821115610c4e57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff821115610c7657600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610d3582610d64565b9050919050565b60008115159050919050565b6000819050919050565b6000610d5d82610d2a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d8f82610dba565b9050919050565b6000610da182610da8565b9050919050565b6000610db382610d64565b9050919050565b6000610dc582610dcc565b9050919050565b6000610dd782610d64565b9050919050565b60005b83811015610dfc578082015181840152602081019050610de1565b83811115610e0b576000848401525b50505050565b6000601f19601f8301169050919050565b610e2b81610d2a565b8114610e3657600080fd5b50565b610e4281610d48565b8114610e4d57600080fd5b50565b610e5981610d52565b8114610e6457600080fd5b5056fea164736f6c634300060c000a"; + "0x608060405234801561001057600080fd5b5061002b67bcc9be562f8a4b0a60c01b6100a460201b60201c565b61004567579ae7209daca85260c01b6100a460201b60201c565b326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061009f6788a5314e41b335a860c01b6100a760201b60201c565b6100aa565b50565b50565b611575806100b96000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80639b249bb6116100715780639b249bb614610152578063c454330514610182578063c4d66de8146101b2578063c6977ab5146101ce578063d84fa10c146101fe578063dc6008e21461022e576100a9565b806338bc01b5146100ae578063392e53cd146100de5780633e260b13146100fc57806373c00330146101185780637b10399914610134575b600080fd5b6100c860048036038101906100c39190610f3b565b61025e565b6040516100d59190611213565b60405180910390f35b6100e66103fe565b6040516100f39190611257565b60405180910390f35b61011660048036038101906101119190610f7c565b610491565b005b610132600480360381019061012d9190610f7c565b610494565b005b61013c610497565b604051610149919061128d565b60405180910390f35b61016c60048036038101906101679190610f7c565b6104bd565b6040516101799190611257565b60405180910390f35b61019c60048036038101906101979190610f7c565b6104c4565b6040516101a99190611257565b60405180910390f35b6101cc60048036038101906101c79190610fa5565b6104cf565b005b6101e860048036038101906101e39190610f7c565b61071d565b6040516101f59190611257565b60405180910390f35b61021860048036038101906102139190610f7c565b610728565b6040516102259190611257565b60405180910390f35b61024860048036038101906102439190610f3b565b61072f565b6040516102559190611235565b60405180910390f35b6060610274671262cfb69e40cc5b60c01b610494565b6102886798c01d2f7400c2ea60c01b610494565b61029c67ad9923707237991e60c01b610494565b6000825190506102b66789f55ae5d37def3e60c01b610494565b6102ca67ac677aeb4c017ff360c01b610494565b60608167ffffffffffffffff811180156102e357600080fd5b506040519080825280602002602001820160405280156103125781602001602082028036833780820191505090505b509050610329670ba5e1384af0913e60c01b610494565b61033d6714028a04d7886c0860c01b610494565b60005b828110156103cb5761035c6781d854b59fb81ec660c01b610494565b61037885828151811061036b57fe5b60200260200101516108a5565b82828151811061038457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050610340565b506103e0676499c15a3010af8860c01b610494565b6103f4673ce7fdbf6e3ceeff60c01b610494565b8092505050919050565b600061041467e29fe2f351ca6b2760c01b610491565b610428676f5dd3f08b97747760c01b610491565b61043c673a9488d62818322a60c01b610491565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000919050565b600060019050919050565b6104e3670b3f84efbe7b166460c01b610494565b6104f767d2ba19feb39e0b7f60c01b610491565b61050b670c5ad53cdb9edd1560c01b610491565b61051f67b6b588d2ebb9ae6960c01b610491565b61053367c4ec9a90a885875260c01b610491565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146105c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8906112a8565b60405180910390fd5b6105d567c3785ba1534db95460c01b610491565b6105e967e4202927591248ef60c01b610491565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061063e67531cfa2817fbdc8660c01b610491565b61065267a88fe5617780e90a60c01b610494565b61066667e820f68755b3cd5960c01b610494565b61067a674261d64cb5e3105760c01b610494565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506106cf6701520f419008b58e60c01b610491565b6106e36775364c04848b013b60c01b610491565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e63260405161071291906111f8565b60405180910390a150565b600060019050919050565b6000919050565b606061074567e80d71150b859b7260c01b610494565b61075967a983b910fbac0dde60c01b610494565b61076d67647fa2dd6620e96c60c01b610494565b600082519050610787673e1ca5096d39224d60c01b610494565b61079b67fc7faae55db6959760c01b610494565b60608167ffffffffffffffff811180156107b457600080fd5b506040519080825280602002602001820160405280156107e857816020015b60608152602001906001900390816107d35790505b5090506107ff67f69904c6431daa3260c01b610494565b61081367871b2ac11c1ac1e160c01b610494565b60005b8281101561087257610832679d6bbf61afcd60cd60c01b610494565b61084e85828151811061084157fe5b6020026020010151610b43565b82828151811061085a57fe5b60200260200101819052508080600101915050610816565b5061088767050076f9e6946aa460c01b610494565b61089b67881f2e841a33919160c01b610494565b8092505050919050565b60006108bb6767ba3fa8e255e42c60c01b610494565b6108cf67ded2d8e7ce5a2fd260c01b610494565b6108e367b7eec7d5b1f6d0ef60c01b610494565b60006108f9672f2b2f7babea174160c01b610494565b61090d67ddb621e05346684960c01b610494565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf856040518263ffffffff1660e01b815260040161096a9190611272565b60206040518083038186803b15801561098257600080fd5b505afa158015610996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ba9190610f12565b90506109d067f89bfd8ea1a9d84c60c01b610494565b6109e467dcfa76ac2a64a3d060c01b610494565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610afc57610a2b66c00643e0fe114260c01b610494565b610a3f676f657acc31999b6e60c01b610494565b610a53677e6620e4ec26afb860c01b610494565b8073ffffffffffffffffffffffffffffffffffffffff16633b3b57de856040518263ffffffff1660e01b8152600401610a8c9190611272565b60206040518083038186803b158015610aa457600080fd5b505afa925050508015610ad557506040513d601f19601f82011682018060405250810190610ad29190610f12565b60015b610ade57610af7565b610af2678d081549d3a105db60c01b610494565b809250505b610b11565b610b1067116afadf3c1fb43960c01b610494565b5b610b2567fd7a0c053af4eb8760c01b610494565b610b396730de74e4786aa2e460c01b610494565b8192505050919050565b6060610b59672ff51caeb36aa79560c01b610494565b610b6d678624272536b909b060c01b610494565b610b81675145d31ae44ae0e660c01b610494565b6060610b9767733b8d1519f8af7260c01b610494565b610bab670bec19ea53a9713360c01b610494565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf856040518263ffffffff1660e01b8152600401610c089190611272565b60206040518083038186803b158015610c2057600080fd5b505afa158015610c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c589190610f12565b9050610c6e675f3e55e290a1f2be60c01b610494565b610c8267a4236d1b625413fd60c01b610494565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610da057610cca6771cac04d0611340f60c01b610494565b610cde67bbd7a982fc04f8d860c01b610494565b610cf2671e4e6b27da2a22c560c01b610494565b8073ffffffffffffffffffffffffffffffffffffffff1663691f3431856040518263ffffffff1660e01b8152600401610d2b9190611272565b60006040518083038186803b158015610d4357600080fd5b505afa925050508015610d7957506040513d6000823e3d601f19601f82011682018060405250810190610d769190610fce565b60015b610d8257610d9b565b610d9667bcddd4c206b0dfb760c01b610494565b809250505b610db5565b610db46783411ebc5f7949ec60c01b610494565b5b610dc967f538509b78c1831860c01b610494565b610ddd677c2d448ed267709960c01b610494565b8192505050919050565b600081519050610df68161150c565b92915050565b600082601f830112610e0d57600080fd5b8135610e20610e1b826112f5565b6112c8565b91508181835260208401935060208101905083856020840282011115610e4557600080fd5b60005b83811015610e755781610e5b8882610e7f565b845260208401935060208301925050600181019050610e48565b5050505092915050565b600081359050610e8e81611523565b92915050565b600081359050610ea38161153a565b92915050565b600081359050610eb881611551565b92915050565b600082601f830112610ecf57600080fd5b8151610ee2610edd8261131d565b6112c8565b91508082526020830160208301858383011115610efe57600080fd5b610f098382846114c8565b50505092915050565b600060208284031215610f2457600080fd5b6000610f3284828501610de7565b91505092915050565b600060208284031215610f4d57600080fd5b600082013567ffffffffffffffff811115610f6757600080fd5b610f7384828501610dfc565b91505092915050565b600060208284031215610f8e57600080fd5b6000610f9c84828501610e94565b91505092915050565b600060208284031215610fb757600080fd5b6000610fc584828501610ea9565b91505092915050565b600060208284031215610fe057600080fd5b600082015167ffffffffffffffff811115610ffa57600080fd5b61100684828501610ebe565b91505092915050565b600061101b838361104a565b60208301905092915050565b60006110338383611159565b905092915050565b6110448161146e565b82525050565b611053816113e8565b82525050565b600061106482611369565b61106e81856113a4565b935061107983611349565b8060005b838110156110aa578151611091888261100f565b975061109c8361138a565b92505060018101905061107d565b5085935050505092915050565b60006110c282611374565b6110cc81856113b5565b9350836020820285016110de85611359565b8060005b8581101561111a57848403895281516110fb8582611027565b945061110683611397565b925060208a019950506001810190506110e2565b50829750879550505050505092915050565b611135816113fa565b82525050565b61114481611406565b82525050565b61115381611480565b82525050565b60006111648261137f565b61116e81856113c6565b935061117e8185602086016114c8565b611187816114fb565b840191505092915050565b600061119f602f836113d7565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b600060208201905061120d600083018461103b565b92915050565b6000602082019050818103600083015261122d8184611059565b905092915050565b6000602082019050818103600083015261124f81846110b7565b905092915050565b600060208201905061126c600083018461112c565b92915050565b6000602082019050611287600083018461113b565b92915050565b60006020820190506112a2600083018461114a565b92915050565b600060208201905081810360008301526112c181611192565b9050919050565b6000604051905081810181811067ffffffffffffffff821117156112eb57600080fd5b8060405250919050565b600067ffffffffffffffff82111561130c57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561133457600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006113f38261144e565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b6000611447826113e8565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611479826114a4565b9050919050565b600061148b82611492565b9050919050565b600061149d8261144e565b9050919050565b60006114af826114b6565b9050919050565b60006114c18261144e565b9050919050565b60005b838110156114e65780820151818401526020810190506114cb565b838111156114f5576000848401525b50505050565b6000601f19601f8301169050919050565b611515816113e8565b811461152057600080fd5b50565b61152c81611406565b811461153757600080fd5b50565b61154381611410565b811461154e57600080fd5b50565b61155a8161143c565b811461156557600080fd5b5056fea164736f6c634300060c000a"; type ENSHelperConstructorParams = | [signer?: Signer] diff --git a/typings/factories/ENSNameResolver__factory.ts b/typings/factories/ENSNameResolver__factory.ts index 85ec426d..7726534e 100644 --- a/typings/factories/ENSNameResolver__factory.ts +++ b/typings/factories/ENSNameResolver__factory.ts @@ -29,6 +29,108 @@ const _abi = [ name: "NameChanged", type: "event", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__6f06df17", + type: "bytes8", + }, + ], + name: "c_6f06df17", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__f395fef5", + type: "bytes8", + }, + ], + name: "c_f395fef5", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__6f06df17", + type: "bytes8", + }, + ], + name: "c_false6f06df17", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__f395fef5", + type: "bytes8", + }, + ], + name: "c_falsef395fef5", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__6f06df17", + type: "bytes8", + }, + ], + name: "c_true6f06df17", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__f395fef5", + type: "bytes8", + }, + ], + name: "c_truef395fef5", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { diff --git a/typings/factories/ENSPubKeyResolver__factory.ts b/typings/factories/ENSPubKeyResolver__factory.ts index 64163e23..14788d79 100644 --- a/typings/factories/ENSPubKeyResolver__factory.ts +++ b/typings/factories/ENSPubKeyResolver__factory.ts @@ -35,6 +35,108 @@ const _abi = [ name: "PubkeyChanged", type: "event", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__633abef9", + type: "bytes8", + }, + ], + name: "c_633abef9", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__f395fef5", + type: "bytes8", + }, + ], + name: "c_f395fef5", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__633abef9", + type: "bytes8", + }, + ], + name: "c_false633abef9", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__f395fef5", + type: "bytes8", + }, + ], + name: "c_falsef395fef5", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__633abef9", + type: "bytes8", + }, + ], + name: "c_true633abef9", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__f395fef5", + type: "bytes8", + }, + ], + name: "c_truef395fef5", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { diff --git a/typings/factories/ENSRegistry__factory.ts b/typings/factories/ENSRegistry__factory.ts index 0a50c2a5..a61b3a4e 100644 --- a/typings/factories/ENSRegistry__factory.ts +++ b/typings/factories/ENSRegistry__factory.ts @@ -118,6 +118,57 @@ const _abi = [ name: "Transfer", type: "event", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d1f32b86", + type: "bytes8", + }, + ], + name: "c_d1f32b86", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d1f32b86", + type: "bytes8", + }, + ], + name: "c_falsed1f32b86", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d1f32b86", + type: "bytes8", + }, + ], + name: "c_trued1f32b86", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { @@ -383,7 +434,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50326000808060001b815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611253806100776000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80635b0fc9c3116100715780635b0fc9c3146102b15780635ef2c7f0146102ff578063a22cb4651461038b578063cf408823146103db578063e985e9c51461045d578063f79fe538146104d7576100b4565b80630178b8bf146100b957806302571be31461011157806306ab59231461016957806314ab9038146101d557806316a25cbd146102175780631896f70a14610263575b600080fd5b6100e5600480360360208110156100cf57600080fd5b810190808035906020019092919050505061051b565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61013d6004803603602081101561012757600080fd5b810190808035906020019092919050505061055a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101bf6004803603606081101561017f57600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105dd565b6040518082815260200191505060405180910390f35b610215600480360360408110156101eb57600080fd5b8101908080359060200190929190803567ffffffffffffffff169060200190929190505050610812565b005b6102436004803603602081101561022d57600080fd5b81019080803590602001909291905050506109e6565b604051808267ffffffffffffffff16815260200191505060405180910390f35b6102af6004803603604081101561027957600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a19565b005b6102fd600480360360408110156102c757600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c11565b005b610389600480360360a081101561031557600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610e09565b005b6103d9600480360360408110156103a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610e2b565b005b61045b600480360360808110156103f157600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610f2a565b005b6104bf6004803603604081101561047357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f45565b60405180821515815260200191505060405180910390f35b610503600480360360208110156104ed57600080fd5b8101908080359060200190929190505050610fd9565b60405180821515815260200191505060405180910390f35b600080600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008060008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156105d35760009150506105d8565b809150505b919050565b600083600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614806106da5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61072f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061121b602c913960400191505060405180910390fd5b6000868660405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090508460008083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085877fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8287604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a38093505050509392505050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148061090d5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610962576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061121b602c913960400191505060405180910390fd5b8260008086815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550837f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6884604051808267ffffffffffffffff16815260200191505060405180910390a250505050565b600080600083815260200190815260200160002060010160149054906101000a900467ffffffffffffffff169050919050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610b145750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610b69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061121b602c913960400191505060405180910390fd5b8260008086815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550837f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a084604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250505050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610d0c5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610d61576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061121b602c913960400191505060405180910390fd5b8260008086815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550837fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d26684604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250505050565b6000610e168686866105dd565b9050610e23818484611047565b505050505050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b610f348484610c11565b610f3f848383611047565b50505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60008084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611152578160008085815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550827f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a083604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25b60008084815260200190815260200160002060010160149054906101000a900467ffffffffffffffff1667ffffffffffffffff168167ffffffffffffffff1614611215578060008085815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550827f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6882604051808267ffffffffffffffff16815260200191505060405180910390a25b50505056fe454e5352656769737472793a20726576657274656420627920617574686f7269736564206d6f646966696572a164736f6c634300060c000a"; + "0x608060405234801561001057600080fd5b5061002b6736c8e9480155531e60c01b6100a160201b60201c565b61004567cb111d834975039760c01b6100a160201b60201c565b326000808060001b815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506100a4565b50565b611d5c806100b36000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80635ef2c7f011610097578063bfc17ff611610066578063bfc17ff6146104c4578063cf40882314610523578063e985e9c5146105a5578063f79fe5381461061f576100f5565b80635ef2c7f01461034057806365c05305146103cc578063751f4fce1461042b578063a22cb46514610474576100f5565b806314ab9038116100d357806314ab90381461021657806316a25cbd146102585780631896f70a146102a45780635b0fc9c3146102f2576100f5565b80630178b8bf146100fa57806302571be31461015257806306ab5923146101aa575b600080fd5b6101266004803603602081101561011057600080fd5b8101908080359060200190929190505050610663565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61017e6004803603602081101561016857600080fd5b81019080803590602001909291905050506106de565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610200600480360360608110156101c057600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061083e565b6040518082815260200191505060405180910390f35b6102566004803603604081101561022c57600080fd5b8101908080359060200190929190803567ffffffffffffffff169060200190929190505050610c13565b005b6102846004803603602081101561026e57600080fd5b8101908080359060200190929190505050610f37565b604051808267ffffffffffffffff16815260200191505060405180910390f35b6102f0600480360360408110156102ba57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fa6565b005b61033e6004803603604081101561030857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ee565b005b6103ca600480360360a081101561035657600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050611636565b005b610413600480360360208110156103e257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506116bc565b60405180821515815260200191505060405180910390f35b6104726004803603602081101561044157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506116c3565b005b6104c26004803603604081101561048a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506116c6565b005b61050b600480360360208110156104da57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611815565b60405180821515815260200191505060405180910390f35b6105a36004803603608081101561053957600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050611820565b005b610607600480360360408110156105bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061189f565b60405180821515815260200191505060405180910390f35b61064b6004803603602081101561063557600080fd5b810190808035906020019092919050505061196f565b60405180821515815260200191505060405180910390f35b600061067967a91a92e3b1e6964d60c01b6116c3565b61068d67ad83c03b0635ce8660c01b6116c3565b6106a1675ffe20d6c29c0f2660c01b6116c3565b60008083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006106f4671dac06bc8af993dc60c01b6116c3565b6107086774259b69da08da8360c01b6116c3565b61071c67114165c8cbc5f0e260c01b6116c3565b600080600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061076a6733ed267e56eccf1960c01b6116c3565b61077e67060b2c72f9b534b260c01b6116c3565b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156107f8576107c667df48ee080439f57e60c01b6116c3565b6107da675e0c9b0341a2798960c01b6116c3565b6107ee6716d8c9e02790591c60c01b6116c3565b6000915050610839565b61080c67e6481328ab4613be60c01b6116c3565b61082067bfc9ecee990bd5e660c01b6116c3565b610834670e76d00bdcfa8b2660c01b6116c3565b809150505b919050565b60006108546746301080129d62c460c01b6116c3565b8361086967706fa904dea172c060c01b6116c3565b61087d67cf76ab10c9ddd21560c01b6116c3565b61089167522094c27440315e60c01b6116c3565b600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506108df67a02f5d77106563e460c01b6116c3565b6108f367f4dd7b3aca08833a60c01b6116c3565b610907675e2aab026345f06560c01b6116c3565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148015610952575061095167e31086c8d5ce86ea60c01b611815565b5b806109ff5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156109fe57506109fd6772b58f74a12a5c6760c01b611815565b5b5b610a54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611d24602c913960400191505060405180910390fd5b610a68677a10899b08faa7f360c01b6116c3565b610a7c67bb373fe3fa23200260c01b6116c3565b610a90671b0b4faa8d730f0d60c01b6116c3565b610aa4679dc2381e3d0bb5c060c01b6116c3565b610ab86794da2df0a83fbf0160c01b6116c3565b610acc673945bc0957f8e5e660c01b6116c3565b600086866040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050610b1367042906f404bfb65160c01b6116c3565b8460008083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b7b677df30e26fea4415b60c01b6116c3565b610b8f670f22a7c9dd95b7b760c01b6116c3565b85877fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8287604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a3610bf267ec9e85db7555aa4a60c01b6116c3565b610c0667364b665ccba087f160c01b6116c3565b8093505050509392505050565b610c27672b4d43abf09065c360c01b6116c3565b81610c3c67706fa904dea172c060c01b6116c3565b610c5067cf76ab10c9ddd21560c01b6116c3565b610c6467522094c27440315e60c01b6116c3565b600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610cb267a02f5d77106563e460c01b6116c3565b610cc667f4dd7b3aca08833a60c01b6116c3565b610cda675e2aab026345f06560c01b6116c3565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148015610d255750610d2467e31086c8d5ce86ea60c01b611815565b5b80610dd25750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015610dd15750610dd06772b58f74a12a5c6760c01b611815565b5b5b610e27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611d24602c913960400191505060405180910390fd5b610e3b677a10899b08faa7f360c01b6116c3565b610e4f67bb373fe3fa23200260c01b6116c3565b610e63673de8f8a23b6e5d7060c01b6116c3565b610e7767d86a23592c19405060c01b6116c3565b610e8b6795e8daa61d7de75d60c01b6116c3565b8260008086815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550610edb6774b5b8b9c3b8d5c460c01b6116c3565b610eef6763d54e793fbed22960c01b6116c3565b837f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6884604051808267ffffffffffffffff16815260200191505060405180910390a250505050565b6000610f4d674d7d38a73539dc5660c01b6116c3565b610f61675d3ffe7e1ff3b5d360c01b6116c3565b610f7567105d974893e03c6a60c01b6116c3565b60008083815260200190815260200160002060010160149054906101000a900467ffffffffffffffff169050919050565b610fba6723e07f132490a9d160c01b6116c3565b81610fcf67706fa904dea172c060c01b6116c3565b610fe367cf76ab10c9ddd21560c01b6116c3565b610ff767522094c27440315e60c01b6116c3565b600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061104567a02f5d77106563e460c01b6116c3565b61105967f4dd7b3aca08833a60c01b6116c3565b61106d675e2aab026345f06560c01b6116c3565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480156110b857506110b767e31086c8d5ce86ea60c01b611815565b5b806111655750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561116457506111636772b58f74a12a5c6760c01b611815565b5b5b6111ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611d24602c913960400191505060405180910390fd5b6111ce677a10899b08faa7f360c01b6116c3565b6111e267bb373fe3fa23200260c01b6116c3565b6111f6678d27949ed879301060c01b6116c3565b61120a67b0c05e18247a5a8060c01b6116c3565b61121e67022cb8e7fcf8e2c160c01b6116c3565b8260008086815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061128667d5df43ea9338375460c01b6116c3565b61129a678a8458b03787c9f760c01b6116c3565b837f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a084604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250505050565b611302677f782f3f1c22e8ef60c01b6116c3565b8161131767706fa904dea172c060c01b6116c3565b61132b67cf76ab10c9ddd21560c01b6116c3565b61133f67522094c27440315e60c01b6116c3565b600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061138d67a02f5d77106563e460c01b6116c3565b6113a167f4dd7b3aca08833a60c01b6116c3565b6113b5675e2aab026345f06560c01b6116c3565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614801561140057506113ff67e31086c8d5ce86ea60c01b611815565b5b806114ad5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156114ac57506114ab6772b58f74a12a5c6760c01b611815565b5b5b611502576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180611d24602c913960400191505060405180910390fd5b611516677a10899b08faa7f360c01b6116c3565b61152a67bb373fe3fa23200260c01b6116c3565b61153e67b89dd9afaec2096a60c01b6116c3565b61155267bb19253879085b5f60c01b6116c3565b6115666749a0b037f6cc722f60c01b6116c3565b8260008086815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506115ce67faa3933c3e8346f460c01b6116c3565b6115e267847aca86b396fc0160c01b6116c3565b837fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d26684604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250505050565b61164a67f88f52150baac59560c01b6116c3565b61165e67b2a29dd08c9bb3c060c01b6116c3565b611672670e5fe7dc2fedb22c60c01b6116c3565b600061167f86868661083e565b905061169567fea2b112ffe9f66260c01b6116c3565b6116a967abd2fef41df14a0d60c01b6116c3565b6116b4818484611a1a565b505050505050565b6000919050565b50565b6116da67b17903bbeb444e4760c01b6116c3565b6116ee677f9022dab280f6c660c01b6116c3565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611796676456df39b9a8dcde60c01b6116c3565b6117aa67597f2972801c6c1860c01b6116c3565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b600060019050919050565b611834675cb74efcf7b4f94b60c01b6116c3565b611848678e988af9f8e57dfd60c01b6116c3565b61185c678a9f9ab2e51d3dfc60c01b6116c3565b61186684846112ee565b61187a67d690fb1171a8a39460c01b6116c3565b61188e6795e8b780995311da60c01b6116c3565b611899848383611a1a565b50505050565b60006118b5674c96849f2f11d16f60c01b6116c3565b6118c9675c85d148057adfc760c01b6116c3565b6118dd675463f54b290c378460c01b6116c3565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600061198567d2eb6228dc3434b860c01b6116c3565b61199967c8925a4659a55e2360c01b6116c3565b6119ad676c42fb1c0510629c60c01b6116c3565b600073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b611a2e675011b0a91f27726960c01b6116c3565b611a4267d7f40713044ecddf60c01b6116c3565b611a5667177444d8941447b360c01b6116c3565b60008084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611bb557611ad267720a9d94dd7b426860c01b6116c3565b611ae667eadc6e58b51eaf6c60c01b6116c3565b8160008085815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611b4e679433de5066f024ad60c01b6116c3565b611b6267026733b077e3f01160c01b6116c3565b827f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a083604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a2611bca565b611bc967b671c5abe4a8865160c01b6116c3565b5b611bde67b1449d9ae72db83c60c01b6116c3565b611bf267df7e552f1e3df70e60c01b6116c3565b60008084815260200190815260200160002060010160149054906101000a900467ffffffffffffffff1667ffffffffffffffff168167ffffffffffffffff1614611d0957611c4a67a0fc58a9d736e60360c01b6116c3565b611c5e67ecce33337b56dff760c01b6116c3565b8060008085815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550611cae67fb4c10d0982e412f60c01b6116c3565b611cc26739c620525670447060c01b6116c3565b827f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6882604051808267ffffffffffffffff16815260200191505060405180910390a2611d1e565b611d1d6759e493318464c1f160c01b6116c3565b5b50505056fe454e5352656769737472793a20726576657274656420627920617574686f7269736564206d6f646966696572a164736f6c634300060c000a"; type ENSRegistryConstructorParams = | [signer?: Signer] diff --git a/typings/factories/ENSReverseRegistrar__factory.ts b/typings/factories/ENSReverseRegistrar__factory.ts index df90031c..7addab65 100644 --- a/typings/factories/ENSReverseRegistrar__factory.ts +++ b/typings/factories/ENSReverseRegistrar__factory.ts @@ -40,6 +40,108 @@ const _abi = [ stateMutability: "view", type: "function", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_098c0657", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__c9f97d2d", + type: "bytes8", + }, + ], + name: "c_c9f97d2d", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_false098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__c9f97d2d", + type: "bytes8", + }, + ], + name: "c_falsec9f97d2d", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_true098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__c9f97d2d", + type: "bytes8", + }, + ], + name: "c_truec9f97d2d", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { @@ -181,7 +283,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610df8806100606000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063485cc95511610066578063485cc955146101bc5780637b103999146102205780637cf8a2eb14610254578063bffbe61c14610272578063c47f0027146102ca57610093565b806304f3bcec146100985780630f5a5466146100cc5780631e83409a14610144578063392e53cd1461019c575b600080fd5b6100a0610399565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61012e600480360360408110156100e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103bf565b6040518082815260200191505060405180910390f35b6101866004803603602081101561015a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103d3565b6040518082815260200191505060405180910390f35b6101a46103e7565b60405180821515815260200191505060405180910390f35b61021e600480360360408110156101d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061043d565b005b6102286105f5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61025c61061b565b6040518082815260200191505060405180910390f35b6102b46004803603602081101561028857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610642565b6040518082815260200191505060405180910390f35b610383600480360360208110156102e057600080fd5b81019080803590602001906401000000008111156102fd57600080fd5b82018360208201111561030f57600080fd5b8035906020019184600183028401116401000000008311171561033157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506106bb565b6040518082815260200191505060405180910390f35b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006103cb83836107ef565b905092915050565b60006103e08260006107ef565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146104e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180610dbd602f913960400191505060405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b81565b60007f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b6106878373ffffffffffffffffffffffffffffffffffffffff16610d4d565b6040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b6000806106ea30600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166107ef565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637737221382856040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610781578082015181840152602081019050610766565b50505050905090810190601f1680156107ae5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156107ce57600080fd5b505af11580156107e2573d6000803e3d6000fd5b5050505080915050919050565b6000806108113373ffffffffffffffffffffffffffffffffffffffff16610d4d565b905060007f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b8260405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d602081101561090857600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015610a315750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156109c657600080fd5b505afa1580156109da573d6000803e3d6000fd5b505050506040513d60208110156109f057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15610c13573073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b6757600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59237f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b85306040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015610b2757600080fd5b505af1158015610b3b573d6000803e3d6000fd5b505050506040513d6020811015610b5157600080fd5b8101908080519060200190929190505050503090505b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a83876040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015610bfa57600080fd5b505af1158015610c0e573d6000803e3d6000fd5b505050505b8573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610d4157600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59237f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b85896040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015610d0457600080fd5b505af1158015610d18573d6000803e3d6000fd5b505050506040513d6020811015610d2e57600080fd5b8101908080519060200190929190505050505b81935050505092915050565b6000807f303132333435363738396162636465660000000000000000000000000000000060285b6000811115610daa5760018103905081600f86161a815360108504945060018103905081600f86161a8153601085049450610d74565b5060286000209150508091505091905056fe496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a6572a164736f6c634300060c000a"; + "0x608060405234801561001057600080fd5b5061002b67bcc9be562f8a4b0a60c01b6100a460201b60201c565b61004567579ae7209daca85260c01b6100a460201b60201c565b326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061009f67a399ebea09360d3560c01b6100a760201b60201c565b6100aa565b50565b50565b6115e3806100b96000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80634d29954811610097578063c454330511610066578063c45433051461041d578063c47f00271461047c578063c74348c01461054b578063d84fa10c146105aa576100f5565b80634d299548146103145780637b103999146103735780637cf8a2eb146103a7578063bffbe61c146103c5576100f5565b80631e83409a116100d35780631e83409a146101ef578063392e53cd146102475780633e260b1314610267578063485cc955146102b0576100f5565b806304f3bcec146100fa578063061e6a5a1461012e5780630f5a546614610177575b600080fd5b610102610609565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101756004803603602081101561014457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061062f565b005b6101d96004803603604081101561018d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610632565b6040518082815260200191505060405180910390f35b6102316004803603602081101561020557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610682565b6040518082815260200191505060405180910390f35b61024f6106d1565b60405180821515815260200191505060405180910390f35b6102ae6004803603602081101561027d57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610764565b005b610312600480360360408110156102c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610767565b005b61035b6004803603602081101561032a57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610a37565b60405180821515815260200191505060405180910390f35b61037b610a3e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103af610a64565b6040518082815260200191505060405180910390f35b610407600480360360208110156103db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a8b565b6040518082815260200191505060405180910390f35b6104646004803603602081101561043357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b40565b60405180821515815260200191505060405180910390f35b6105356004803603602081101561049257600080fd5b81019080803590602001906401000000008111156104af57600080fd5b8201836020820111156104c157600080fd5b803590602001918460018302840111640100000000831117156104e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610b4b565b6040518082815260200191505060405180910390f35b6105926004803603602081101561056157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610d0c565b60405180821515815260200191505060405180910390f35b6105f1600480360360208110156105c057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610d17565b60405180821515815260200191505060405180910390f35b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b50565b6000610648678d9a4ac5f4e4e48460c01b61062f565b61065c67d5715caf8f5a00af60c01b61062f565b610670678b87148bdb43cd2760c01b61062f565b61067a8383610d1e565b905092915050565b600061069867802b7699dc38571c60c01b61062f565b6106ab66af07c42e64946260c01b61062f565b6106bf67e2d84fe002c08a8960c01b61062f565b6106ca826000610d1e565b9050919050565b60006106e767e29fe2f351ca6b2760c01b610764565b6106fb676f5dd3f08b97747760c01b610764565b61070f673a9488d62818322a60c01b610764565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b61077b676e55433e10791d8960c01b61062f565b61078f67d2ba19feb39e0b7f60c01b610764565b6107a3670c5ad53cdb9edd1560c01b610764565b6107b767b6b588d2ebb9ae6960c01b610764565b6107cb67c4ec9a90a885875260c01b610764565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161461086f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806115a8602f913960400191505060405180910390fd5b61088367c3785ba1534db95460c01b610764565b61089767e4202927591248ef60c01b610764565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108ec67531cfa2817fbdc8660c01b610764565b61090067beff9d01c8e116a160c01b61062f565b610914678dad54bf39b6933060c01b61062f565b6109286782d24218338e77e360c01b61062f565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061097d673be3b5afe55773f460c01b61062f565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506109d26701520f419008b58e60c01b610764565b6109e66775364c04848b013b60c01b610764565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b6000919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b81565b6000610aa167d6bca8f1ea738a1f60c01b61062f565b610ab5670c71bc050b17c4c160c01b61062f565b610ac96785b58abe0136c50060c01b61062f565b7f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b610b0c8373ffffffffffffffffffffffffffffffffffffffff166114bc565b6040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b600060019050919050565b6000610b6167c6387bb33702f25760c01b61062f565b610b7567f52dc71539f8371f60c01b61062f565b610b896795e699f5c471f2c160c01b61062f565b6000610bb730600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d1e565b9050610bcd67a6bc90be77a4c25f60c01b61062f565b610be1671d56c946afa642cc60c01b61062f565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637737221382856040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610c76578082015181840152602081019050610c5b565b50505050905090810190601f168015610ca35780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015610cc357600080fd5b505af1158015610cd7573d6000803e3d6000fd5b50505050610cef673ea2fa6739acc47a60c01b61062f565b610d0367179612b7219546fa60c01b61062f565b80915050919050565b600060019050919050565b6000919050565b6000610d34678fba7687037ff0ab60c01b61062f565b610d4867326f99af0097bd8d60c01b61062f565b610d5c67f93a3c734b04a2b860c01b61062f565b6000610d7d3373ffffffffffffffffffffffffffffffffffffffff166114bc565b9050610d93675777d3f0b5168a0260c01b61062f565b610da7677169c6b776203e3260c01b61062f565b60007f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b826040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050610e11677372572d8a0bbee560c01b61062f565b610e2567670f6de6440f899e60c01b61062f565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610e9a57600080fd5b505afa158015610eae573d6000803e3d6000fd5b505050506040513d6020811015610ec457600080fd5b81019080805190602001909291905050509050610eeb67af10598235b6e68b60c01b61062f565b610eff67b6df3587186b09b660c01b61062f565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156110155750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610faa57600080fd5b505afa158015610fbe573d6000803e3d6000fd5b505050506040513d6020811015610fd457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156112c85761102e670a8b5142cbf3031c60c01b61062f565b611042673e693fc91f3b56ee60c01b61062f565b611056674284a8fe6ce6242060c01b61062f565b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146111db5761109d67f32eec28915eb55760c01b61062f565b6110b167215c62d59a05704560c01b61062f565b6110c5674b022e8bc635788c60c01b61062f565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59237f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b85306040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b15801561118357600080fd5b505af1158015611197573d6000803e3d6000fd5b505050506040513d60208110156111ad57600080fd5b8101908080519060200190929190505050506111d367330e13943653410e60c01b61062f565b3090506111f0565b6111ef6796e8a699f95f13e260c01b61062f565b5b61120467ee2823989b48738560c01b61062f565b611218679ebccdd2975f0bab60c01b61062f565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a83876040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156112ab57600080fd5b505af11580156112bf573d6000803e3d6000fd5b505050506112dd565b6112dc674921cfe0d7ebef4060c01b61062f565b5b6112f167720b3121f3f8e3ed60c01b61062f565b61130567adb69e3621680edb60c01b61062f565b8573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146114735761134c67f7b8e5484c481e9860c01b61062f565b61136067f0d42aabdb004ef760c01b61062f565b6113746706d054ec7ccf763c60c01b61062f565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59237f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e260001b85896040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b15801561143257600080fd5b505af1158015611446573d6000803e3d6000fd5b505050506040513d602081101561145c57600080fd5b810190808051906020019092919050505050611488565b61148767b887de50faa5c22160c01b61062f565b5b61149c677fdd0f0a45805bcb60c01b61062f565b6114b067a7ee6975b58644a060c01b61062f565b81935050505092915050565b60006114d26749944f65c73f543d60c01b6115a4565b6114e6672e77f887ba8052d460c01b6115a4565b6114fa676cfd017771fa3bc760c01b6115a4565b6000611510679a313554b743bb2a60c01b6115a4565b7f303132333435363738396162636465660000000000000000000000000000000060285b600081111561156a5760018103905081600f86161a815360108504945060018103905081600f86161a8153601085049450611534565b50602860002091505061158767063a805e66eb937260c01b6115a4565b61159b67337071d34726b2ac60c01b6115a4565b80915050919050565b5056fe496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a6572a164736f6c634300060c000a"; type ENSReverseRegistrarConstructorParams = | [signer?: Signer] diff --git a/typings/factories/ENSTextResolver__factory.ts b/typings/factories/ENSTextResolver__factory.ts index 8e2ba604..c70b7264 100644 --- a/typings/factories/ENSTextResolver__factory.ts +++ b/typings/factories/ENSTextResolver__factory.ts @@ -35,6 +35,108 @@ const _abi = [ name: "TextChanged", type: "event", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__7ffc1d72", + type: "bytes8", + }, + ], + name: "c_7ffc1d72", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__f395fef5", + type: "bytes8", + }, + ], + name: "c_f395fef5", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__7ffc1d72", + type: "bytes8", + }, + ], + name: "c_false7ffc1d72", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__f395fef5", + type: "bytes8", + }, + ], + name: "c_falsef395fef5", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__7ffc1d72", + type: "bytes8", + }, + ], + name: "c_true7ffc1d72", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__f395fef5", + type: "bytes8", + }, + ], + name: "c_truef395fef5", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { diff --git a/typings/factories/ERC20Token__factory.ts b/typings/factories/ERC20Token__factory.ts index 83437628..97f3f406 100644 --- a/typings/factories/ERC20Token__factory.ts +++ b/typings/factories/ERC20Token__factory.ts @@ -124,6 +124,57 @@ const _abi = [ stateMutability: "view", type: "function", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__99a47378", + type: "bytes8", + }, + ], + name: "c_99a47378", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__99a47378", + type: "bytes8", + }, + ], + name: "c_false99a47378", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__99a47378", + type: "bytes8", + }, + ], + name: "c_true99a47378", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [], name: "decimals", diff --git a/typings/factories/ExternalAccountRegistry__factory.ts b/typings/factories/ExternalAccountRegistry__factory.ts index 1c8a466b..5cef9945 100644 --- a/typings/factories/ExternalAccountRegistry__factory.ts +++ b/typings/factories/ExternalAccountRegistry__factory.ts @@ -111,6 +111,57 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9570ce98", + type: "bytes8", + }, + ], + name: "c_9570ce98", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9570ce98", + type: "bytes8", + }, + ], + name: "c_false9570ce98", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9570ce98", + type: "bytes8", + }, + ], + name: "c_true9570ce98", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { @@ -246,7 +297,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50610fff806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806394000b021161005b57806394000b0214610227578063bb890d3f14610255578063d543c34a146102cf578063e278cfc6146102fd57610088565b806334d323a41461008d57806359b52ef8146101115780638a3133781461017f5780638ecc1365146101e3575b600080fd5b6100f9600480360360608110156100a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610341565b60405180821515815260200191505060405180910390f35b6101676004803603606081101561012757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061040c565b60405180821515815260200191505060405180910390f35b6101cb6004803603604081101561019557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104ab565b60405180821515815260200191505060405180910390f35b610225600480360360208110156101f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061053f565b005b6102536004803603602081101561023d57600080fd5b8101908080359060200190929190505050610860565b005b6102b76004803603604081101561026b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109f1565b60405180821515815260200191505060405180910390f35b6102fb600480360360208110156102e557600080fd5b8101908080359060200190929190505050610ab1565b005b61033f6004803603602081101561031357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cb2565b005b6000610403826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610eb190919063ffffffff16565b90509392505050565b60006104a2826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610eb190919063ffffffff16565b90509392505050565b60006105376000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008481526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610f00565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156105c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180610f14602d913960400191505060405180910390fd5b61067b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610f00565b156106d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180610f6e602d913960400191505060405180910390fd5b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff02191690831515021790555060008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507f27e282f7712c5b4617277759c834b86d163dfc1aad25c8c3c5926a1c9e5644683382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b6108ea6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008381526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610f00565b61093f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610fc7602c913960400191505060405180910390fd5b436000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000838152602001908152602001600020600101819055507f87dde712783ad4895642c7a875998317a71cf424a2444eb79545ce3795431ff93382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b6000610aa96000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610f00565b905092915050565b610b3b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008381526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610f00565b15610b91576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180610f41602d913960400191505060405180910390fd5b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600083815260200190815260200160002060000160006101000a81548160ff02191690831515021790555060008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000838152602001908152602001600020600101819055507f4075b367eed0513a54aa39c287c66d6ae98e5df6f73ac087b26b8f89d05d1aa83382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b610d686000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050610f00565b610dbd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610f9b602c913960400191505060405180910390fd5b436000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507f1ce3cbbc43ee231e5b950332f2b0b9dd7d349291a3ee411ce5c5c7ed745661bb3382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b60008060009050836000015115610ef657600084602001511415610ed85760019050610ef5565b6000831415610eea5760019050610ef4565b8284602001511190505b5b5b8091505092915050565b6000610f0c8243610eb1565b905091905056fe45787465726e616c4163636f756e7452656769737472793a2063616e6e6f742061646420307830206f776e657245787465726e616c4163636f756e7452656769737472793a2070726f6f6620616c72656164792065786973747345787465726e616c4163636f756e7452656769737472793a206f776e657220616c72656164792065786973747345787465726e616c4163636f756e7452656769737472793a206f776e657220646f65736e277420657869737445787465726e616c4163636f756e7452656769737472793a2070726f6f6620646f65736e2774206578697374a164736f6c634300060c000a"; + "0x608060405234801561001057600080fd5b506116e1806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80638a313378116100715780638a313378146102a75780638ecc13651461030b57806394000b021461034f578063bb890d3f1461037d578063d543c34a146103f7578063e278cfc614610425576100a9565b806313c5d3d6146100ae5780632dd5e43b146100f757806334d323a414610156578063521a6d99146101da57806359b52ef814610239575b600080fd5b6100f5600480360360208110156100c457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610469565b005b61013e6004803603602081101561010d57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061046c565b60405180821515815260200191505060405180910390f35b6101c26004803603606081101561016c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610473565b60405180821515815260200191505060405180910390f35b610221600480360360208110156101f057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061057a565b60405180821515815260200191505060405180910390f35b61028f6004803603606081101561024f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610585565b60405180821515815260200191505060405180910390f35b6102f3600480360360408110156102bd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610660565b60405180821515815260200191505060405180910390f35b61034d6004803603602081101561032157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610730565b005b61037b6004803603602081101561036557600080fd5b8101908080359060200190929190505050610b55565b005b6103df6004803603604081101561039357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d86565b60405180821515815260200191505060405180910390f35b6104236004803603602081101561040d57600080fd5b8101908080359060200190929190505050610e82565b005b6104676004803603602081101561043b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611137565b005b50565b6000919050565b60006104896712aee2a4234e213b60c01b610469565b61049d677f608f86d5ed81d060c01b610469565b6104b167851440c1af22630b60c01b610469565b610571826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506113d690919063ffffffff16565b90509392505050565b600060019050919050565b600061059b67b677e5dcabcfe2f660c01b610469565b6105af67cd87ea7aff21347260c01b610469565b6105c3679b34ee18ce08f67a60c01b610469565b610657826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506113d690919063ffffffff16565b90509392505050565b600061067667f4ac95286becf70260c01b610469565b61068a6786eaaf2ebb14eef160c01b610469565b61069e6727010fec581f679c60c01b610469565b6107286000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008481526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506115a3565b905092915050565b61074467f277242d0eb3a10360c01b610469565b61075867349a5dbd9608c67260c01b610469565b61076c67d8778712b69c370460c01b610469565b6107806779f0022f3961a6a560c01b610469565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610806576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001806115f6602d913960400191505060405180910390fd5b61081a67aa9935183f39be2760c01b610469565b61082e6732a7a8ca89eb668b60c01b610469565b610842671c75b5ac280b25d560c01b610469565b61085667f5c43a38f8aaa7ce60c01b610469565b61090c6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506115a3565b15610962576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611650602d913960400191505060405180910390fd5b61097667cb4e32d30cb58f8860c01b610469565b61098a673d458051ca59d16c60c01b610469565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff021916908315150217905550610a38676c020d93a455334f60c01b610469565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550610ad3675e067bbb4241b70e60c01b610469565b610ae7670a1cefa15605c64860c01b610469565b7f27e282f7712c5b4617277759c834b86d163dfc1aad25c8c3c5926a1c9e5644683382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b610b696731dd5d8e4a5787f560c01b610469565b610b7d679152dbe667f7fffa60c01b610469565b610b9167f82f8a54bc2852fe60c01b610469565b610ba567f2a3fac993b2ca5b60c01b610469565b610c2f6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008381526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506115a3565b610c84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806116a9602c913960400191505060405180910390fd5b610c9867dd541600e96ab23d60c01b610469565b610cac6733f4e10bff763a2060c01b610469565b436000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600083815260200190815260200160002060010181905550610d1a673f4a3f61667843d860c01b610469565b610d2e67ee08162d1a1a76b560c01b610469565b7f87dde712783ad4895642c7a875998317a71cf424a2444eb79545ce3795431ff93382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b6000610d9c67cf11ce1aab4e2dd660c01b610469565b610db067150bddeb94658af360c01b610469565b610dc467bfbdaa54aa93969660c01b610469565b610e7a6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506115a3565b905092915050565b610e96673452968867b7db5e60c01b610469565b610eaa676cf088855730131a60c01b610469565b610ebe67cc56d769a632b81660c01b610469565b610ed2674395cfaf0f7bc35a60c01b610469565b610f5c6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008381526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506115a3565b15610fb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611623602d913960400191505060405180910390fd5b610fc6676295cb0ac9bf889960c01b610469565b610fda67585cbcf2bfe4569f60c01b610469565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600083815260200190815260200160002060000160006101000a81548160ff02191690831515021790555061105c6713473460f014e9a660c01b610469565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000838152602001908152602001600020600101819055506110cb677b5d22bf58f1654760c01b610469565b6110df6716be8639b573c58b60c01b610469565b7f4075b367eed0513a54aa39c287c66d6ae98e5df6f73ac087b26b8f89d05d1aa83382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b61114b67203984577370df2460c01b610469565b61115f67cc5e4453e3c9496860c01b610469565b6111736793a5b9a4a7fb0a9460c01b610469565b6111876772d6efaa0caace9160c01b610469565b61123d6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506115a3565b611292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061167d602c913960400191505060405180910390fd5b6112a667b2cd93d69430b42360c01b610469565b6112ba6711125f79ef0d0bb160c01b610469565b436000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555061135467b7eaa9480c8beab960c01b610469565b61136867ca228bd94735443360c01b610469565b7f1ce3cbbc43ee231e5b950332f2b0b9dd7d349291a3ee411ce5c5c7ed745661bb3382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b60006113ec679c9d1daabf83176160c01b6115f2565b611400674a60477fa1015d9d60c01b6115f2565b611414671d2dfd1cbc37881260c01b6115f2565b600061142a675c84658542d4247860c01b6115f2565b61143e676c38c63a8395bd4160c01b6115f2565b83600001511561155c5761145c673a129e7e3fa8299860c01b6115f2565b61147067d5d911350233c4aa60c01b6115f2565b6114846788aca451346a904360c01b6115f2565b6000846020015114156114c2576114a5671cab9521da0eae6e60c01b6115f2565b6114b9679a431a7af70a318b60c01b6115f2565b60019050611557565b6114d66728a02509a30cdf2f60c01b6115f2565b6114ea67a315ca16c55cdf1660c01b6115f2565b60008314156115245761150767e5e2fd7cbec5211b60c01b6115f2565b61151b676bc9eb4a60fdc77060c01b6115f2565b60019050611556565b611538670dbcda2f621ef14860c01b6115f2565b61154c67cbf2e8a46e9eb31e60c01b6115f2565b8284602001511190505b5b611571565b611570679312107b7e60296d60c01b6115f2565b5b611585676d1c114b386646c760c01b6115f2565b61159967b26d3c1cf974c30e60c01b6115f2565b8091505092915050565b60006115b9679cab3b0c44b8044060c01b6115f2565b6115cd67ca9af921644e3db460c01b6115f2565b6115e167fb2347240336566c60c01b6115f2565b6115eb82436113d6565b9050919050565b5056fe45787465726e616c4163636f756e7452656769737472793a2063616e6e6f742061646420307830206f776e657245787465726e616c4163636f756e7452656769737472793a2070726f6f6620616c72656164792065786973747345787465726e616c4163636f756e7452656769737472793a206f776e657220616c72656164792065786973747345787465726e616c4163636f756e7452656769737472793a206f776e657220646f65736e277420657869737445787465726e616c4163636f756e7452656769737472793a2070726f6f6620646f65736e2774206578697374a164736f6c634300060c000a"; type ExternalAccountRegistryConstructorParams = | [signer?: Signer] diff --git a/typings/factories/GatewayRecipientMock__factory.ts b/typings/factories/GatewayRecipientMock__factory.ts index 3aaed171..7bb7da80 100644 --- a/typings/factories/GatewayRecipientMock__factory.ts +++ b/typings/factories/GatewayRecipientMock__factory.ts @@ -45,6 +45,108 @@ const _abi = [ name: "Context", type: "event", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d18be0f9", + type: "bytes8", + }, + ], + name: "c_d18be0f9", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__e67bae8c", + type: "bytes8", + }, + ], + name: "c_e67bae8c", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d18be0f9", + type: "bytes8", + }, + ], + name: "c_falsed18be0f9", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__e67bae8c", + type: "bytes8", + }, + ], + name: "c_falsee67bae8c", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d18be0f9", + type: "bytes8", + }, + ], + name: "c_trued18be0f9", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__e67bae8c", + type: "bytes8", + }, + ], + name: "c_truee67bae8c", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [], name: "emitContext", @@ -68,7 +170,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b506040516104bb3803806104bb8339818101604052602081101561003357600080fd5b81019080805190602001909291905050506100538161005960201b60201c565b5061009c565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610410806100ab6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063116191b61461003b5780636d0e77801461006f575b600080fd5b610043610079565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61007761009d565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f1b86fe2ccdffbf1a2c71e8eca215369d319e2c66c438a84d666fb2536ffbfb3a6100c6610152565b6100ce610163565b6100d6610174565b604051808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509550505050505060405180910390a1565b600061015e60286101bf565b905090565b600061016f60146101bf565b905090565b366000366000610182610254565b156101ab576000366000906028600036905003926101a2939291906103ae565b915091506101b3565b600036915091505b81819350935050509091565b600080600090506101ce610254565b1561024757600083600036905003905061023f600036839060148501926101f7939291906103ae565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610315565b91505061024b565b3390505b80915050919050565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561030e57602c60003690501015610309576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806103e26022913960400191505060405180910390fd5b600190505b8091505090565b600080601483511461038f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f42797465734c69623a20696e76616c69642064617461206c656e67746800000081525060200191505060405180910390fd5b6c01000000000000000000000000602084015104905080915050919050565b600080858511156103be57600080fd5b838611156103cb57600080fd5b600185028301915084860390509450949250505056fe47617465776179526563697069656e743a20696e76616c6964206d73672e64617461a164736f6c634300060c000a"; + "0x608060405234801561001057600080fd5b50604051610c62380380610c628339818101604052602081101561003357600080fd5b810190808051906020019092919050505061005e674f33f857671bcade60c01b6100c160201b60201c565b610078676daff44fec51189560c01b6100c460201b60201c565b6100926765821a2a6b9e96b660c01b6100c460201b60201c565b6100ac677affba52489dc8d160c01b6100c460201b60201c565b6100bb816100c760201b60201c565b5061013e565b50565b50565b6100e1670beab42e12728d3b60c01b6100c160201b60201c565b6100fb675ecbac840a5512ec60c01b6100c160201b60201c565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610b158061014d6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806381d7bced1161005b57806381d7bced146101895780639f106f7e146101e8578063ccf4d3ff14610247578063f0af07211461029057610088565b8063116191b61461008d578063385ee184146100c1578063692b0ad9146101205780636d0e77801461017f575b600080fd5b6100956102d9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610108600480360360208110156100d757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506102fd565b60405180821515815260200191505060405180910390f35b6101676004803603602081101561013657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610304565b60405180821515815260200191505060405180910390f35b61018761030b565b005b6101d06004803603602081101561019f57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506103fc565b60405180821515815260200191505060405180910390f35b61022f600480360360208110156101fe57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610407565b60405180821515815260200191505060405180910390f35b61028e6004803603602081101561025d57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610412565b005b6102d7600480360360208110156102a657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610415565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000919050565b6000919050565b61031f67b20fd189f077e05860c01b610412565b61033367ec0b194b4a81094460c01b610412565b6103476762838e597a2e18b460c01b610412565b7f1b86fe2ccdffbf1a2c71e8eca215369d319e2c66c438a84d666fb2536ffbfb3a610370610418565b610378610465565b6103806104b2565b604051808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509550505050505060405180910390a1565b600060019050919050565b600060019050919050565b50565b50565b600061042e677ac614d5268cc8ac60c01b610415565b610442670a6b7ac33c94c4ed60c01b610415565b61045667e7ef433820a2765360c01b610415565b61046060286105d9565b905090565b600061047b67e6b9fb986a1ba5a160c01b610415565b61048f67e5f2b4fde85ab0e060c01b610415565b6104a3675a28d96f6aadd0b960c01b610415565b6104ad60146105d9565b905090565b3660006104c9678cde4d1c98ab793960c01b610415565b6104dd6774d9633c758f89e360c01b610415565b6104f167e6e7a205e7f71da860c01b610415565b3660006105086744d9d65c1c805efa60c01b610415565b61051c6736bb3dc184ff614b60c01b610415565b61052461076f565b156105755761053d6780767e9837f3e3e960c01b610415565b61055167cf3ec7dee0fd7cdd60c01b610415565b60003660009060286000369050039261056c93929190610ab3565b915091506105a5565b610589673c5b301410c0412c60c01b610415565b61059d6746f8f41b74f7388260c01b610415565b600036915091505b6105b9671404f1c53eef9bc560c01b610415565b6105cd67647e75d886adb5ab60c01b610415565b81819350935050509091565b60006105ef6787c8246a4b35d1f160c01b610415565b61060367976a1e8d41064d2460c01b610415565b610617671867d8bf077bb31160c01b610415565b600061062d67bdfeda5454a1273960c01b610415565b610641677709e048711a13c960c01b610415565b61064961076f565b156107125761066267d3c6f6b0bcac9b6e60c01b610415565b610676673b2573735f5d680260c01b610415565b61068a675089eb0622c78a2260c01b610415565b60008360003690500390506106a9674bc94a8e9a6ee57960c01b610415565b61070a600036839060148501926106c293929190610ab3565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061094e565b91505061073e565b610726677e45e81af2ec2edc60c01b610415565b61073a67391e31dbfdfb407e60c01b610415565b3390505b61075267c4042e2c7c2c999760c01b610415565b61076667fc44c5cccf2cd16760c01b610415565b80915050919050565b60006107856714ec9ba31585b6f760c01b610415565b6107996764d00f8ee4cbc0f460c01b610415565b6107ad6728aef4b71ffef7e260c01b610415565b60006107c3677b6cf6392b8d09d960c01b610415565b6107d767da655f124163f4bc60c01b610415565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561090a5761083f678c4556fd14dc507160c01b610415565b610853674811af4455ee520960c01b610415565b61086767ae36e4b52033411860c01b610415565b61087b67ffe63a27679b309260c01b610415565b602c600036905010156108d9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610ae76022913960400191505060405180910390fd5b6108ed67d1762b0b1ca636f360c01b610415565b6109016769c465f7e405b9f660c01b610415565b6001905061091f565b61091e6710f40798097af22060c01b610415565b5b610933671855328cbdf7411660c01b610415565b610947670e4f1457e534f9ac60c01b610415565b8091505090565b6000610964670df8d76b8cabf76a60c01b610ab0565b61097867e180fcce9e2bf4c560c01b610ab0565b61098c670dcb70abe8e8bb0b60c01b610ab0565b60006109a267c9f13cc22eb780e060c01b610ab0565b6109b667c60f8d891ff21de960c01b610ab0565b6109ca6782bb9e679e55c73460c01b610ab0565b6014835114610a41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f42797465734c69623a20696e76616c69642064617461206c656e67746800000081525060200191505060405180910390fd5b610a55679ea304b1b6348ade60c01b610ab0565b610a6967a0049b4768bf518260c01b610ab0565b6c010000000000000000000000006020840151049050610a93671f4dc55703cfba1860c01b610ab0565b610aa767afb63a07e82275e260c01b610ab0565b80915050919050565b50565b60008085851115610ac357600080fd5b83861115610ad057600080fd5b600185028301915084860390509450949250505056fe47617465776179526563697069656e743a20696e76616c6964206d73672e64617461a164736f6c634300060c000a"; type GatewayRecipientMockConstructorParams = | [signer?: Signer] diff --git a/typings/factories/GatewayRecipient__factory.ts b/typings/factories/GatewayRecipient__factory.ts index b31fd930..24fdda62 100644 --- a/typings/factories/GatewayRecipient__factory.ts +++ b/typings/factories/GatewayRecipient__factory.ts @@ -10,6 +10,57 @@ import type { } from "../GatewayRecipient"; const _abi = [ + { + inputs: [ + { + internalType: "bytes8", + name: "c__d18be0f9", + type: "bytes8", + }, + ], + name: "c_d18be0f9", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d18be0f9", + type: "bytes8", + }, + ], + name: "c_falsed18be0f9", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d18be0f9", + type: "bytes8", + }, + ], + name: "c_trued18be0f9", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [], name: "gateway", diff --git a/typings/factories/GatewayV2__factory.ts b/typings/factories/GatewayV2__factory.ts index 34b74fac..e4f494aa 100644 --- a/typings/factories/GatewayV2__factory.ts +++ b/typings/factories/GatewayV2__factory.ts @@ -100,6 +100,210 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_098c0657", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__0b6945c4", + type: "bytes8", + }, + ], + name: "c_0b6945c4", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__33f6a84f", + type: "bytes8", + }, + ], + name: "c_33f6a84f", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__52615ca8", + type: "bytes8", + }, + ], + name: "c_52615ca8", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_false098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__0b6945c4", + type: "bytes8", + }, + ], + name: "c_false0b6945c4", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__33f6a84f", + type: "bytes8", + }, + ], + name: "c_false33f6a84f", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__52615ca8", + type: "bytes8", + }, + ], + name: "c_false52615ca8", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_true098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__0b6945c4", + type: "bytes8", + }, + ], + name: "c_true0b6945c4", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__33f6a84f", + type: "bytes8", + }, + ], + name: "c_true33f6a84f", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__52615ca8", + type: "bytes8", + }, + ], + name: "c_true52615ca8", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [], name: "chainId", @@ -585,7 +789,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000469050806001819055505061315e8061006d6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806387d31313116100b8578063b5021b161161007c578063b5021b1614610349578063d0f710d614610365578063d2c83b9a14610395578063d305d0db146103b3578063d9f13021146103cf578063f92c5f7c146103eb57610142565b806387d31313146102b95780639a8a0592146102d75780639f255626146102f5578063a526d83b14610311578063ac2a08cd1461032d57610142565b8063538901341161010a57806353890134146101e95780635afaa7bb14610205578063714041561461022157806373e5a13f1461023d57806376db2b4c1461026d578063867519c61461029d57610142565b80630c68ba2114610147578063231badaf14610177578063371aa71a14610193578063392e53cd146101af578063485cc955146101cd575b600080fd5b610161600480360381019061015c9190611e5b565b61041b565b60405161016e9190612b23565b60405180910390f35b610191600480360381019061018c9190611f03565b610471565b005b6101ad60048036038101906101a89190611f03565b61056c565b005b6101b761060c565b6040516101c49190612b23565b60405180910390f35b6101e760048036038101906101e29190612103565b610662565b005b61020360048036038101906101fe9190611fc2565b6107fa565b005b61021f600480360381019061021a919061202e565b610894565b005b61023b60048036038101906102369190611e5b565b610a6c565b005b61025760048036038101906102529190612180565b610c87565b6040516102649190612b3e565b60405180910390f35b6102876004803603810190610282919061213f565b610cac565b6040516102949190612b3e565b60405180910390f35b6102b760048036038101906102b29190611e84565b610cd6565b005b6102c1610ce7565b6040516102ce9190612bb9565b60405180910390f35b6102df610d0d565b6040516102ec9190612df4565b60405180910390f35b61030f600480360381019061030a9190611fc2565b610d13565b005b61032b60048036038101906103269190611e5b565b610d23565b005b61034760048036038101906103429190611f03565b610dbb565b005b610363600480360381019061035e9190611f03565b610e5b565b005b61037f600480360381019061037a91906120ab565b610f57565b60405161038c9190612b23565b60405180910390f35b61039d610fb0565b6040516103aa9190612b9e565b60405180910390f35b6103cd60048036038101906103c89190611e84565b610fd6565b005b6103e960048036038101906103e4919061202e565b611072565b005b61040560048036038101906104009190611e5b565b61110c565b6040516104129190612df4565b60405180910390f35b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484116104f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e990612c54565b60405180910390fd5b60006105128261050488888888611168565b6111cb90919063ffffffff16565b905084600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061056486828686611286565b505050505050565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166105f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ef90612cf4565b60405180910390fd5b6106058585858585610e5b565b5050505050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146106f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e790612c14565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060606107be816116f1565b507f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e6326040516107ee9190612a78565b60405180910390a15050565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087d90612cf4565b60405180910390fd5b6108908282610d13565b5050565b60008251116108d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cf90612c94565b60405180910390fd5b600080600090505b8351811015610a265760003073ffffffffffffffffffffffffffffffffffffffff1685838151811061090e57fe5b60200260200101516040516109239190612994565b6000604051808303816000865af19150503d8060008114610960576040519150601f19603f3d011682016040523d82523d6000602084013e610965565b606091505b5050905083156109b457806109af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a690612c34565b60405180910390fd5b6109ca565b8080156109bf575082155b156109c957600192505b5b7f361c14722cc344132c73396113f7164232448b09c544a149f09048648b43d872338684815181106109f857fe5b602002602001015183604051610a1093929190612abc565b60405180910390a15080806001019150506108e0565b5080610a67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5e90612dd4565b60405180910390fd5b505050565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aef90612cf4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161415610b67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5e90612db4565b60405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610bf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bea90612d14565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b3282604051610c7c929190612a93565b60405180910390a150565b6000610ca58260000151836020015184604001518560600151611168565b9050919050565b6000610ccf82600001518360200151846040015185606001518660800151611749565b9050919050565b610ce283338484611286565b505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b610d1f33338484611286565b5050565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610daf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da690612cf4565b60405180910390fd5b610db8816117af565b50565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610e47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3e90612cf4565b60405180910390fd5b610e548585858585610471565b5050505050565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411610edc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed390612c54565b60405180910390fd5b6000610efd82610eef888888883a611749565b6111cb90919063ffffffff16565b905084600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f4f86828686611286565b505050505050565b6000610fa78484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611940565b90509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105990612cf4565b60405180910390fd5b61106d838383610cd6565b505050565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166110fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f590612cf4565b60405180910390fd5b6111088282610894565b5050565b60006111616001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119ae90919063ffffffff16565b9050919050565b60006111c17f6848d0622081db2451400280dead7a739a080cb93852607c381af11e289769b286868661119a87611a03565b6040516020016111ad94939291906128f7565b604051602081830303815290604052611a66565b9050949350505050565b6000806000905060418351141561127c5760008060006020860151925060408601519150606086015160001a9050601b8160ff16101561120c57601b810190505b601b8160ff1614806112215750601c8160ff16145b1561127857600187828585604051600081526020016040526040516112499493929190612b59565b6020604051602081039080840390855afa15801561126b573d6000803e3d6000fd5b5050506020604051035193505b5050505b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156112f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ed90612c74565b60405180910390fd5b600082511161133a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133190612d94565b60405180910390fd5b815181511461137e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137590612cd4565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461155257600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b815260040161140e929190612afa565b60206040518083038186803b15801561142657600080fd5b505afa15801561143a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145e9190612082565b806115125750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b81526004016114c1929190612afa565b60206040518083038186803b1580156114d957600080fd5b505afa1580156114ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115119190612082565b5b611551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154890612cb4565b60405180910390fd5b5b600080600090505b82518110156116e957600073ffffffffffffffffffffffffffffffffffffffff1684828151811061158757fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614156115e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115dd90612bd4565b60405180910390fd5b8381815181106115f257fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1683828151811061161c57fe5b60200260200101518787604051602001611638939291906129ab565b6040516020818303038152906040526040516116549190612994565b6000604051808303816000865af19150503d8060008114611691576040519150601f19603f3d011682016040523d82523d6000602084013e611696565b606091505b505080925050816116dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d390612d34565b60405180910390fd5b808060010191505061155a565b505050505050565b60008151141561170957611704326117af565b611746565b60008151905060005b818110156117435761173683828151811061172957fe5b60200260200101516117af565b8080600101915050611712565b50505b50565b60006117a47f6f4e1b2b1e5e49f4269e19e16e67a00cb0a796d96d30be3e4b540d3732e8bcad87878761177b88611a03565b8760405160200161179095949392919061293d565b604051602081830303815290604052611a66565b905095945050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561181f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181690612bf4565b60405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156118ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a390612d74565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051611935929190612a93565b60405180910390a150565b60008061195683856111cb90919063ffffffff16565b9050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b6000808284019050838110156119f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f090612d54565b60405180910390fd5b8091505092915050565b60608060008351905060005b81811015611a5b5782858281518110611a2457fe5b6020026020010151604051602001611a3d9291906129e4565b60405160208183030381529060405292508080600101915050611a0f565b508192505050919050565b6000611a9f600154308585604051602001611a849493929190612a2e565b60405160208183030381529060405280519060200120611aa7565b905092915050565b600081604051602001611aba9190612a08565b604051602081830303815290604052805190602001209050919050565b600081359050611ae6816130c7565b92915050565b600082601f830112611afd57600080fd5b8135611b10611b0b82612e3c565b612e0f565b91508181835260208401935060208101905083856020840282011115611b3557600080fd5b60005b83811015611b655781611b4b8882611ad7565b845260208401935060208301925050600181019050611b38565b5050505092915050565b600082601f830112611b8057600080fd5b8135611b93611b8e82612e64565b612e0f565b9150818183526020840193506020810190508360005b83811015611bd95781358601611bbf8882611c6c565b845260208401935060208301925050600181019050611ba9565b5050505092915050565b600081359050611bf2816130de565b92915050565b600081519050611c07816130de565b92915050565b600081359050611c1c816130f5565b92915050565b60008083601f840112611c3457600080fd5b8235905067ffffffffffffffff811115611c4d57600080fd5b602083019150836001820283011115611c6557600080fd5b9250929050565b600082601f830112611c7d57600080fd5b8135611c90611c8b82612e8c565b612e0f565b91508082526020830160208301858383011115611cac57600080fd5b611cb783828461302f565b50505092915050565b600081359050611ccf8161310c565b92915050565b600081359050611ce481613123565b92915050565b600060a08284031215611cfc57600080fd5b611d0660a0612e0f565b90506000611d1684828501611ad7565b6000830152506020611d2a84828501611e46565b602083015250604082013567ffffffffffffffff811115611d4a57600080fd5b611d5684828501611aec565b604083015250606082013567ffffffffffffffff811115611d7657600080fd5b611d8284828501611b6f565b6060830152506080611d9684828501611e46565b60808301525092915050565b600060808284031215611db457600080fd5b611dbe6080612e0f565b90506000611dce84828501611ad7565b6000830152506020611de284828501611e46565b602083015250604082013567ffffffffffffffff811115611e0257600080fd5b611e0e84828501611aec565b604083015250606082013567ffffffffffffffff811115611e2e57600080fd5b611e3a84828501611b6f565b60608301525092915050565b600081359050611e558161313a565b92915050565b600060208284031215611e6d57600080fd5b6000611e7b84828501611ad7565b91505092915050565b600080600060608486031215611e9957600080fd5b6000611ea786828701611ad7565b935050602084013567ffffffffffffffff811115611ec457600080fd5b611ed086828701611aec565b925050604084013567ffffffffffffffff811115611eed57600080fd5b611ef986828701611b6f565b9150509250925092565b600080600080600060a08688031215611f1b57600080fd5b6000611f2988828901611ad7565b9550506020611f3a88828901611e46565b945050604086013567ffffffffffffffff811115611f5757600080fd5b611f6388828901611aec565b935050606086013567ffffffffffffffff811115611f8057600080fd5b611f8c88828901611b6f565b925050608086013567ffffffffffffffff811115611fa957600080fd5b611fb588828901611c6c565b9150509295509295909350565b60008060408385031215611fd557600080fd5b600083013567ffffffffffffffff811115611fef57600080fd5b611ffb85828601611aec565b925050602083013567ffffffffffffffff81111561201857600080fd5b61202485828601611b6f565b9150509250929050565b6000806040838503121561204157600080fd5b600083013567ffffffffffffffff81111561205b57600080fd5b61206785828601611b6f565b925050602061207885828601611be3565b9150509250929050565b60006020828403121561209457600080fd5b60006120a284828501611bf8565b91505092915050565b6000806000604084860312156120c057600080fd5b60006120ce86828701611c0d565b935050602084013567ffffffffffffffff8111156120eb57600080fd5b6120f786828701611c22565b92509250509250925092565b6000806040838503121561211657600080fd5b600061212485828601611cc0565b925050602061213585828601611cd5565b9150509250929050565b60006020828403121561215157600080fd5b600082013567ffffffffffffffff81111561216b57600080fd5b61217784828501611cea565b91505092915050565b60006020828403121561219257600080fd5b600082013567ffffffffffffffff8111156121ac57600080fd5b6121b884828501611da2565b91505092915050565b60006121cd83836121f7565b60208301905092915050565b6121e281612fb1565b82525050565b6121f181612f2e565b82525050565b61220081612f2e565b82525050565b61221761221282612f2e565b613071565b82525050565b600061222882612ec8565b6122328185612eeb565b935061223d83612eb8565b8060005b8381101561226e57815161225588826121c1565b975061226083612ede565b925050600181019050612241565b5085935050505092915050565b61228481612f40565b82525050565b61229381612f4c565b82525050565b6122aa6122a582612f4c565b613083565b82525050565b60006122bb82612ed3565b6122c58185612ef6565b93506122d581856020860161303e565b6122de816130a9565b840191505092915050565b60006122f482612ed3565b6122fe8185612f07565b935061230e81856020860161303e565b80840191505092915050565b61232381612fc3565b82525050565b61233281612fe7565b82525050565b6000612345601b83612f12565b91507f476174657761793a2063616e6e6f742073656e6420746f2030783000000000006000830152602082019050919050565b6000612385601c83612f23565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b60006123c5602083612f12565b91507f477561726465643a2063616e6e6f74206164642030783020677561726469616e6000830152602082019050919050565b6000612405602f83612f12565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b600061246b601783612f12565b91507f476174657761793a2062617463682072657665727465640000000000000000006000830152602082019050919050565b60006124ab603283612f12565b91507f476174657761793a206e6f6e6365206973206c6f776572207468616e2063757260008301527f72656e74206163636f756e74206e6f6e636500000000000000000000000000006020830152604082019050919050565b6000612511602583612f12565b91507f476174657761793a2063616e6e6f742073656e642066726f6d2030783020616360008301527f636f756e740000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612577602683612f12565b91507f476174657761793a2063616e6e6f742064656c656761746520656d707479206260008301527f61746368657300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006125dd602883612f12565b91507f476174657761793a2073656e646572206973206e6f7420746865206163636f7560008301527f6e74206f776e65720000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612643601683612f12565b91507f476174657761793a20696e76616c6964206261746368000000000000000000006000830152602082019050919050565b6000612683602683612f12565b91507f477561726465643a2074782e6f726967696e206973206e6f742074686520677560008301527f61726469616e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006126e9601f83612f12565b91507f477561726465643a20677561726469616e20646f65736e2774206578697374006000830152602082019050919050565b6000612729602383612f12565b91507f476174657761793a206261746368207472616e73616374696f6e20726576657260008301527f74656400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061278f601e83612f12565b91507f536166654d6174684c69623a206164646974696f6e206f766572666c6f7700006000830152602082019050919050565b60006127cf602083612f12565b91507f477561726465643a20677561726469616e20616c7265616479206578697374736000830152602082019050919050565b600061280f602083612f12565b91507f476174657761793a2063616e6e6f742073656e6420656d7074792062617463686000830152602082019050919050565b600061284f601b83612f12565b91507f477561726465643a2063616e6e6f742072656d6f76652073656c6600000000006000830152602082019050919050565b600061288f601d83612f12565b91507f476174657761793a20616c6c20626174636865732072657665727465640000006000830152602082019050919050565b6128cb81612f9a565b82525050565b6128e26128dd82612f9a565b61309f565b82525050565b6128f181612fa4565b82525050565b60006129038287612206565b60148201915061291382866128d1565b602082019150612923828561221d565b915061292f82846122e9565b915081905095945050505050565b60006129498288612206565b60148201915061295982876128d1565b602082019150612969828661221d565b915061297582856122e9565b915061298182846128d1565b6020820191508190509695505050505050565b60006129a082846122e9565b915081905092915050565b60006129b782866122e9565b91506129c38285612206565b6014820191506129d38284612206565b601482019150819050949350505050565b60006129f082856122e9565b91506129fc82846122e9565b91508190509392505050565b6000612a1382612378565b9150612a1f8284612299565b60208201915081905092915050565b6000612a3a82876128d1565b602082019150612a4a8286612206565b601482019150612a5a8285612299565b602082019150612a6a82846122e9565b915081905095945050505050565b6000602082019050612a8d60008301846121d9565b92915050565b6000604082019050612aa860008301856121d9565b612ab560208301846121e8565b9392505050565b6000606082019050612ad160008301866121d9565b8181036020830152612ae381856122b0565b9050612af2604083018461227b565b949350505050565b6000604082019050612b0f60008301856121e8565b612b1c60208301846121e8565b9392505050565b6000602082019050612b38600083018461227b565b92915050565b6000602082019050612b53600083018461228a565b92915050565b6000608082019050612b6e600083018761228a565b612b7b60208301866128e8565b612b88604083018561228a565b612b95606083018461228a565b95945050505050565b6000602082019050612bb3600083018461231a565b92915050565b6000602082019050612bce6000830184612329565b92915050565b60006020820190508181036000830152612bed81612338565b9050919050565b60006020820190508181036000830152612c0d816123b8565b9050919050565b60006020820190508181036000830152612c2d816123f8565b9050919050565b60006020820190508181036000830152612c4d8161245e565b9050919050565b60006020820190508181036000830152612c6d8161249e565b9050919050565b60006020820190508181036000830152612c8d81612504565b9050919050565b60006020820190508181036000830152612cad8161256a565b9050919050565b60006020820190508181036000830152612ccd816125d0565b9050919050565b60006020820190508181036000830152612ced81612636565b9050919050565b60006020820190508181036000830152612d0d81612676565b9050919050565b60006020820190508181036000830152612d2d816126dc565b9050919050565b60006020820190508181036000830152612d4d8161271c565b9050919050565b60006020820190508181036000830152612d6d81612782565b9050919050565b60006020820190508181036000830152612d8d816127c2565b9050919050565b60006020820190508181036000830152612dad81612802565b9050919050565b60006020820190508181036000830152612dcd81612842565b9050919050565b60006020820190508181036000830152612ded81612882565b9050919050565b6000602082019050612e0960008301846128c2565b92915050565b6000604051905081810181811067ffffffffffffffff82111715612e3257600080fd5b8060405250919050565b600067ffffffffffffffff821115612e5357600080fd5b602082029050602081019050919050565b600067ffffffffffffffff821115612e7b57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff821115612ea357600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000612f3982612f7a565b9050919050565b60008115159050919050565b6000819050919050565b6000612f6182612f2e565b9050919050565b6000612f7382612f2e565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612fbc8261300b565b9050919050565b6000612fce82612fd5565b9050919050565b6000612fe082612f7a565b9050919050565b6000612ff282612ff9565b9050919050565b600061300482612f7a565b9050919050565b60006130168261301d565b9050919050565b600061302882612f7a565b9050919050565b82818337600083830152505050565b60005b8381101561305c578082015181840152602081019050613041565b8381111561306b576000848401525b50505050565b600061307c8261308d565b9050919050565b6000819050919050565b6000613098826130ba565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b6130d081612f2e565b81146130db57600080fd5b50565b6130e781612f40565b81146130f257600080fd5b50565b6130fe81612f4c565b811461310957600080fd5b50565b61311581612f56565b811461312057600080fd5b50565b61312c81612f68565b811461313757600080fd5b50565b61314381612f9a565b811461314e57600080fd5b5056fea164736f6c634300060c000a"; + "0x60806040523480156200001157600080fd5b506200002e67bcc9be562f8a4b0a60c01b6200016160201b60201c565b6200004a67579ae7209daca85260c01b6200016160201b60201c565b326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000a6676b19898ae2f7725060c01b6200016460201b60201c565b620000c2677c2d0c907f0deddc60c01b6200016460201b60201c565b620000de67f0d1a438b0305bb160c01b6200016460201b60201c565b6000620000fc6737bb5abaf3e7d9d360c01b6200016460201b60201c565b4690506200011b676f86a9c0c67bb39a60c01b6200016460201b60201c565b80600181905550506200013f67e6ad6dd6ee73072860c01b6200016760201b60201c565b6200015b674ac8a755b2af6d3f60c01b6200016a60201b60201c565b6200016d565b50565b50565b50565b50565b614ced806200017d6000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806387d313131161011a578063bccb31c6116100ad578063d2c83b9a1161007c578063d2c83b9a14610619578063d305d0db14610637578063d84fa10c14610653578063d9f1302114610683578063f92c5f7c1461069f57610206565b8063bccb31c614610581578063bcd483641461059d578063c4543305146105b9578063d0f710d6146105e957610206565b8063a526d83b116100e9578063a526d83b146104fd578063ac2a08cd14610519578063ae1a7ece14610535578063b5021b161461056557610206565b806387d31313146104755780639a8a0592146104935780639f255626146104b1578063a3561e69146104cd57610206565b80633e260b131161019d5780635afaa7bb1161016c5780635afaa7bb146103c157806371404156146103dd57806373e5a13f146103f957806376db2b4c14610429578063867519c61461045957610206565b80633e260b131461033d578063485cc9551461035957806353890134146103755780635a06fb5f1461039157610206565b80632b49e989116101d95780632b49e989146102a35780632c4bbae6146102d3578063371aa71a14610303578063392e53cd1461031f57610206565b80630c68ba211461020b578063152ec1bc1461023b578063231badaf1461025757806329fbd95714610273575b600080fd5b6102256004803603810190610220919061397e565b6106cf565b604051610232919061466f565b60405180910390f35b61025560048036038101906102509190613c26565b610761565b005b610271600480360381019061026c9190613a26565b610764565b005b61028d60048036038101906102889190613c26565b610927565b60405161029a919061466f565b60405180910390f35b6102bd60048036038101906102b89190613c26565b610932565b6040516102ca919061466f565b60405180910390f35b6102ed60048036038101906102e89190613c26565b61093d565b6040516102fa919061466f565b60405180910390f35b61031d60048036038101906103189190613a26565b610944565b005b610327610ac0565b604051610334919061466f565b60405180910390f35b61035760048036038101906103529190613c26565b610b53565b005b610373600480360381019061036e9190613c4f565b610b56565b005b61038f600480360381019061038a9190613ae5565b610e56565b005b6103ab60048036038101906103a69190613c26565b610fcc565b6040516103b8919061466f565b60405180910390f35b6103db60048036038101906103d69190613b51565b610fd3565b005b6103f760048036038101906103f2919061397e565b611419565b005b610413600480360381019061040e9190613ccc565b6117c4565b604051610420919061468a565b60405180910390f35b610443600480360381019061043e9190613c8b565b611825565b604051610450919061468a565b60405180910390f35b610473600480360381019061046e91906139a7565b61188b565b005b61047d6118d8565b60405161048a9190614705565b60405180910390f35b61049b6118fe565b6040516104a89190614940565b60405180910390f35b6104cb60048036038101906104c69190613ae5565b611904565b005b6104e760048036038101906104e29190613c26565b611950565b6040516104f4919061466f565b60405180910390f35b6105176004803603810190610512919061397e565b611957565b005b610533600480360381019061052e9190613a26565b611acb565b005b61054f600480360381019061054a9190613c26565b611c47565b60405161055c919061466f565b60405180910390f35b61057f600480360381019061057a9190613a26565b611c52565b005b61059b60048036038101906105969190613c26565b611e16565b005b6105b760048036038101906105b29190613c26565b611e19565b005b6105d360048036038101906105ce9190613c26565b611e1c565b6040516105e0919061466f565b60405180910390f35b61060360048036038101906105fe9190613bce565b611e27565b604051610610919061466f565b60405180910390f35b610621611ebc565b60405161062e91906146ea565b60405180910390f35b610651600480360381019061064c91906139a7565b611ee2565b005b61066d60048036038101906106689190613c26565b61205a565b60405161067a919061466f565b60405180910390f35b61069d60048036038101906106989190613b51565b612061565b005b6106b960048036038101906106b4919061397e565b6121d7565b6040516106c69190614940565b60405180910390f35b60006106e5677ab52c65f999e01f60c01b611e16565b6106f96710268b7b424a1bd560c01b611e16565b61070d6713a157f311059a7b60c01b611e16565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b50565b610778672cb965356e53b62460c01b610761565b61078c6726d32791746dc3e760c01b610761565b6107a06716b60443ee3d484960c01b610761565b6107b467cec972bd94c2448360c01b610761565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411610835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082c906147a0565b60405180910390fd5b610849676885a737ccda6b5b60c01b610761565b61085d67b7ec0f056156fc5760c01b610761565b61087167fa7e965b6a90871e60c01b610761565b6000610891826108838888888861226f565b61230e90919063ffffffff16565b90506108a767598623896aa1bd8160c01b610761565b84600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108ff67c3db6fc8702a504560c01b610761565b61091367fbd88fe633d4bf3260c01b610761565b61091f86828686612616565b505050505050565b600060019050919050565b600060019050919050565b6000919050565b61095867f80918793645654b60c01b610761565b61096c67e0600b94c13d066760c01b611e16565b6109806755e8cedcdd449e2360c01b611e16565b61099467ab821ba7fedab67160c01b611e16565b6109a867c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2b90614840565b60405180910390fd5b610a4867d014260b312542b460c01b611e16565b610a5c674e25985d1c99d1f260c01b611e16565b610a7067d9e2558f3071e89160c01b610761565b610a84673490315f4c7453b860c01b610761565b610a98675952ab5ca3321cf560c01b610761565b610aac679cb6b3466f5d6d7c60c01b610761565b610ab98585858585611c52565b5050505050565b6000610ad667e29fe2f351ca6b2760c01b610b53565b610aea676f5dd3f08b97747760c01b610b53565b610afe673a9488d62818322a60c01b610b53565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b610b6a673697766a57f7a80b60c01b610761565b610b7e67d2ba19feb39e0b7f60c01b610b53565b610b92670c5ad53cdb9edd1560c01b610b53565b610ba667b6b588d2ebb9ae6960c01b610b53565b610bba67c4ec9a90a885875260c01b610b53565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3f90614760565b60405180910390fd5b610c5c67c3785ba1534db95460c01b610b53565b610c7067e4202927591248ef60c01b610b53565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cc567531cfa2817fbdc8660c01b610b53565b610cd967bb0a8b65334dd2c460c01b610761565b610ced67b92403dbe97ab63260c01b610761565b610d01671b78f114fbb0b72060c01b610761565b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d5667b22295775e3c649e60c01b610761565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610dab6730acc016638bd43a60c01b610761565b610dbf67c9a34505f7a2971960c01b610761565b6060610dd56739403c970cf16b0b60c01b610761565b610de9673890f2fd064539ca60c01b610761565b610df281612d63565b50610e076701520f419008b58e60c01b610b53565b610e1b6775364c04848b013b60c01b610b53565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051610e4a91906145c4565b60405180910390a15050565b610e6a6706786e491e3250c160c01b610761565b610e7e67e0600b94c13d066760c01b611e16565b610e926755e8cedcdd449e2360c01b611e16565b610ea667ab821ba7fedab67160c01b611e16565b610eba67c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610f46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3d90614840565b60405180910390fd5b610f5a67d014260b312542b460c01b611e16565b610f6e674e25985d1c99d1f260c01b611e16565b610f8267aed871277ddbb64c60c01b610761565b610f96671ec4a771e62fadf860c01b610761565b610faa67f2c24f3ab45357f160c01b610761565b610fbe674a9776de3de1749a60c01b610761565b610fc88282611904565b5050565b6000919050565b610fe76727e530a65c18cf7760c01b610761565b610ffb673479b3b9839be87b60c01b610761565b61100f67ddf24acef953714a60c01b610761565b61102367bb03e151ac9c27de60c01b610761565b6000825111611067576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105e906147e0565b60405180910390fd5b61107b67fbecfcb237fc946360c01b610761565b61108f67e27ec692e947323360c01b610761565b6110a367f14d14fac430da9560c01b610761565b60006110b96705f410059ee1a0f960c01b610761565b6110cd6738b1b2fe2e9d053a60c01b610761565b60005b835181101561135b576110ed67c75e73eb292eb02a60c01b610761565b61110167b78b62351a90d44360c01b610761565b60003073ffffffffffffffffffffffffffffffffffffffff1685838151811061112657fe5b602002602001015160405161113b91906144e0565b6000604051808303816000865af19150503d8060008114611178576040519150601f19603f3d011682016040523d82523d6000602084013e61117d565b606091505b5050905061119567736c6d76b82a9add60c01b610761565b6111a967d2553c434ed3db3260c01b610761565b8315611258576111c367deebfac5c773826c60c01b610761565b6111d7679fb439c60501b49f60c01b610761565b6111eb67b3057f4bca04838360c01b610761565b6111ff6730ecce8cedfe20fe60c01b610761565b8061123f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123690614780565b60405180910390fd5b61125367d86dd5b82a9e593660c01b610761565b6112d7565b61126c67346fc3cb5711a6b460c01b610761565b611280673f97de6e927ba93d60c01b610761565b80801561128b575082155b156112c1576112a46771ca7e173b61f90360c01b610761565b6112b867da44f1125610870660c01b610761565b600192506112d6565b6112d5675690ff7de2cfd4dd60c01b610761565b5b5b6112eb677421f9109195b65260c01b610761565b6112ff6701974b34eaa9b13c60c01b610761565b7f361c14722cc344132c73396113f7164232448b09c544a149f09048648b43d8723386848151811061132d57fe5b60200260200101518360405161134593929190614608565b60405180910390a15080806001019150506110d0565b506113706784acc65a9eec5b5f60c01b610761565b61138467c73482fe07164bae60c01b610761565b806114005761139d67504c1c7b7326af2c60c01b610761565b6113b1670e7869282d8fda6f60c01b610761565b6113c56720080506722517aa60c01b610761565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f790614920565b60405180910390fd5b611414673bc70d3d4324861e60c01b610761565b505050565b61142d6747dd6d4e27a092d260c01b611e16565b61144167e0600b94c13d066760c01b611e16565b6114556755e8cedcdd449e2360c01b611e16565b61146967ab821ba7fedab67160c01b611e16565b61147d67c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611509576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150090614840565b60405180910390fd5b61151d67d014260b312542b460c01b611e16565b611531674e25985d1c99d1f260c01b611e16565b61154567736984febec5fd2560c01b611e16565b61155967cbb923c66996310360c01b611e16565b61156d672c114aff1103564b60c01b611e16565b61158167a76a63e34be2bddb60c01b611e16565b61159567a220bc889ca09d2360c01b611e16565b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161415611604576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fb90614900565b60405180910390fd5b611618679467d7af09c5944d60c01b611e16565b61162c67c28a58b1b15ad6de60c01b611e16565b61164067c70b0fecc7c6d3b160c01b611e16565b61165467e7892f9392d41a6760c01b611e16565b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166116e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d790614860565b60405180910390fd5b6116f4675a0de441d13969aa60c01b611e16565b611708674e473b0a29064fba60c01b611e16565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061177467e398e5606400274660c01b611e16565b6117886738c3bd156a3471c260c01b611e16565b7fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b32826040516117b99291906145df565b60405180910390a150565b60006117da67b71cbc54b79642e460c01b610761565b6117ee671d727cf6c847c49660c01b610761565b61180267b20bfeafcd33afb660c01b610761565b61181e826000015183602001518460400151856060015161226f565b9050919050565b600061183b67b43ba9ef81a9b3fd60c01b610761565b61184f678dcdeb463de7515c60c01b610761565b6118636789a48b615adada4560c01b610761565b61188482600001518360200151846040015185606001518660800151612ebf565b9050919050565b61189f6790077d401774f15b60c01b610761565b6118b367dd8df7e804a647ab60c01b610761565b6118c767e91647c2d11d34f260c01b610761565b6118d383338484612616565b505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b61191867305e7d085ffadf5d60c01b610761565b61192c6754042eeb653cce4660c01b610761565b6119406774bf17ed00241c8560c01b610761565b61194c33338484612616565b5050565b6000919050565b61196b67c17b66a0b198af7b60c01b611e16565b61197f67e0600b94c13d066760c01b611e16565b6119936755e8cedcdd449e2360c01b611e16565b6119a767ab821ba7fedab67160c01b611e16565b6119bb67c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3e90614840565b60405180910390fd5b611a5b67d014260b312542b460c01b611e16565b611a6f674e25985d1c99d1f260c01b611e16565b611a8367dfa24a8cc198350160c01b611e16565b611a9767f9907d82cd18ee0760c01b611e16565b611aab67dd37ee49f553c5a760c01b611e16565b611abf679ad66b1d98f77fdf60c01b611e16565b611ac881612f61565b50565b611adf6759a806c25eead63f60c01b610761565b611af367e0600b94c13d066760c01b611e16565b611b076755e8cedcdd449e2360c01b611e16565b611b1b67ab821ba7fedab67160c01b611e16565b611b2f67c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb290614840565b60405180910390fd5b611bcf67d014260b312542b460c01b611e16565b611be3674e25985d1c99d1f260c01b611e16565b611bf767f9ea7b462cc4eda560c01b610761565b611c0b67d3d3cf6ca514249660c01b610761565b611c1f676ef2cd549351305b60c01b610761565b611c33672b1fcb01af64303060c01b610761565b611c408585858585610764565b5050505050565b600060019050919050565b611c666730a97bcc310e329660c01b610761565b611c7a67592cde26837dac1c60c01b610761565b611c8e67e369c1a0804a314e60c01b610761565b611ca2675e97b82ccfd1adc660c01b610761565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411611d23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1a906147a0565b60405180910390fd5b611d3767bf862c95cc9f5d2260c01b610761565b611d4b67f9a3395c1202545060c01b610761565b611d5f677beaba84e36d3d4a60c01b610761565b6000611d8082611d72888888883a612ebf565b61230e90919063ffffffff16565b9050611d9667dc568d561866531460c01b610761565b84600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dee6768886f5dc5d732ec60c01b610761565b611e02672e35ca05a06d172160c01b610761565b611e0e86828686612616565b505050505050565b50565b50565b600060019050919050565b6000611e3d670fa739e07c029f9060c01b611e16565b611e5167406100042e7653bd60c01b611e16565b611e656784104632bda8198f60c01b611e16565b611eb38484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506131e2565b90509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611ef667313903b59a995d7660c01b610761565b611f0a67e0600b94c13d066760c01b611e16565b611f1e6755e8cedcdd449e2360c01b611e16565b611f3267ab821ba7fedab67160c01b611e16565b611f4667c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611fd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc990614840565b60405180910390fd5b611fe667d014260b312542b460c01b611e16565b611ffa674e25985d1c99d1f260c01b611e16565b61200e671f7542edd3d74d2f60c01b610761565b612022677f6b1c92b6f5e5a960c01b610761565b61203667cad2aa7c334e8b3b60c01b610761565b61204a6703308feac1e8ee1360c01b610761565b61205583838361188b565b505050565b6000919050565b61207567fb2097e639da463260c01b610761565b61208967e0600b94c13d066760c01b611e16565b61209d6755e8cedcdd449e2360c01b611e16565b6120b167ab821ba7fedab67160c01b611e16565b6120c567c540fbd78e0e2a4960c01b611e16565b600260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214890614840565b60405180910390fd5b61216567d014260b312542b460c01b611e16565b612179674e25985d1c99d1f260c01b611e16565b61218d670a8996d09423e9a560c01b610761565b6121a1674c210d2c1091800160c01b610761565b6121b56793370d1f34f52d6160c01b610761565b6121c967cf247f4dcde0a80d60c01b610761565b6121d38282610fd3565b5050565b60006121ed67905ee8ae82cae5cb60c01b610761565b612201672ee07bb43076d99160c01b610761565b61221567798fd982696fe97360c01b610761565b6122686001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546132b590919063ffffffff16565b9050919050565b600061228567d6536873dad1c60260c01b610761565b612299673f091c2291af034760c01b610761565b6122ad676c51c993615d51fc60c01b610761565b6123047f6848d0622081db2451400280dead7a739a080cb93852607c381af11e289769b28686866122dd876133bf565b6040516020016122f09493929190614443565b6040516020818303038152906040526134eb565b9050949350505050565b6000612324670d75db982ec4597160c01b613568565b6123386725c2c60ab754182560c01b613568565b61234c673eb64a254569ed0660c01b613568565b600061236267fb2a2286066e15e460c01b613568565b61237667a440db11ec9e986d60c01b613568565b6041835114156125cf576123946704a5aada48e2763260c01b613568565b6123a8674b98cf1796e5c26660c01b613568565b6123bc67d2dfec7b159385fc60c01b613568565b60006123d26772c2a840621b4aa760c01b613568565b6123e667bfd411e6ba4d07c460c01b613568565b60006123fc67145d23f82764ba9960c01b613568565b61241067acdff958a9c6c5dd60c01b613568565b6000612426673b79e3a80932a6a160c01b613568565b6020860151925060408601519150606086015160001a9050612452679b0cdee01a57ea2f60c01b613568565b612466675dbf88583373227960c01b613568565b601b8160ff1610156124a557612486670dc9a1836eb51c3260c01b613568565b61249a677097d8456a6c3e1560c01b613568565b601b810190506124ba565b6124b96708b39c61216869e760c01b613568565b5b6124ce672ea4d6db7d2138c560c01b613568565b6124e2679ad3f461195a5eee60c01b613568565b601b8160ff16148015612505575061250467a24e972b59dc7d0560c01b61356b565b5b8061252f5750601c8160ff1614801561252e575061252d67934bee4849491d9560c01b61356b565b5b5b156125b257612548676d6a491fc6e072fa60c01b613568565b61255c67aecd1690d1de9f1c60c01b613568565b6001878285856040516000815260200160405260405161257f94939291906146a5565b6020604051602081039080840390855afa1580156125a1573d6000803e3d6000fd5b5050506020604051035193506125c7565b6125c667513fbc3b3a0ad1c060c01b613568565b5b5050506125e4565b6125e36723d6d78de386c96660c01b613568565b5b6125f86707d0c4f11e72cfc960c01b613568565b61260c67b9689b22f403636c60c01b613568565b8091505092915050565b61262a6772b534df044a3e6960c01b610761565b61263e67c402abc06978619960c01b610761565b612652679e09810371489d9f60c01b610761565b612666677e7daf08d9a58adb60c01b610761565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156126d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126cd906147c0565b60405180910390fd5b6126ea670b7cbb883e3651ec60c01b610761565b6126fe67d208ff6d7369e98860c01b610761565b61271267491a5cbad1055d5160c01b610761565b612726679e0ff894c768117960c01b610761565b600082511161276a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612761906148e0565b60405180910390fd5b61277e6745254922d222170960c01b610761565b6127926704e613e382681ef660c01b610761565b6127a6675557331c94961ac660c01b610761565b6127ba676a3e2fb0a667717a60c01b610761565b81518151146127fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127f590614820565b60405180910390fd5b61281267f28a31992346aa2c60c01b610761565b612826676f88151307ba5cf160c01b610761565b61283a678b6e6de748ac3b0560c01b610761565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612aae57612881679b783d0da44a769760c01b610761565b612895672afe7fb31679725b60c01b610761565b6128a9675f21c809493b9d9c60c01b610761565b6128bd67c4c99b0c5a4bff8660c01b610761565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b815260040161291a929190614646565b60206040518083038186803b15801561293257600080fd5b505afa158015612946573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061296a9190613ba5565b8015612986575061298567212d2ce404fd77a760c01b610932565b5b80612a565750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b81526004016129e9929190614646565b60206040518083038186803b158015612a0157600080fd5b505afa158015612a15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a399190613ba5565b8015612a555750612a5467d868be8222351b6f60c01b610932565b5b5b612a95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a8c90614800565b60405180910390fd5b612aa9670d7297c082be9ec360c01b610761565b612ac3565b612ac2671c02678189e2da5e60c01b610761565b5b612ad767220aa3d0956cdf3860c01b610761565b612aeb672ff29057ca2d5a4960c01b610761565b6000612b0167736a7a13fde31abc60c01b610761565b612b1567ad98f24f057dfa4760c01b610761565b60005b8251811015612d5b57612b35673a43fbce6290f8a460c01b610761565b612b496775aca6a5cf35ff4a60c01b610761565b612b5d67fd57b4ad4a413b6860c01b610761565b600073ffffffffffffffffffffffffffffffffffffffff16848281518110612b8157fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415612be0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bd790614720565b60405180910390fd5b612bf46767a6d9c274cadc9c60c01b610761565b612c0867cf1addfe3ca8b2bb60c01b610761565b838181518110612c1457fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16838281518110612c3e57fe5b60200260200101518787604051602001612c5a939291906144f7565b604051602081830303815290604052604051612c7691906144e0565b6000604051808303816000865af19150503d8060008114612cb3576040519150601f19603f3d011682016040523d82523d6000602084013e612cb8565b606091505b505080925050612cd267e11e02c50ac3af5a60c01b610761565b612ce66791115981e7972f5360c01b610761565b612cfa671e9de5dd0811b3c160c01b610761565b81612d3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3190614880565b60405180910390fd5b612d4e678f29e428e7b0acbe60c01b610761565b8080600101915050612b18565b505050505050565b612d7767f4de5e8e73d6ad8760c01b611e16565b612d8b67db1ce0981035d84760c01b611e16565b612d9f67e97a0a25809a3f0960c01b611e16565b600081511415612df357612dbd67de11b839232da49160c01b611e16565b612dd167b59bd2ea0c1c89a260c01b611e16565b612de567652fe2786000e62060c01b611e16565b612dee32612f61565b612ebc565b612e0767ad5f6f13dddc2ad960c01b611e16565b612e1b672af46088979bcb2160c01b611e16565b612e2f6796cb81cf0bf6606d60c01b611e16565b600081519050612e49672f4c11881b8dca8c60c01b611e16565b612e5d67cec4e8db5057edad60c01b611e16565b60005b81811015612eb957612e7c671a5cc94c8b734dd960c01b611e16565b612e9067e437d14e98e20b2f60c01b611e16565b612eac838281518110612e9f57fe5b6020026020010151612f61565b8080600101915050612e60565b50505b50565b6000612ed5679ee7bdbf7c6900a460c01b610761565b612ee967f0e928808634a64d60c01b610761565b612efd674075c359d3dd889d60c01b610761565b612f567f6f4e1b2b1e5e49f4269e19e16e67a00cb0a796d96d30be3e4b540d3732e8bcad878787612f2d886133bf565b87604051602001612f42959493929190614489565b6040516020818303038152906040526134eb565b905095945050505050565b612f756703611a9e4063d8ea60c01b611e16565b612f8967ee1baacaa033494260c01b611e16565b612f9d6751e5840de998a97760c01b611e16565b612fb1676f82de74e2e2e03560c01b611e16565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161301890614740565b60405180910390fd5b6130356717cb80dba7a8a0ea60c01b611e16565b61304967e2f8fabe2a63d8b660c01b611e16565b61305d677550a657f22d30dc60c01b611e16565b613071673c81d7073dbe6f3060c01b611e16565b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156130fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130f5906148c0565b60405180910390fd5b61311267bc5a1f0994a7f54e60c01b611e16565b613126679a7f014629c7374960c01b611e16565b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061319267d71c83e9f3188e9d60c01b611e16565b6131a667e4bfbd26cb5c77e660c01b611e16565b7fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a32826040516131d79291906145df565b60405180910390a150565b60006131f867fbe9af14abc78ca860c01b611e16565b61320c67bd3616cf00f8ad2b60c01b611e16565b613220670aad941719c9b69b60c01b611e16565b6000613235838561230e90919063ffffffff16565b905061324b6706f556c4601e7cd060c01b611e16565b61325f67344e7bee2db8345860c01b611e16565b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b60006132cb672797d9bbee8e685760c01b613576565b6132df67e25930aa3032662f60c01b613576565b6132f3673b804ace3fd44ea060c01b613576565b6000828401905061330e67e0d809daafe36a0460c01b613576565b61332267d0d7b021c1a6823260c01b613576565b6133366741f1099b5fa09b9360c01b613576565b83811015613379576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613370906148a0565b60405180910390fd5b61338d6728a352a27e50889560c01b613576565b6133a167f55e5f024a80111c60c01b613576565b6133b567d865abdcb752192460c01b613576565b8091505092915050565b60606133d5673c65cd0d57a86f4160c01b610761565b6133e96787729e023af7ebe860c01b610761565b6133fd673eeba47bfbe297d660c01b610761565b606061341367cde6576faf313c1560c01b610761565b613427670ea3dcc6c000079a60c01b610761565b600083519050613441672040a6450836597360c01b610761565b6134556779cc921107583db360c01b610761565b60005b818110156134b8576134746713ae3bb0a3004f3660c01b610761565b8285828151811061348157fe5b602002602001015160405160200161349a929190614530565b60405160208183030381529060405292508080600101915050613458565b506134cd674b78578d8503215f60c01b610761565b6134e167842cae5512e7a35c60c01b610761565b8192505050919050565b60006135016771b334e2e3162d2e60c01b611e19565b6135156729046581cf97a49460c01b611e19565b613529674f9e67c6b1f334b360c01b611e19565b613560600154308585604051602001613545949392919061457a565b60405160208183030381529060405280519060200120613579565b905092915050565b50565b600060019050919050565b50565b600061358f67f3d1beb9fba5b7be60c01b613568565b6135a3676cd81a1865d6353260c01b613568565b6135b7676810828c21da671e60c01b613568565b816040516020016135c89190614554565b604051602081830303815290604052805190602001209050919050565b6000813590506135f481614c3f565b92915050565b600082601f83011261360b57600080fd5b813561361e61361982614988565b61495b565b9150818183526020840193506020810190508385602084028201111561364357600080fd5b60005b83811015613673578161365988826135e5565b845260208401935060208301925050600181019050613646565b5050505092915050565b600082601f83011261368e57600080fd5b81356136a161369c826149b0565b61495b565b9150818183526020840193506020810190508360005b838110156136e757813586016136cd888261378f565b8452602084019350602083019250506001810190506136b7565b5050505092915050565b60008135905061370081614c56565b92915050565b60008151905061371581614c56565b92915050565b60008135905061372a81614c6d565b92915050565b60008135905061373f81614c84565b92915050565b60008083601f84011261375757600080fd5b8235905067ffffffffffffffff81111561377057600080fd5b60208301915083600182028301111561378857600080fd5b9250929050565b600082601f8301126137a057600080fd5b81356137b36137ae826149d8565b61495b565b915080825260208301602083018583830111156137cf57600080fd5b6137da838284614ba7565b50505092915050565b6000813590506137f281614c9b565b92915050565b60008135905061380781614cb2565b92915050565b600060a0828403121561381f57600080fd5b61382960a061495b565b90506000613839848285016135e5565b600083015250602061384d84828501613969565b602083015250604082013567ffffffffffffffff81111561386d57600080fd5b613879848285016135fa565b604083015250606082013567ffffffffffffffff81111561389957600080fd5b6138a58482850161367d565b60608301525060806138b984828501613969565b60808301525092915050565b6000608082840312156138d757600080fd5b6138e1608061495b565b905060006138f1848285016135e5565b600083015250602061390584828501613969565b602083015250604082013567ffffffffffffffff81111561392557600080fd5b613931848285016135fa565b604083015250606082013567ffffffffffffffff81111561395157600080fd5b61395d8482850161367d565b60608301525092915050565b60008135905061397881614cc9565b92915050565b60006020828403121561399057600080fd5b600061399e848285016135e5565b91505092915050565b6000806000606084860312156139bc57600080fd5b60006139ca868287016135e5565b935050602084013567ffffffffffffffff8111156139e757600080fd5b6139f3868287016135fa565b925050604084013567ffffffffffffffff811115613a1057600080fd5b613a1c8682870161367d565b9150509250925092565b600080600080600060a08688031215613a3e57600080fd5b6000613a4c888289016135e5565b9550506020613a5d88828901613969565b945050604086013567ffffffffffffffff811115613a7a57600080fd5b613a86888289016135fa565b935050606086013567ffffffffffffffff811115613aa357600080fd5b613aaf8882890161367d565b925050608086013567ffffffffffffffff811115613acc57600080fd5b613ad88882890161378f565b9150509295509295909350565b60008060408385031215613af857600080fd5b600083013567ffffffffffffffff811115613b1257600080fd5b613b1e858286016135fa565b925050602083013567ffffffffffffffff811115613b3b57600080fd5b613b478582860161367d565b9150509250929050565b60008060408385031215613b6457600080fd5b600083013567ffffffffffffffff811115613b7e57600080fd5b613b8a8582860161367d565b9250506020613b9b858286016136f1565b9150509250929050565b600060208284031215613bb757600080fd5b6000613bc584828501613706565b91505092915050565b600080600060408486031215613be357600080fd5b6000613bf18682870161371b565b935050602084013567ffffffffffffffff811115613c0e57600080fd5b613c1a86828701613745565b92509250509250925092565b600060208284031215613c3857600080fd5b6000613c4684828501613730565b91505092915050565b60008060408385031215613c6257600080fd5b6000613c70858286016137e3565b9250506020613c81858286016137f8565b9150509250929050565b600060208284031215613c9d57600080fd5b600082013567ffffffffffffffff811115613cb757600080fd5b613cc38482850161380d565b91505092915050565b600060208284031215613cde57600080fd5b600082013567ffffffffffffffff811115613cf857600080fd5b613d04848285016138c5565b91505092915050565b6000613d198383613d43565b60208301905092915050565b613d2e81614b29565b82525050565b613d3d81614a7a565b82525050565b613d4c81614a7a565b82525050565b613d63613d5e82614a7a565b614be9565b82525050565b6000613d7482614a14565b613d7e8185614a37565b9350613d8983614a04565b8060005b83811015613dba578151613da18882613d0d565b9750613dac83614a2a565b925050600181019050613d8d565b5085935050505092915050565b613dd081614a8c565b82525050565b613ddf81614a98565b82525050565b613df6613df182614a98565b614bfb565b82525050565b6000613e0782614a1f565b613e118185614a42565b9350613e21818560208601614bb6565b613e2a81614c21565b840191505092915050565b6000613e4082614a1f565b613e4a8185614a53565b9350613e5a818560208601614bb6565b80840191505092915050565b613e6f81614b3b565b82525050565b613e7e81614b5f565b82525050565b6000613e91601b83614a5e565b91507f476174657761793a2063616e6e6f742073656e6420746f2030783000000000006000830152602082019050919050565b6000613ed1601c83614a6f565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b6000613f11602083614a5e565b91507f477561726465643a2063616e6e6f74206164642030783020677561726469616e6000830152602082019050919050565b6000613f51602f83614a5e565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b6000613fb7601783614a5e565b91507f476174657761793a2062617463682072657665727465640000000000000000006000830152602082019050919050565b6000613ff7603283614a5e565b91507f476174657761793a206e6f6e6365206973206c6f776572207468616e2063757260008301527f72656e74206163636f756e74206e6f6e636500000000000000000000000000006020830152604082019050919050565b600061405d602583614a5e565b91507f476174657761793a2063616e6e6f742073656e642066726f6d2030783020616360008301527f636f756e740000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006140c3602683614a5e565b91507f476174657761793a2063616e6e6f742064656c656761746520656d707479206260008301527f61746368657300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614129602883614a5e565b91507f476174657761793a2073656e646572206973206e6f7420746865206163636f7560008301527f6e74206f776e65720000000000000000000000000000000000000000000000006020830152604082019050919050565b600061418f601683614a5e565b91507f476174657761793a20696e76616c6964206261746368000000000000000000006000830152602082019050919050565b60006141cf602683614a5e565b91507f477561726465643a2074782e6f726967696e206973206e6f742074686520677560008301527f61726469616e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614235601f83614a5e565b91507f477561726465643a20677561726469616e20646f65736e2774206578697374006000830152602082019050919050565b6000614275602383614a5e565b91507f476174657761793a206261746368207472616e73616374696f6e20726576657260008301527f74656400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006142db601e83614a5e565b91507f536166654d6174684c69623a206164646974696f6e206f766572666c6f7700006000830152602082019050919050565b600061431b602083614a5e565b91507f477561726465643a20677561726469616e20616c7265616479206578697374736000830152602082019050919050565b600061435b602083614a5e565b91507f476174657761793a2063616e6e6f742073656e6420656d7074792062617463686000830152602082019050919050565b600061439b601b83614a5e565b91507f477561726465643a2063616e6e6f742072656d6f76652073656c6600000000006000830152602082019050919050565b60006143db601d83614a5e565b91507f476174657761793a20616c6c20626174636865732072657665727465640000006000830152602082019050919050565b61441781614b12565b82525050565b61442e61442982614b12565b614c17565b82525050565b61443d81614b1c565b82525050565b600061444f8287613d52565b60148201915061445f828661441d565b60208201915061446f8285613d69565b915061447b8284613e35565b915081905095945050505050565b60006144958288613d52565b6014820191506144a5828761441d565b6020820191506144b58286613d69565b91506144c18285613e35565b91506144cd828461441d565b6020820191508190509695505050505050565b60006144ec8284613e35565b915081905092915050565b60006145038286613e35565b915061450f8285613d52565b60148201915061451f8284613d52565b601482019150819050949350505050565b600061453c8285613e35565b91506145488284613e35565b91508190509392505050565b600061455f82613ec4565b915061456b8284613de5565b60208201915081905092915050565b6000614586828761441d565b6020820191506145968286613d52565b6014820191506145a68285613de5565b6020820191506145b68284613e35565b915081905095945050505050565b60006020820190506145d96000830184613d25565b92915050565b60006040820190506145f46000830185613d25565b6146016020830184613d34565b9392505050565b600060608201905061461d6000830186613d25565b818103602083015261462f8185613dfc565b905061463e6040830184613dc7565b949350505050565b600060408201905061465b6000830185613d34565b6146686020830184613d34565b9392505050565b60006020820190506146846000830184613dc7565b92915050565b600060208201905061469f6000830184613dd6565b92915050565b60006080820190506146ba6000830187613dd6565b6146c76020830186614434565b6146d46040830185613dd6565b6146e16060830184613dd6565b95945050505050565b60006020820190506146ff6000830184613e66565b92915050565b600060208201905061471a6000830184613e75565b92915050565b6000602082019050818103600083015261473981613e84565b9050919050565b6000602082019050818103600083015261475981613f04565b9050919050565b6000602082019050818103600083015261477981613f44565b9050919050565b6000602082019050818103600083015261479981613faa565b9050919050565b600060208201905081810360008301526147b981613fea565b9050919050565b600060208201905081810360008301526147d981614050565b9050919050565b600060208201905081810360008301526147f9816140b6565b9050919050565b600060208201905081810360008301526148198161411c565b9050919050565b6000602082019050818103600083015261483981614182565b9050919050565b60006020820190508181036000830152614859816141c2565b9050919050565b6000602082019050818103600083015261487981614228565b9050919050565b6000602082019050818103600083015261489981614268565b9050919050565b600060208201905081810360008301526148b9816142ce565b9050919050565b600060208201905081810360008301526148d98161430e565b9050919050565b600060208201905081810360008301526148f98161434e565b9050919050565b600060208201905081810360008301526149198161438e565b9050919050565b60006020820190508181036000830152614939816143ce565b9050919050565b6000602082019050614955600083018461440e565b92915050565b6000604051905081810181811067ffffffffffffffff8211171561497e57600080fd5b8060405250919050565b600067ffffffffffffffff82111561499f57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156149c757600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156149ef57600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000614a8582614af2565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b6000614ad982614a7a565b9050919050565b6000614aeb82614a7a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000614b3482614b83565b9050919050565b6000614b4682614b4d565b9050919050565b6000614b5882614af2565b9050919050565b6000614b6a82614b71565b9050919050565b6000614b7c82614af2565b9050919050565b6000614b8e82614b95565b9050919050565b6000614ba082614af2565b9050919050565b82818337600083830152505050565b60005b83811015614bd4578082015181840152602081019050614bb9565b83811115614be3576000848401525b50505050565b6000614bf482614c05565b9050919050565b6000819050919050565b6000614c1082614c32565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b614c4881614a7a565b8114614c5357600080fd5b50565b614c5f81614a8c565b8114614c6a57600080fd5b50565b614c7681614a98565b8114614c8157600080fd5b50565b614c8d81614aa2565b8114614c9857600080fd5b50565b614ca481614ace565b8114614caf57600080fd5b50565b614cbb81614ae0565b8114614cc657600080fd5b50565b614cd281614b12565b8114614cdd57600080fd5b5056fea164736f6c634300060c000a"; type GatewayV2ConstructorParams = | [signer?: Signer] diff --git a/typings/factories/Gateway__factory.ts b/typings/factories/Gateway__factory.ts index 153e4b60..1d8a2e57 100644 --- a/typings/factories/Gateway__factory.ts +++ b/typings/factories/Gateway__factory.ts @@ -49,6 +49,159 @@ const _abi = [ name: "Initialized", type: "event", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_098c0657", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__4b81551d", + type: "bytes8", + }, + ], + name: "c_4b81551d", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__52615ca8", + type: "bytes8", + }, + ], + name: "c_52615ca8", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_false098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__4b81551d", + type: "bytes8", + }, + ], + name: "c_false4b81551d", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__52615ca8", + type: "bytes8", + }, + ], + name: "c_false52615ca8", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_true098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__4b81551d", + type: "bytes8", + }, + ], + name: "c_true4b81551d", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__52615ca8", + type: "bytes8", + }, + ], + name: "c_true52615ca8", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [], name: "chainId", @@ -353,7 +506,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600046905080600181905550506123f58061006d6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063867519c61161008c5780639f255626116100665780639f255626146101fe578063b5021b161461021a578063d2c83b9a14610236578063f92c5f7c14610254576100cf565b8063867519c6146101a657806387d31313146101c25780639a8a0592146101e0576100cf565b8063231badaf146100d4578063392e53cd146100f0578063485cc9551461010e5780635afaa7bb1461012a57806373e5a13f1461014657806376db2b4c14610176575b600080fd5b6100ee60048036038101906100e99190611438565b610284565b005b6100f861037f565b6040516101059190611e71565b60405180910390f35b610128600480360381019061012391906115e0565b6103d5565b005b610144600480360381019061013f9190611563565b610561565b005b610160600480360381019061015b919061165d565b610739565b60405161016d9190611e8c565b60405180910390f35b610190600480360381019061018b919061161c565b61075e565b60405161019d9190611e8c565b60405180910390f35b6101c060048036038101906101bb91906113b9565b610788565b005b6101ca610799565b6040516101d79190611f07565b60405180910390f35b6101e86107bf565b6040516101f591906120a2565b60405180910390f35b610218600480360381019061021391906114f7565b6107c5565b005b610234600480360381019061022f9190611438565b6107d5565b005b61023e6108d1565b60405161024b9190611eec565b60405180910390f35b61026e60048036038101906102699190611390565b6108f7565b60405161027b91906120a2565b60405180910390f35b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411610305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fc90611f82565b60405180910390fd5b60006103258261031788888888610953565b6109b690919063ffffffff16565b905084600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061037786828686610a71565b505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610463576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045a90611f42565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e6326040516105559190611def565b60405180910390a15050565b60008251116105a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059c90611fc2565b60405180910390fd5b600080600090505b83518110156106f35760003073ffffffffffffffffffffffffffffffffffffffff168583815181106105db57fe5b60200260200101516040516105f09190611d0b565b6000604051808303816000865af19150503d806000811461062d576040519150601f19603f3d011682016040523d82523d6000602084013e610632565b606091505b505090508315610681578061067c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067390611f62565b60405180910390fd5b610697565b80801561068c575082155b1561069657600192505b5b7f361c14722cc344132c73396113f7164232448b09c544a149f09048648b43d872338684815181106106c557fe5b6020026020010151836040516106dd93929190611e0a565b60405180910390a15080806001019150506105ad565b5080610734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072b90612082565b60405180910390fd5b505050565b60006107578260000151836020015184604001518560600151610953565b9050919050565b600061078182600001518360200151846040015185606001518660800151610edc565b9050919050565b61079483338484610a71565b505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b6107d133338484610a71565b5050565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411610856576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084d90611f82565b60405180910390fd5b600061087782610869888888883a610edc565b6109b690919063ffffffff16565b905084600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108c986828686610a71565b505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061094c6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f4290919063ffffffff16565b9050919050565b60006109ac7f6848d0622081db2451400280dead7a739a080cb93852607c381af11e289769b286868661098587610f97565b6040516020016109989493929190611c6e565b604051602081830303815290604052610ffa565b9050949350505050565b60008060009050604183511415610a675760008060006020860151925060408601519150606086015160001a9050601b8160ff1610156109f757601b810190505b601b8160ff161480610a0c5750601c8160ff16145b15610a635760018782858560405160008152602001604052604051610a349493929190611ea7565b6020604051602081039080840390855afa158015610a56573d6000803e3d6000fd5b5050506020604051035193505b5050505b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad890611fa2565b60405180910390fd5b6000825111610b25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1c90612062565b60405180910390fd5b8151815114610b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6090612002565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614610d3d57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b8152600401610bf9929190611e48565b60206040518083038186803b158015610c1157600080fd5b505afa158015610c25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4991906115b7565b80610cfd5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b8152600401610cac929190611e48565b60206040518083038186803b158015610cc457600080fd5b505afa158015610cd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfc91906115b7565b5b610d3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3390611fe2565b60405180910390fd5b5b600080600090505b8251811015610ed457600073ffffffffffffffffffffffffffffffffffffffff16848281518110610d7257fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415610dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc890611f22565b60405180910390fd5b838181518110610ddd57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16838281518110610e0757fe5b60200260200101518787604051602001610e2393929190611d22565b604051602081830303815290604052604051610e3f9190611d0b565b6000604051808303816000865af19150503d8060008114610e7c576040519150601f19603f3d011682016040523d82523d6000602084013e610e81565b606091505b50508092505081610ec7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebe90612022565b60405180910390fd5b8080600101915050610d45565b505050505050565b6000610f377f6f4e1b2b1e5e49f4269e19e16e67a00cb0a796d96d30be3e4b540d3732e8bcad878787610f0e88610f97565b87604051602001610f23959493929190611cb4565b604051602081830303815290604052610ffa565b905095945050505050565b600080828401905083811015610f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8490612042565b60405180910390fd5b8091505092915050565b60608060008351905060005b81811015610fef5782858281518110610fb857fe5b6020026020010151604051602001610fd1929190611d5b565b60405160208183030381529060405292508080600101915050610fa3565b508192505050919050565b60006110336001543085856040516020016110189493929190611da5565b6040516020818303038152906040528051906020012061103b565b905092915050565b60008160405160200161104e9190611d7f565b604051602081830303815290604052805190602001209050919050565b60008135905061107a81612375565b92915050565b600082601f83011261109157600080fd5b81356110a461109f826120ea565b6120bd565b915081818352602084019350602081019050838560208402820111156110c957600080fd5b60005b838110156110f957816110df888261106b565b8452602084019350602083019250506001810190506110cc565b5050505092915050565b600082601f83011261111457600080fd5b813561112761112282612112565b6120bd565b9150818183526020840193506020810190508360005b8381101561116d578135860161115388826111a1565b84526020840193506020830192505060018101905061113d565b5050505092915050565b6000813590506111868161238c565b92915050565b60008151905061119b8161238c565b92915050565b600082601f8301126111b257600080fd5b81356111c56111c08261213a565b6120bd565b915080825260208301602083018583830111156111e157600080fd5b6111ec8382846122dd565b50505092915050565b600081359050611204816123a3565b92915050565b600081359050611219816123ba565b92915050565b600060a0828403121561123157600080fd5b61123b60a06120bd565b9050600061124b8482850161106b565b600083015250602061125f8482850161137b565b602083015250604082013567ffffffffffffffff81111561127f57600080fd5b61128b84828501611080565b604083015250606082013567ffffffffffffffff8111156112ab57600080fd5b6112b784828501611103565b60608301525060806112cb8482850161137b565b60808301525092915050565b6000608082840312156112e957600080fd5b6112f360806120bd565b905060006113038482850161106b565b60008301525060206113178482850161137b565b602083015250604082013567ffffffffffffffff81111561133757600080fd5b61134384828501611080565b604083015250606082013567ffffffffffffffff81111561136357600080fd5b61136f84828501611103565b60608301525092915050565b60008135905061138a816123d1565b92915050565b6000602082840312156113a257600080fd5b60006113b08482850161106b565b91505092915050565b6000806000606084860312156113ce57600080fd5b60006113dc8682870161106b565b935050602084013567ffffffffffffffff8111156113f957600080fd5b61140586828701611080565b925050604084013567ffffffffffffffff81111561142257600080fd5b61142e86828701611103565b9150509250925092565b600080600080600060a0868803121561145057600080fd5b600061145e8882890161106b565b955050602061146f8882890161137b565b945050604086013567ffffffffffffffff81111561148c57600080fd5b61149888828901611080565b935050606086013567ffffffffffffffff8111156114b557600080fd5b6114c188828901611103565b925050608086013567ffffffffffffffff8111156114de57600080fd5b6114ea888289016111a1565b9150509295509295909350565b6000806040838503121561150a57600080fd5b600083013567ffffffffffffffff81111561152457600080fd5b61153085828601611080565b925050602083013567ffffffffffffffff81111561154d57600080fd5b61155985828601611103565b9150509250929050565b6000806040838503121561157657600080fd5b600083013567ffffffffffffffff81111561159057600080fd5b61159c85828601611103565b92505060206115ad85828601611177565b9150509250929050565b6000602082840312156115c957600080fd5b60006115d78482850161118c565b91505092915050565b600080604083850312156115f357600080fd5b6000611601858286016111f5565b92505060206116128582860161120a565b9150509250929050565b60006020828403121561162e57600080fd5b600082013567ffffffffffffffff81111561164857600080fd5b6116548482850161121f565b91505092915050565b60006020828403121561166f57600080fd5b600082013567ffffffffffffffff81111561168957600080fd5b611695848285016112d7565b91505092915050565b60006116aa83836116d4565b60208301905092915050565b6116bf8161225f565b82525050565b6116ce816121dc565b82525050565b6116dd816121dc565b82525050565b6116f46116ef826121dc565b61231f565b82525050565b600061170582612176565b61170f8185612199565b935061171a83612166565b8060005b8381101561174b578151611732888261169e565b975061173d8361218c565b92505060018101905061171e565b5085935050505092915050565b611761816121ee565b82525050565b611770816121fa565b82525050565b611787611782826121fa565b612331565b82525050565b600061179882612181565b6117a281856121a4565b93506117b28185602086016122ec565b6117bb81612357565b840191505092915050565b60006117d182612181565b6117db81856121b5565b93506117eb8185602086016122ec565b80840191505092915050565b61180081612271565b82525050565b61180f81612295565b82525050565b6000611822601b836121c0565b91507f476174657761793a2063616e6e6f742073656e6420746f2030783000000000006000830152602082019050919050565b6000611862601c836121d1565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b60006118a2602f836121c0565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b60006119086017836121c0565b91507f476174657761793a2062617463682072657665727465640000000000000000006000830152602082019050919050565b60006119486032836121c0565b91507f476174657761793a206e6f6e6365206973206c6f776572207468616e2063757260008301527f72656e74206163636f756e74206e6f6e636500000000000000000000000000006020830152604082019050919050565b60006119ae6025836121c0565b91507f476174657761793a2063616e6e6f742073656e642066726f6d2030783020616360008301527f636f756e740000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611a146026836121c0565b91507f476174657761793a2063616e6e6f742064656c656761746520656d707479206260008301527f61746368657300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611a7a6028836121c0565b91507f476174657761793a2073656e646572206973206e6f7420746865206163636f7560008301527f6e74206f776e65720000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611ae06016836121c0565b91507f476174657761793a20696e76616c6964206261746368000000000000000000006000830152602082019050919050565b6000611b206023836121c0565b91507f476174657761793a206261746368207472616e73616374696f6e20726576657260008301527f74656400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611b86601e836121c0565b91507f536166654d6174684c69623a206164646974696f6e206f766572666c6f7700006000830152602082019050919050565b6000611bc66020836121c0565b91507f476174657761793a2063616e6e6f742073656e6420656d7074792062617463686000830152602082019050919050565b6000611c06601d836121c0565b91507f476174657761793a20616c6c20626174636865732072657665727465640000006000830152602082019050919050565b611c4281612248565b82525050565b611c59611c5482612248565b61234d565b82525050565b611c6881612252565b82525050565b6000611c7a82876116e3565b601482019150611c8a8286611c48565b602082019150611c9a82856116fa565b9150611ca682846117c6565b915081905095945050505050565b6000611cc082886116e3565b601482019150611cd08287611c48565b602082019150611ce082866116fa565b9150611cec82856117c6565b9150611cf88284611c48565b6020820191508190509695505050505050565b6000611d1782846117c6565b915081905092915050565b6000611d2e82866117c6565b9150611d3a82856116e3565b601482019150611d4a82846116e3565b601482019150819050949350505050565b6000611d6782856117c6565b9150611d7382846117c6565b91508190509392505050565b6000611d8a82611855565b9150611d968284611776565b60208201915081905092915050565b6000611db18287611c48565b602082019150611dc182866116e3565b601482019150611dd18285611776565b602082019150611de182846117c6565b915081905095945050505050565b6000602082019050611e0460008301846116b6565b92915050565b6000606082019050611e1f60008301866116b6565b8181036020830152611e31818561178d565b9050611e406040830184611758565b949350505050565b6000604082019050611e5d60008301856116c5565b611e6a60208301846116c5565b9392505050565b6000602082019050611e866000830184611758565b92915050565b6000602082019050611ea16000830184611767565b92915050565b6000608082019050611ebc6000830187611767565b611ec96020830186611c5f565b611ed66040830185611767565b611ee36060830184611767565b95945050505050565b6000602082019050611f0160008301846117f7565b92915050565b6000602082019050611f1c6000830184611806565b92915050565b60006020820190508181036000830152611f3b81611815565b9050919050565b60006020820190508181036000830152611f5b81611895565b9050919050565b60006020820190508181036000830152611f7b816118fb565b9050919050565b60006020820190508181036000830152611f9b8161193b565b9050919050565b60006020820190508181036000830152611fbb816119a1565b9050919050565b60006020820190508181036000830152611fdb81611a07565b9050919050565b60006020820190508181036000830152611ffb81611a6d565b9050919050565b6000602082019050818103600083015261201b81611ad3565b9050919050565b6000602082019050818103600083015261203b81611b13565b9050919050565b6000602082019050818103600083015261205b81611b79565b9050919050565b6000602082019050818103600083015261207b81611bb9565b9050919050565b6000602082019050818103600083015261209b81611bf9565b9050919050565b60006020820190506120b76000830184611c39565b92915050565b6000604051905081810181811067ffffffffffffffff821117156120e057600080fd5b8060405250919050565b600067ffffffffffffffff82111561210157600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561212957600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561215157600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006121e782612228565b9050919050565b60008115159050919050565b6000819050919050565b600061220f826121dc565b9050919050565b6000612221826121dc565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061226a826122b9565b9050919050565b600061227c82612283565b9050919050565b600061228e82612228565b9050919050565b60006122a0826122a7565b9050919050565b60006122b282612228565b9050919050565b60006122c4826122cb565b9050919050565b60006122d682612228565b9050919050565b82818337600083830152505050565b60005b8381101561230a5780820151818401526020810190506122ef565b83811115612319576000848401525b50505050565b600061232a8261233b565b9050919050565b6000819050919050565b600061234682612368565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b61237e816121dc565b811461238957600080fd5b50565b612395816121ee565b81146123a057600080fd5b50565b6123ac81612204565b81146123b757600080fd5b50565b6123c381612216565b81146123ce57600080fd5b50565b6123da81612248565b81146123e557600080fd5b5056fea164736f6c634300060c000a"; + "0x60806040523480156200001157600080fd5b506200002e67bcc9be562f8a4b0a60c01b6200014560201b60201c565b6200004a67579ae7209daca85260c01b6200014560201b60201c565b326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000a6676b19898ae2f7725060c01b6200014860201b60201c565b620000c2677c2d0c907f0deddc60c01b6200014860201b60201c565b620000de67f0d1a438b0305bb160c01b6200014860201b60201c565b6000620000fc6737bb5abaf3e7d9d360c01b6200014860201b60201c565b4690506200011b676f86a9c0c67bb39a60c01b6200014860201b60201c565b80600181905550506200013f677c1450e034caf90e60c01b6200014b60201b60201c565b6200014e565b50565b50565b50565b6134c9806200015e6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80639a8a0592116100b8578063c3e315871161007c578063c3e3158714610371578063c4543305146103a1578063d2c83b9a146103d1578063d6de3a60146103ef578063d84fa10c1461040b578063f92c5f7c1461043b57610142565b80639a8a0592146102cf5780639f255626146102ed578063ae1a7ece14610309578063b5021b1614610339578063bcd483641461035557610142565b80635afaa7bb1161010a5780635afaa7bb146101e95780636a8477281461020557806373e5a13f1461023557806376db2b4c14610265578063867519c61461029557806387d31313146102b157610142565b8063231badaf146101475780632c4bbae614610163578063392e53cd146101935780633e260b13146101b1578063485cc955146101cd575b600080fd5b610161600480360381019061015c91906124a0565b61046b565b005b61017d60048036038101906101789190612648565b61062e565b60405161018a9190612f02565b60405180910390f35b61019b610635565b6040516101a89190612f02565b60405180910390f35b6101cb60048036038101906101c69190612648565b6106c8565b005b6101e760048036038101906101e29190612671565b6106cb565b005b61020360048036038101906101fe91906125cb565b61096f565b005b61021f600480360381019061021a9190612648565b610db5565b60405161022c9190612f02565b60405180910390f35b61024f600480360381019061024a91906126ee565b610dbc565b60405161025c9190612f1d565b60405180910390f35b61027f600480360381019061027a91906126ad565b610e1d565b60405161028c9190612f1d565b60405180910390f35b6102af60048036038101906102aa9190612421565b610e83565b005b6102b9610ed0565b6040516102c69190612f98565b60405180910390f35b6102d7610ef6565b6040516102e49190613133565b60405180910390f35b6103076004803603810190610302919061255f565b610efc565b005b610323600480360381019061031e9190612648565b610f48565b6040516103309190612f02565b60405180910390f35b610353600480360381019061034e91906124a0565b610f53565b005b61036f600480360381019061036a9190612648565b611117565b005b61038b60048036038101906103869190612648565b61111a565b6040516103989190612f02565b60405180910390f35b6103bb60048036038101906103b69190612648565b611125565b6040516103c89190612f02565b60405180910390f35b6103d9611130565b6040516103e69190612f7d565b60405180910390f35b61040960048036038101906104049190612648565b611156565b005b61042560048036038101906104209190612648565b611159565b6040516104329190612f02565b60405180910390f35b610455600480360381019061045091906123f8565b611160565b6040516104629190613133565b60405180910390f35b61047f676d2b441ca5b2d66f60c01b611156565b61049367cba441f73d5890c760c01b611156565b6104a767134063f4b41abd4260c01b611156565b6104bb674032e611215d082760c01b611156565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054841161053c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053390613013565b60405180910390fd5b61055067a9d439bfdf6eb1cc60c01b611156565b610564671f234de3a0d2f60460c01b611156565b61057867f304f663a1c4bbaf60c01b611156565b60006105988261058a888888886111f8565b61129790919063ffffffff16565b90506105ae6756b8cff0e930311760c01b611156565b84600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061060667ee6e52e5d015606460c01b611156565b61061a67bc70da3bfe9cf97760c01b611156565b6106268682868661159f565b505050505050565b6000919050565b600061064b67e29fe2f351ca6b2760c01b6106c8565b61065f676f5dd3f08b97747760c01b6106c8565b610673673a9488d62818322a60c01b6106c8565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b6106df6795203fae258cd5a860c01b611156565b6106f367d2ba19feb39e0b7f60c01b6106c8565b610707670c5ad53cdb9edd1560c01b6106c8565b61071b67b6b588d2ebb9ae6960c01b6106c8565b61072f67c4ec9a90a885875260c01b6106c8565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146107bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b490612fd3565b60405180910390fd5b6107d167c3785ba1534db95460c01b6106c8565b6107e567e4202927591248ef60c01b6106c8565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061083a67531cfa2817fbdc8660c01b6106c8565b61084e67d52395001d86cd9860c01b611156565b6108626748cf248005035c7260c01b611156565b610876670a50f00a10ef795e60c01b611156565b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108cb67a40b8397769de3a960c01b611156565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506109206701520f419008b58e60c01b6106c8565b6109346775364c04848b013b60c01b6106c8565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e6326040516109639190612e80565b60405180910390a15050565b61098367cbe3a3b6e4a32fb560c01b611156565b61099767cee3ab3e7b19a5c460c01b611156565b6109ab67ad364c560a61b40260c01b611156565b6109bf678d9e04abff0f7afa60c01b611156565b6000825111610a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fa90613053565b60405180910390fd5b610a17670fb165cf3195236b60c01b611156565b610a2b6726dade9b5adc877e60c01b611156565b610a3f672e7fc91247b2388a60c01b611156565b6000610a55679dfb6fb8f247e20f60c01b611156565b610a6967873d96ccafa2ea2460c01b611156565b60005b8351811015610cf757610a89673a6281b857c1883a60c01b611156565b610a9d67bb13b5f81353d86f60c01b611156565b60003073ffffffffffffffffffffffffffffffffffffffff16858381518110610ac257fe5b6020026020010151604051610ad79190612d9c565b6000604051808303816000865af19150503d8060008114610b14576040519150601f19603f3d011682016040523d82523d6000602084013e610b19565b606091505b50509050610b31673392a3ac8b79ec4760c01b611156565b610b4567c4bf08d594dff7aa60c01b611156565b8315610bf457610b5f6748ba6292bfbddc1260c01b611156565b610b736715e78cb2b9b4d50760c01b611156565b610b8767766a2b91bb03a82360c01b611156565b610b9b6761f9a7df4f4be02f60c01b611156565b80610bdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd290612ff3565b60405180910390fd5b610bef671dd77e7c6333973b60c01b611156565b610c73565b610c086796fadd9814b4767c60c01b611156565b610c1c676b5b88a65ae31eeb60c01b611156565b808015610c27575082155b15610c5d57610c4067bad296d6579f896960c01b611156565b610c5467ca846dec5f0adb7160c01b611156565b60019250610c72565b610c7167c6e3aeb1a5181ce760c01b611156565b5b5b610c876740d2a01cdd1cac7860c01b611156565b610c9b676545d9424f37f96960c01b611156565b7f361c14722cc344132c73396113f7164232448b09c544a149f09048648b43d87233868481518110610cc957fe5b602002602001015183604051610ce193929190612e9b565b60405180910390a1508080600101915050610a6c565b50610d0c677728c6b8ac36981860c01b611156565b610d2067525bb1495be5234360c01b611156565b80610d9c57610d39675e3936a6ac769cc960c01b611156565b610d4d6752887c54c4be9b9e60c01b611156565b610d616749f1236db1207ec760c01b611156565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9390613113565b60405180910390fd5b610db0676fbce0a45d81c8a660c01b611156565b505050565b6000919050565b6000610dd267af82c1046377360460c01b611156565b610de6674039be855323d8d660c01b611156565b610dfa67cf045155f85786c160c01b611156565b610e1682600001518360200151846040015185606001516111f8565b9050919050565b6000610e3367e3b9509f75e5eb8f60c01b611156565b610e4767d5f865209da52da660c01b611156565b610e5b671deb6cb53ce04c8c60c01b611156565b610e7c82600001518360200151846040015185606001518660800151611cec565b9050919050565b610e9767c9e4754bee58077660c01b611156565b610eab6755041238e510c8a460c01b611156565b610ebf679b158f7ea217dd5060c01b611156565b610ecb8333848461159f565b505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b610f10677463f60ab55aa43c60c01b611156565b610f2467310201c2495c1a7060c01b611156565b610f38679792be76dd7fb25a60c01b611156565b610f443333848461159f565b5050565b600060019050919050565b610f6767e2e28a3fd543159560c01b611156565b610f7b67ecd11683dce0448160c01b611156565b610f8f675f914ba846473bb960c01b611156565b610fa3672f7ced2e8998afa060c01b611156565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411611024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101b90613013565b60405180910390fd5b611038677b910af083a9208f60c01b611156565b61104c67916f7b8e6d440ebc60c01b611156565b611060678027492c5b06d5cf60c01b611156565b600061108182611073888888883a611cec565b61129790919063ffffffff16565b905061109767e1c9417306b4124060c01b611156565b84600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110ef671b875e4d0564a09360c01b611156565b611103675c1861a0762d6a8760c01b611156565b61110f8682868661159f565b505050505050565b50565b600060019050919050565b600060019050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b50565b6000919050565b600061117667fc9e932269ec50dc60c01b611156565b61118a6725c1a24b83a9221a60c01b611156565b61119e678a8fbbe0a9c15aa760c01b611156565b6111f16001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d8e90919063ffffffff16565b9050919050565b600061120e67eda742b77289556460c01b611156565b611222674b697a77cafec65a60c01b611156565b611236676541c42e522f19c060c01b611156565b61128d7f6848d0622081db2451400280dead7a739a080cb93852607c381af11e289769b286868661126687611e98565b6040516020016112799493929190612cff565b604051602081830303815290604052611fc4565b9050949350505050565b60006112ad670d75db982ec4597160c01b612041565b6112c16725c2c60ab754182560c01b612041565b6112d5673eb64a254569ed0660c01b612041565b60006112eb67fb2a2286066e15e460c01b612041565b6112ff67a440db11ec9e986d60c01b612041565b6041835114156115585761131d6704a5aada48e2763260c01b612041565b611331674b98cf1796e5c26660c01b612041565b61134567d2dfec7b159385fc60c01b612041565b600061135b6772c2a840621b4aa760c01b612041565b61136f67bfd411e6ba4d07c460c01b612041565b600061138567145d23f82764ba9960c01b612041565b61139967acdff958a9c6c5dd60c01b612041565b60006113af673b79e3a80932a6a160c01b612041565b6020860151925060408601519150606086015160001a90506113db679b0cdee01a57ea2f60c01b612041565b6113ef675dbf88583373227960c01b612041565b601b8160ff16101561142e5761140f670dc9a1836eb51c3260c01b612041565b611423677097d8456a6c3e1560c01b612041565b601b81019050611443565b6114426708b39c61216869e760c01b612041565b5b611457672ea4d6db7d2138c560c01b612041565b61146b679ad3f461195a5eee60c01b612041565b601b8160ff1614801561148e575061148d67a24e972b59dc7d0560c01b612044565b5b806114b85750601c8160ff161480156114b757506114b667934bee4849491d9560c01b612044565b5b5b1561153b576114d1676d6a491fc6e072fa60c01b612041565b6114e567aecd1690d1de9f1c60c01b612041565b600187828585604051600081526020016040526040516115089493929190612f38565b6020604051602081039080840390855afa15801561152a573d6000803e3d6000fd5b505050602060405103519350611550565b61154f67513fbc3b3a0ad1c060c01b612041565b5b50505061156d565b61156c6723d6d78de386c96660c01b612041565b5b6115816707d0c4f11e72cfc960c01b612041565b61159567b9689b22f403636c60c01b612041565b8091505092915050565b6115b3673dc6b1fd578a592f60c01b611156565b6115c7675b12e7ee60d8c7a460c01b611156565b6115db6716dd37c4e900fda160c01b611156565b6115ef67aef774dd43d78e1260c01b611156565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561165f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165690613033565b60405180910390fd5b61167367bb8ef6bfca66485960c01b611156565b6116876777214430d6b2247660c01b611156565b61169b67cc7243b862e92dc960c01b611156565b6116af674b1049b37cc0441a60c01b611156565b60008251116116f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ea906130f3565b60405180910390fd5b61170767a401c78b6842967b60c01b611156565b61171b676bc409b80f9cc97560c01b611156565b61172f670c21a13c3f0af80f60c01b611156565b61174367df236f0cb85aa7a760c01b611156565b8151815114611787576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177e90613093565b60405180910390fd5b61179b673b0d47612c5bfcb060c01b611156565b6117af677383a757a10ce6a660c01b611156565b6117c367d54972dcc54da96a60c01b611156565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611a375761180a67695f0a5ed6645cb160c01b611156565b61181e673c678a99acd09dfe60c01b611156565b611832672e9b649e87fb1bf160c01b611156565b61184667d21d499d67dd50dd60c01b611156565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b81526004016118a3929190612ed9565b60206040518083038186803b1580156118bb57600080fd5b505afa1580156118cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f3919061261f565b801561190f575061190e67a6bf4e6eca47d89260c01b61111a565b5b806119df5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb890d3f85856040518363ffffffff1660e01b8152600401611972929190612ed9565b60206040518083038186803b15801561198a57600080fd5b505afa15801561199e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c2919061261f565b80156119de57506119dd678f8df1355d42245960c01b61111a565b5b5b611a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1590613073565b60405180910390fd5b611a326707751d0d2332acbb60c01b611156565b611a4c565b611a4b678e9477de75c4b33960c01b611156565b5b611a606732451c5d20fa0b0e60c01b611156565b611a7467bde85699afe47a2560c01b611156565b6000611a8a670ac7e6b247a1b23660c01b611156565b611a9e67a4b54381933286a160c01b611156565b60005b8251811015611ce457611abe67e7a575dd079f50e060c01b611156565b611ad267dc63add401f9859960c01b611156565b611ae667c37bca055481b01060c01b611156565b600073ffffffffffffffffffffffffffffffffffffffff16848281518110611b0a57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415611b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6090612fb3565b60405180910390fd5b611b7d67c419a2487f65256460c01b611156565b611b916756305d165003f7c060c01b611156565b838181518110611b9d57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16838281518110611bc757fe5b60200260200101518787604051602001611be393929190612db3565b604051602081830303815290604052604051611bff9190612d9c565b6000604051808303816000865af19150503d8060008114611c3c576040519150601f19603f3d011682016040523d82523d6000602084013e611c41565b606091505b505080925050611c5b670f9dfeab41fb8ea060c01b611156565b611c6f676d8a92db9e4d9eb760c01b611156565b611c836731620bc12623c2a460c01b611156565b81611cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cba906130b3565b60405180910390fd5b611cd7678d59ec3587b5a94e60c01b611156565b8080600101915050611aa1565b505050505050565b6000611d02671ec04fa3e6433c7060c01b611156565b611d1667f636738c68fd79e260c01b611156565b611d2a6794bdd90ed43103ae60c01b611156565b611d837f6f4e1b2b1e5e49f4269e19e16e67a00cb0a796d96d30be3e4b540d3732e8bcad878787611d5a88611e98565b87604051602001611d6f959493929190612d45565b604051602081830303815290604052611fc4565b905095945050505050565b6000611da4672797d9bbee8e685760c01b61204f565b611db867e25930aa3032662f60c01b61204f565b611dcc673b804ace3fd44ea060c01b61204f565b60008284019050611de767e0d809daafe36a0460c01b61204f565b611dfb67d0d7b021c1a6823260c01b61204f565b611e0f6741f1099b5fa09b9360c01b61204f565b83811015611e52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e49906130d3565b60405180910390fd5b611e666728a352a27e50889560c01b61204f565b611e7a67f55e5f024a80111c60c01b61204f565b611e8e67d865abdcb752192460c01b61204f565b8091505092915050565b6060611eae673d52b345085804d360c01b611156565b611ec267938a3fc7b0db7b7560c01b611156565b611ed667efd64ece1fcae34460c01b611156565b6060611eec678e4f8d3e667dc68060c01b611156565b611f0067058d193f1566526e60c01b611156565b600083519050611f1a678b29a7b925d3ac0a60c01b611156565b611f2e67ba6e3e037213797660c01b611156565b60005b81811015611f9157611f4d6757304e9d85c5f61a60c01b611156565b82858281518110611f5a57fe5b6020026020010151604051602001611f73929190612dec565b60405160208183030381529060405292508080600101915050611f31565b50611fa6672f36155ab352e49460c01b611156565b611fba6720ea1b68fe8bdcf860c01b611156565b8192505050919050565b6000611fda6771b334e2e3162d2e60c01b611117565b611fee6729046581cf97a49460c01b611117565b612002674f9e67c6b1f334b360c01b611117565b61203960015430858560405160200161201e9493929190612e36565b60405160208183030381529060405280519060200120612052565b905092915050565b50565b600060019050919050565b50565b600061206867f3d1beb9fba5b7be60c01b612041565b61207c676cd81a1865d6353260c01b612041565b612090676810828c21da671e60c01b612041565b816040516020016120a19190612e10565b604051602081830303815290604052805190602001209050919050565b6000813590506120cd81613432565b92915050565b600082601f8301126120e457600080fd5b81356120f76120f28261317b565b61314e565b9150818183526020840193506020810190508385602084028201111561211c57600080fd5b60005b8381101561214c578161213288826120be565b84526020840193506020830192505060018101905061211f565b5050505092915050565b600082601f83011261216757600080fd5b813561217a612175826131a3565b61314e565b9150818183526020840193506020810190508360005b838110156121c057813586016121a68882612209565b845260208401935060208301925050600181019050612190565b5050505092915050565b6000813590506121d981613449565b92915050565b6000815190506121ee81613449565b92915050565b60008135905061220381613460565b92915050565b600082601f83011261221a57600080fd5b813561222d612228826131cb565b61314e565b9150808252602083016020830185838301111561224957600080fd5b61225483828461339a565b50505092915050565b60008135905061226c81613477565b92915050565b6000813590506122818161348e565b92915050565b600060a0828403121561229957600080fd5b6122a360a061314e565b905060006122b3848285016120be565b60008301525060206122c7848285016123e3565b602083015250604082013567ffffffffffffffff8111156122e757600080fd5b6122f3848285016120d3565b604083015250606082013567ffffffffffffffff81111561231357600080fd5b61231f84828501612156565b6060830152506080612333848285016123e3565b60808301525092915050565b60006080828403121561235157600080fd5b61235b608061314e565b9050600061236b848285016120be565b600083015250602061237f848285016123e3565b602083015250604082013567ffffffffffffffff81111561239f57600080fd5b6123ab848285016120d3565b604083015250606082013567ffffffffffffffff8111156123cb57600080fd5b6123d784828501612156565b60608301525092915050565b6000813590506123f2816134a5565b92915050565b60006020828403121561240a57600080fd5b6000612418848285016120be565b91505092915050565b60008060006060848603121561243657600080fd5b6000612444868287016120be565b935050602084013567ffffffffffffffff81111561246157600080fd5b61246d868287016120d3565b925050604084013567ffffffffffffffff81111561248a57600080fd5b61249686828701612156565b9150509250925092565b600080600080600060a086880312156124b857600080fd5b60006124c6888289016120be565b95505060206124d7888289016123e3565b945050604086013567ffffffffffffffff8111156124f457600080fd5b612500888289016120d3565b935050606086013567ffffffffffffffff81111561251d57600080fd5b61252988828901612156565b925050608086013567ffffffffffffffff81111561254657600080fd5b61255288828901612209565b9150509295509295909350565b6000806040838503121561257257600080fd5b600083013567ffffffffffffffff81111561258c57600080fd5b612598858286016120d3565b925050602083013567ffffffffffffffff8111156125b557600080fd5b6125c185828601612156565b9150509250929050565b600080604083850312156125de57600080fd5b600083013567ffffffffffffffff8111156125f857600080fd5b61260485828601612156565b9250506020612615858286016121ca565b9150509250929050565b60006020828403121561263157600080fd5b600061263f848285016121df565b91505092915050565b60006020828403121561265a57600080fd5b6000612668848285016121f4565b91505092915050565b6000806040838503121561268457600080fd5b60006126928582860161225d565b92505060206126a385828601612272565b9150509250929050565b6000602082840312156126bf57600080fd5b600082013567ffffffffffffffff8111156126d957600080fd5b6126e584828501612287565b91505092915050565b60006020828403121561270057600080fd5b600082013567ffffffffffffffff81111561271a57600080fd5b6127268482850161233f565b91505092915050565b600061273b8383612765565b60208301905092915050565b6127508161331c565b82525050565b61275f8161326d565b82525050565b61276e8161326d565b82525050565b6127856127808261326d565b6133dc565b82525050565b600061279682613207565b6127a0818561322a565b93506127ab836131f7565b8060005b838110156127dc5781516127c3888261272f565b97506127ce8361321d565b9250506001810190506127af565b5085935050505092915050565b6127f28161327f565b82525050565b6128018161328b565b82525050565b6128186128138261328b565b6133ee565b82525050565b600061282982613212565b6128338185613235565b93506128438185602086016133a9565b61284c81613414565b840191505092915050565b600061286282613212565b61286c8185613246565b935061287c8185602086016133a9565b80840191505092915050565b6128918161332e565b82525050565b6128a081613352565b82525050565b60006128b3601b83613251565b91507f476174657761793a2063616e6e6f742073656e6420746f2030783000000000006000830152602082019050919050565b60006128f3601c83613262565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b6000612933602f83613251565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b6000612999601783613251565b91507f476174657761793a2062617463682072657665727465640000000000000000006000830152602082019050919050565b60006129d9603283613251565b91507f476174657761793a206e6f6e6365206973206c6f776572207468616e2063757260008301527f72656e74206163636f756e74206e6f6e636500000000000000000000000000006020830152604082019050919050565b6000612a3f602583613251565b91507f476174657761793a2063616e6e6f742073656e642066726f6d2030783020616360008301527f636f756e740000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612aa5602683613251565b91507f476174657761793a2063616e6e6f742064656c656761746520656d707479206260008301527f61746368657300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612b0b602883613251565b91507f476174657761793a2073656e646572206973206e6f7420746865206163636f7560008301527f6e74206f776e65720000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612b71601683613251565b91507f476174657761793a20696e76616c6964206261746368000000000000000000006000830152602082019050919050565b6000612bb1602383613251565b91507f476174657761793a206261746368207472616e73616374696f6e20726576657260008301527f74656400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612c17601e83613251565b91507f536166654d6174684c69623a206164646974696f6e206f766572666c6f7700006000830152602082019050919050565b6000612c57602083613251565b91507f476174657761793a2063616e6e6f742073656e6420656d7074792062617463686000830152602082019050919050565b6000612c97601d83613251565b91507f476174657761793a20616c6c20626174636865732072657665727465640000006000830152602082019050919050565b612cd381613305565b82525050565b612cea612ce582613305565b61340a565b82525050565b612cf98161330f565b82525050565b6000612d0b8287612774565b601482019150612d1b8286612cd9565b602082019150612d2b828561278b565b9150612d378284612857565b915081905095945050505050565b6000612d518288612774565b601482019150612d618287612cd9565b602082019150612d71828661278b565b9150612d7d8285612857565b9150612d898284612cd9565b6020820191508190509695505050505050565b6000612da88284612857565b915081905092915050565b6000612dbf8286612857565b9150612dcb8285612774565b601482019150612ddb8284612774565b601482019150819050949350505050565b6000612df88285612857565b9150612e048284612857565b91508190509392505050565b6000612e1b826128e6565b9150612e278284612807565b60208201915081905092915050565b6000612e428287612cd9565b602082019150612e528286612774565b601482019150612e628285612807565b602082019150612e728284612857565b915081905095945050505050565b6000602082019050612e956000830184612747565b92915050565b6000606082019050612eb06000830186612747565b8181036020830152612ec2818561281e565b9050612ed160408301846127e9565b949350505050565b6000604082019050612eee6000830185612756565b612efb6020830184612756565b9392505050565b6000602082019050612f1760008301846127e9565b92915050565b6000602082019050612f3260008301846127f8565b92915050565b6000608082019050612f4d60008301876127f8565b612f5a6020830186612cf0565b612f6760408301856127f8565b612f7460608301846127f8565b95945050505050565b6000602082019050612f926000830184612888565b92915050565b6000602082019050612fad6000830184612897565b92915050565b60006020820190508181036000830152612fcc816128a6565b9050919050565b60006020820190508181036000830152612fec81612926565b9050919050565b6000602082019050818103600083015261300c8161298c565b9050919050565b6000602082019050818103600083015261302c816129cc565b9050919050565b6000602082019050818103600083015261304c81612a32565b9050919050565b6000602082019050818103600083015261306c81612a98565b9050919050565b6000602082019050818103600083015261308c81612afe565b9050919050565b600060208201905081810360008301526130ac81612b64565b9050919050565b600060208201905081810360008301526130cc81612ba4565b9050919050565b600060208201905081810360008301526130ec81612c0a565b9050919050565b6000602082019050818103600083015261310c81612c4a565b9050919050565b6000602082019050818103600083015261312c81612c8a565b9050919050565b60006020820190506131486000830184612cca565b92915050565b6000604051905081810181811067ffffffffffffffff8211171561317157600080fd5b8060405250919050565b600067ffffffffffffffff82111561319257600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156131ba57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156131e257600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000613278826132e5565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b60006132cc8261326d565b9050919050565b60006132de8261326d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061332782613376565b9050919050565b600061333982613340565b9050919050565b600061334b826132e5565b9050919050565b600061335d82613364565b9050919050565b600061336f826132e5565b9050919050565b600061338182613388565b9050919050565b6000613393826132e5565b9050919050565b82818337600083830152505050565b60005b838110156133c75780820151818401526020810190506133ac565b838111156133d6576000848401525b50505050565b60006133e7826133f8565b9050919050565b6000819050919050565b600061340382613425565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b61343b8161326d565b811461344657600080fd5b50565b6134528161327f565b811461345d57600080fd5b50565b61346981613295565b811461347457600080fd5b50565b613480816132c1565b811461348b57600080fd5b50565b613497816132d3565b81146134a257600080fd5b50565b6134ae81613305565b81146134b957600080fd5b5056fea164736f6c634300060c000a"; type GatewayConstructorParams = | [signer?: Signer] diff --git a/typings/factories/GuardedMock__factory.ts b/typings/factories/GuardedMock__factory.ts index cabf7ee2..df36133e 100644 --- a/typings/factories/GuardedMock__factory.ts +++ b/typings/factories/GuardedMock__factory.ts @@ -68,6 +68,108 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__0b6945c4", + type: "bytes8", + }, + ], + name: "c_0b6945c4", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d64e18df", + type: "bytes8", + }, + ], + name: "c_d64e18df", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__0b6945c4", + type: "bytes8", + }, + ], + name: "c_false0b6945c4", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d64e18df", + type: "bytes8", + }, + ], + name: "c_falsed64e18df", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__0b6945c4", + type: "bytes8", + }, + ], + name: "c_true0b6945c4", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d64e18df", + type: "bytes8", + }, + ], + name: "c_trued64e18df", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { @@ -127,7 +229,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50604051610cfd380380610cfd8339818101604052602081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b8382019150602082018581111561006957600080fd5b825186602082028301116401000000008211171561008657600080fd5b8083526020830192505050908051906020019060200280838360005b838110156100bd5780820151818401526020810190506100a2565b505050509050016040525050506100d9816100df60201b60201c565b5061036a565b6000815114156100fd576100f83261014360201b60201c565b610140565b60008151905060005b8181101561013d5761013083828151811061011d57fe5b602002602001015161014360201b60201c565b8080600101915050610106565b50505b50565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156101e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a2063616e6e6f74206164642030783020677561726469616e81525060200191505060405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156102a5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a20677561726469616e20616c72656164792065786973747381525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b610984806103796000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630c68ba211461005157806371404156146100ab578063a526d83b146100ef578063d0f710d614610133575b600080fd5b6100936004803603602081101561006757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506101cc565b60405180821515815260200191505060405180910390f35b6100ed600480360360208110156100c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610221565b005b6101316004803603602081101561010557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104e7565b005b6101b46004803603604081101561014957600080fd5b81019080803590602001909291908035906020019064010000000081111561017057600080fd5b82018360208201111561018257600080fd5b803590602001918460018302840111640100000000831117156101a457600080fd5b9091929391929390505050610594565b60405180821515815260200191505060405180910390f35b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166102c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806109526026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161415610364576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f477561726465643a2063616e6e6f742072656d6f76652073656c66000000000081525060200191505060405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610422576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f477561726465643a20677561726469616e20646f65736e27742065786973740081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b3282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610588576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806109526026913960400191505060405180910390fd5b610591816105ed565b50565b60006105e48484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610814565b90509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610690576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a2063616e6e6f74206164642030783020677561726469616e81525060200191505060405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561074f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a20677561726469616e20616c72656164792065786973747381525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b60008061082a838561088190919063ffffffff16565b90506000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b600080600090506041835114156109475760008060006020860151925060408601519150606086015160001a9050601b8160ff1610156108c257601b810190505b601b8160ff1614806108d75750601c8160ff16145b156109435760018782858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610936573d6000803e3d6000fd5b5050506020604051035193505b5050505b809150509291505056fe477561726465643a2074782e6f726967696e206973206e6f742074686520677561726469616ea164736f6c634300060c000a"; + "0x60806040523480156200001157600080fd5b506040516200196538038062001965833981810160405260208110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b838201915060208201858111156200006f57600080fd5b82518660208202830111640100000000821117156200008d57600080fd5b8083526020830192505050908051906020019060200280838360005b83811015620000c6578082015181840152602081019050620000a9565b50505050905001604052505050620000ef67e6ad6dd6ee73072860c01b6200015b60201b60201c565b6200010b679c6d41472e0ebf9760c01b6200015e60201b60201c565b620001276734640e767a3e803060c01b6200015e60201b60201c565b6200014367e6e5ab40fefb047160c01b6200015e60201b60201c565b62000154816200016160201b60201c565b50620006b3565b50565b50565b6200017d67f4de5e8e73d6ad8760c01b6200015b60201b60201c565b6200019967db1ce0981035d84760c01b6200015b60201b60201c565b620001b567e97a0a25809a3f0960c01b6200015b60201b60201c565b6000815114156200022b57620001dc67de11b839232da49160c01b6200015b60201b60201c565b620001f867b59bd2ea0c1c89a260c01b6200015b60201b60201c565b6200021467652fe2786000e62060c01b6200015b60201b60201c565b62000225326200033a60201b60201c565b62000337565b6200024767ad5f6f13dddc2ad960c01b6200015b60201b60201c565b62000263672af46088979bcb2160c01b6200015b60201b60201c565b6200027f6796cb81cf0bf6606d60c01b6200015b60201b60201c565b600081519050620002a1672f4c11881b8dca8c60c01b6200015b60201b60201c565b620002bd67cec4e8db5057edad60c01b6200015b60201b60201c565b60005b818110156200033457620002e5671a5cc94c8b734dd960c01b6200015b60201b60201c565b6200030167e437d14e98e20b2f60c01b6200015b60201b60201c565b620003268382815181106200031257fe5b60200260200101516200033a60201b60201c565b8080600101915050620002c0565b50505b50565b620003566703611a9e4063d8ea60c01b6200015b60201b60201c565b6200037267ee1baacaa033494260c01b6200015b60201b60201c565b6200038e6751e5840de998a97760c01b6200015b60201b60201c565b620003aa676f82de74e2e2e03560c01b6200015b60201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156200044e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a2063616e6e6f74206164642030783020677561726469616e81525060200191505060405180910390fd5b6200046a6717cb80dba7a8a0ea60c01b6200015b60201b60201c565b6200048667e2f8fabe2a63d8b660c01b6200015b60201b60201c565b620004a2677550a657f22d30dc60c01b6200015b60201b60201c565b620004be673c81d7073dbe6f3060c01b6200015b60201b60201c565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156200057e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a20677561726469616e20616c72656164792065786973747381525060200191505060405180910390fd5b6200059a67bc5a1f0994a7f54e60c01b6200015b60201b60201c565b620005b6679a7f014629c7374960c01b6200015b60201b60201c565b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200062967d71c83e9f3188e9d60c01b6200015b60201b60201c565b6200064567e4bfbd26cb5c77e660c01b6200015b60201b60201c565b7fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b6112a280620006c36000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063bccb31c611610066578063bccb31c614610243578063d0f710d61461028c578063db57b3d214610325578063e7446c3a14610384578063fd929834146103e35761009e565b80630c68ba21146100a357806329fbd957146100fd578063714041561461015c578063a3561e69146101a0578063a526d83b146101ff575b600080fd5b6100e5600480360360208110156100b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061042c565b60405180821515815260200191505060405180910390f35b6101446004803603602081101561011357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506104bd565b60405180821515815260200191505060405180910390f35b61019e6004803603602081101561017257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104c8565b005b6101e7600480360360208110156101b657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061091e565b60405180821515815260200191505060405180910390f35b6102416004803603602081101561021557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610925565b005b61028a6004803603602081101561025957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610aae565b005b61030d600480360360408110156102a257600080fd5b8101908080359060200190929190803590602001906401000000008111156102c957600080fd5b8201836020820111156102db57600080fd5b803590602001918460018302840111640100000000831117156102fd57600080fd5b9091929391929390505050610ab1565b60405180821515815260200191505060405180910390f35b61036c6004803603602081101561033b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b46565b60405180821515815260200191505060405180910390f35b6103cb6004803603602081101561039a57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b51565b60405180821515815260200191505060405180910390f35b61042a600480360360208110156103f957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b58565b005b6000610442677ab52c65f999e01f60c01b610aae565b6104566710268b7b424a1bd560c01b610aae565b61046a6713a157f311059a7b60c01b610aae565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600060019050919050565b6104dc6747dd6d4e27a092d260c01b610aae565b6104f067e0600b94c13d066760c01b610aae565b6105046755e8cedcdd449e2360c01b610aae565b61051867ab821ba7fedab67160c01b610aae565b61052c67c540fbd78e0e2a4960c01b610aae565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166105cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806112706026913960400191505060405180910390fd5b6105e167d014260b312542b460c01b610aae565b6105f5674e25985d1c99d1f260c01b610aae565b61060967736984febec5fd2560c01b610aae565b61061d67cbb923c66996310360c01b610aae565b610631672c114aff1103564b60c01b610aae565b61064567a76a63e34be2bddb60c01b610aae565b61065967a220bc889ca09d2360c01b610aae565b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614156106fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f477561726465643a2063616e6e6f742072656d6f76652073656c66000000000081525060200191505060405180910390fd5b61070f679467d7af09c5944d60c01b610aae565b61072367c28a58b1b15ad6de60c01b610aae565b61073767c70b0fecc7c6d3b160c01b610aae565b61074b67e7892f9392d41a6760c01b610aae565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f477561726465643a20677561726469616e20646f65736e27742065786973740081525060200191505060405180910390fd5b61081d675a0de441d13969aa60c01b610aae565b610831674e473b0a29064fba60c01b610aae565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061089c67e398e5606400274660c01b610aae565b6108b06738c3bd156a3471c260c01b610aae565b7fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b3282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b6000919050565b61093967c17b66a0b198af7b60c01b610aae565b61094d67e0600b94c13d066760c01b610aae565b6109616755e8cedcdd449e2360c01b610aae565b61097567ab821ba7fedab67160c01b610aae565b61098967c540fbd78e0e2a4960c01b610aae565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806112706026913960400191505060405180910390fd5b610a3e67d014260b312542b460c01b610aae565b610a52674e25985d1c99d1f260c01b610aae565b610a6667dfa24a8cc198350160c01b610aae565b610a7a67f9907d82cd18ee0760c01b610aae565b610a8e67dd37ee49f553c5a760c01b610aae565b610aa2679ad66b1d98f77fdf60c01b610aae565b610aab81610b5b565b50565b50565b6000610ac7670fa739e07c029f9060c01b610aae565b610adb67406100042e7653bd60c01b610aae565b610aef6784104632bda8198f60c01b610aae565b610b3d8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610e72565b90509392505050565b600060019050919050565b6000919050565b50565b610b6f6703611a9e4063d8ea60c01b610aae565b610b8367ee1baacaa033494260c01b610aae565b610b976751e5840de998a97760c01b610aae565b610bab676f82de74e2e2e03560c01b610aae565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a2063616e6e6f74206164642030783020677561726469616e81525060200191505060405180910390fd5b610c626717cb80dba7a8a0ea60c01b610aae565b610c7667e2f8fabe2a63d8b660c01b610aae565b610c8a677550a657f22d30dc60c01b610aae565b610c9e673c81d7073dbe6f3060c01b610aae565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610d5d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a20677561726469616e20616c72656164792065786973747381525060200191505060405180910390fd5b610d7167bc5a1f0994a7f54e60c01b610aae565b610d85679a7f014629c7374960c01b610aae565b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610df067d71c83e9f3188e9d60c01b610aae565b610e0467e4bfbd26cb5c77e660c01b610aae565b7fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b6000610e8867fbe9af14abc78ca860c01b610aae565b610e9c67bd3616cf00f8ad2b60c01b610aae565b610eb0670aad941719c9b69b60c01b610aae565b6000610ec58385610f4490919063ffffffff16565b9050610edb6706f556c4601e7cd060c01b610aae565b610eef67344e7bee2db8345860c01b610aae565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b6000610f5a670d75db982ec4597160c01b611261565b610f6e6725c2c60ab754182560c01b611261565b610f82673eb64a254569ed0660c01b611261565b6000610f9867fb2a2286066e15e460c01b611261565b610fac67a440db11ec9e986d60c01b611261565b60418351141561121a57610fca6704a5aada48e2763260c01b611261565b610fde674b98cf1796e5c26660c01b611261565b610ff267d2dfec7b159385fc60c01b611261565b60006110086772c2a840621b4aa760c01b611261565b61101c67bfd411e6ba4d07c460c01b611261565b600061103267145d23f82764ba9960c01b611261565b61104667acdff958a9c6c5dd60c01b611261565b600061105c673b79e3a80932a6a160c01b611261565b6020860151925060408601519150606086015160001a9050611088679b0cdee01a57ea2f60c01b611261565b61109c675dbf88583373227960c01b611261565b601b8160ff1610156110db576110bc670dc9a1836eb51c3260c01b611261565b6110d0677097d8456a6c3e1560c01b611261565b601b810190506110f0565b6110ef6708b39c61216869e760c01b611261565b5b611104672ea4d6db7d2138c560c01b611261565b611118679ad3f461195a5eee60c01b611261565b601b8160ff1614801561113b575061113a67a24e972b59dc7d0560c01b611264565b5b806111655750601c8160ff16148015611164575061116367934bee4849491d9560c01b611264565b5b5b156111fd5761117e676d6a491fc6e072fa60c01b611261565b61119267aecd1690d1de9f1c60c01b611261565b60018782858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156111ec573d6000803e3d6000fd5b505050602060405103519350611212565b61121167513fbc3b3a0ad1c060c01b611261565b5b50505061122f565b61122e6723d6d78de386c96660c01b611261565b5b6112436707d0c4f11e72cfc960c01b611261565b61125767b9689b22f403636c60c01b611261565b8091505092915050565b50565b60006001905091905056fe477561726465643a2074782e6f726967696e206973206e6f742074686520677561726469616ea164736f6c634300060c000a"; type GuardedMockConstructorParams = | [signer?: Signer] diff --git a/typings/factories/Guarded__factory.ts b/typings/factories/Guarded__factory.ts index b1d00dcb..f86dfc34 100644 --- a/typings/factories/Guarded__factory.ts +++ b/typings/factories/Guarded__factory.ts @@ -58,6 +58,57 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__0b6945c4", + type: "bytes8", + }, + ], + name: "c_0b6945c4", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__0b6945c4", + type: "bytes8", + }, + ], + name: "c_false0b6945c4", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__0b6945c4", + type: "bytes8", + }, + ], + name: "c_true0b6945c4", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { diff --git a/typings/factories/HopFacet__factory.ts b/typings/factories/HopFacet__factory.ts index 1ed5b908..c923efae 100644 --- a/typings/factories/HopFacet__factory.ts +++ b/typings/factories/HopFacet__factory.ts @@ -133,6 +133,108 @@ const _abi = [ name: "HopTokenSwap", type: "event", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9296fc39", + type: "bytes8", + }, + ], + name: "c_9296fc39", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__99127806", + type: "bytes8", + }, + ], + name: "c_99127806", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9296fc39", + type: "bytes8", + }, + ], + name: "c_false9296fc39", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__99127806", + type: "bytes8", + }, + ], + name: "c_false99127806", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9296fc39", + type: "bytes8", + }, + ], + name: "c_true9296fc39", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__99127806", + type: "bytes8", + }, + ], + name: "c_true99127806", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { @@ -219,7 +321,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50611740806100206000396000f3fe6080604052600436106100295760003560e01c80635254f5a91461002e578063fbdfb9071461004a575b600080fd5b61004860048036038101906100439190610f83565b610073565b005b34801561005657600080fd5b50610071600480360381019061006c9190610fad565b610409565b005b600061007d61046a565b90506001816000015414156100be576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181600001819055506100e88260400160208101906100de9190610f31565b8360a00135610497565b600060016100f46104d5565b14156101145782600001602081019061010d9190610f31565b905061012a565b8260200160208101906101279190610f31565b90505b82608001356101376104e8565b141561016f576040517f4ac09ad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101908360400160208101906101859190610f31565b828560a001356104f5565b60006101ad8460400160208101906101a89190610f31565b610660565b6101b85760006101be565b8360a001355b905060016101ca6104d5565b1415610272578173ffffffffffffffffffffffffffffffffffffffff1663deace8f58286608001358760600160208101906102059190610f31565b8860a001358961012001358a61014001356000806040518963ffffffff1660e01b815260040161023b9796959493929190611340565b6000604051808303818588803b15801561025457600080fd5b505af1158015610268573d6000803e3d6000fd5b505050505061031e565b8173ffffffffffffffffffffffffffffffffffffffff1663eea0d7b28286608001358760600160208101906102a79190610f31565b8860a001358960c001358a60e001358b61010001358c61012001358d61014001356040518a63ffffffff1660e01b81526004016102eb9897969594939291906113af565b6000604051808303818588803b15801561030457600080fd5b505af1158015610318573d6000803e3d6000fd5b50505050505b8360400160208101906103319190610f31565b73ffffffffffffffffffffffffffffffffffffffff1684606001602081019061035a9190610f31565b73ffffffffffffffffffffffffffffffffffffffff1685608001357f35ac5f1aa56e86e7f2e01562289e5bd298773763192f6433fde30f05932381738760000160208101906103a99190610f31565b8860200160208101906103bc9190610f31565b8960a001358a60c001358b60e001358c61010001358d61012001358e61014001356040516103f19897969594939291906111d7565b60405180910390a45050600081600001819055505050565b610411610698565b600061041b610733565b90508181600001819055507f09b9d2d59be87e537ec1f2f9325f524d04c29f20e2c60ce0c3c6435102c7882a61044f6104e8565b8360405161045e92919061142d565b60405180910390a15050565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6104d18282600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610760565b5050565b60006104df610733565b60000154905090565b6000804690508091505090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561052f5761065b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610596576040517f63ba9bff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016105d3929190611177565b60206040518083038186803b1580156105eb57600080fd5b505afa1580156105ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106239190610fd6565b9050818110156106595761065884847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610884565b5b505b505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b6106a06109e2565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610731576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610728906112a0565b60405180910390fd5b565b6000807f82ac262a0ca73826b2defa6066a5cbdaefe5f87d412e3568bfc9bec85eaa985790508091505090565b600082141561079b576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80156107df578134146107da576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61087f565b60003414610818576040517e3f45b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061082384610a0f565b905061083184333086610adb565b828161083c86610a0f565b6108469190611488565b1461087d576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505050565b600081148061091d575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016108cb929190611177565b60206040518083038186803b1580156108e357600080fd5b505afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b9190610fd6565b145b61095c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095390611320565b60405180910390fd5b6109dd8363095ea7b360e01b848460405160240161097b929190611255565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610bbb565b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610ad2578173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a7d919061115c565b60206040518083038186803b158015610a9557600080fd5b505afa158015610aa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acd9190610fd6565b610ad4565b475b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610b42576040517fd1bebf0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ba9576040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bb584848484610c82565b50505050565b6000610c1d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610d0b9092919063ffffffff16565b9050600081511115610c7d5780806020019051810190610c3d9190610f5a565b610c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7390611300565b60405180910390fd5b5b505050565b610d05846323b872dd60e01b858585604051602401610ca3939291906111a0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610bbb565b50505050565b6060610d1a8484600085610d23565b90509392505050565b606082471015610d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5f906112c0565b60405180910390fd5b610d7185610e37565b610db0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da7906112e0565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610dd99190611145565b60006040518083038185875af1925050503d8060008114610e16576040519150601f19603f3d011682016040523d82523d6000602084013e610e1b565b606091505b5091509150610e2b828286610e5a565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610e6a57829050610eba565b600083511115610e7d5782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb1919061127e565b60405180910390fd5b9392505050565b600081359050610ed0816116ee565b92915050565b600081519050610ee581611705565b92915050565b60006101608284031215610efe57600080fd5b81905092915050565b600081359050610f168161171c565b92915050565b600081519050610f2b8161171c565b92915050565b600060208284031215610f4357600080fd5b6000610f5184828501610ec1565b91505092915050565b600060208284031215610f6c57600080fd5b6000610f7a84828501610ed6565b91505092915050565b60006101608284031215610f9657600080fd5b6000610fa484828501610eeb565b91505092915050565b600060208284031215610fbf57600080fd5b6000610fcd84828501610f07565b91505092915050565b600060208284031215610fe857600080fd5b6000610ff684828501610f1c565b91505092915050565b611008816114bc565b82525050565b600061101982611456565b611023818561146c565b9350611033818560208601611516565b80840191505092915050565b61104881611504565b82525050565b600061105982611461565b6110638185611477565b9350611073818560208601611516565b61107c81611578565b840191505092915050565b6000611094602283611477565b915061109f82611589565b604082019050919050565b60006110b7602683611477565b91506110c2826115d8565b604082019050919050565b60006110da601d83611477565b91506110e582611627565b602082019050919050565b60006110fd602a83611477565b915061110882611650565b604082019050919050565b6000611120603683611477565b915061112b8261169f565b604082019050919050565b61113f816114fa565b82525050565b6000611151828461100e565b915081905092915050565b60006020820190506111716000830184610fff565b92915050565b600060408201905061118c6000830185610fff565b6111996020830184610fff565b9392505050565b60006060820190506111b56000830186610fff565b6111c26020830185610fff565b6111cf6040830184611136565b949350505050565b6000610100820190506111ed600083018b610fff565b6111fa602083018a610fff565b6112076040830189611136565b6112146060830188611136565b6112216080830187611136565b61122e60a0830186611136565b61123b60c0830185611136565b61124860e0830184611136565b9998505050505050505050565b600060408201905061126a6000830185610fff565b6112776020830184611136565b9392505050565b60006020820190508181036000830152611298818461104e565b905092915050565b600060208201905081810360008301526112b981611087565b9050919050565b600060208201905081810360008301526112d9816110aa565b9050919050565b600060208201905081810360008301526112f9816110cd565b9050919050565b60006020820190508181036000830152611319816110f0565b9050919050565b6000602082019050818103600083015261133981611113565b9050919050565b600060e082019050611355600083018a611136565b6113626020830189610fff565b61136f6040830188611136565b61137c6060830187611136565b6113896080830186611136565b61139660a0830185610fff565b6113a360c083018461103f565b98975050505050505050565b6000610100820190506113c5600083018b611136565b6113d2602083018a610fff565b6113df6040830189611136565b6113ec6060830188611136565b6113f96080830187611136565b61140660a0830186611136565b61141360c0830185611136565b61142060e0830184611136565b9998505050505050505050565b60006040820190506114426000830185611136565b61144f6020830184611136565b9392505050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000611493826114fa565b915061149e836114fa565b9250828210156114b1576114b0611549565b5b828203905092915050565b60006114c7826114da565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061150f826114fa565b9050919050565b60005b83811015611534578082015181840152602081019050611519565b83811115611543576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b6116f7816114bc565b811461170257600080fd5b50565b61170e816114ce565b811461171957600080fd5b50565b611725816114fa565b811461173057600080fd5b5056fea164736f6c6343000804000a"; + "0x608060405234801561001057600080fd5b5061252d806100206000396000f3fe60806040526004361061007b5760003560e01c80635254f5a91161004e5780635254f5a91461014c5780639d2b482d14610168578063ac0d2b13146101a5578063fbdfb907146101e25761007b565b806314917f991461008057806314fe06e2146100a957806324fd21a3146100d25780634a6f22c41461010f575b600080fd5b34801561008c57600080fd5b506100a760048036038101906100a29190611cda565b61020b565b005b3480156100b557600080fd5b506100d060048036038101906100cb9190611cda565b61020e565b005b3480156100de57600080fd5b506100f960048036038101906100f49190611cda565b610211565b604051610106919061200d565b60405180910390f35b34801561011b57600080fd5b5061013660048036038101906101319190611cda565b61021c565b604051610143919061200d565b60405180910390f35b61016660048036038101906101619190611d03565b610227565b005b34801561017457600080fd5b5061018f600480360381019061018a9190611cda565b61093b565b60405161019c919061200d565b60405180910390f35b3480156101b157600080fd5b506101cc60048036038101906101c79190611cda565b610942565b6040516101d9919061200d565b60405180910390f35b3480156101ee57600080fd5b5061020960048036038101906102049190611d2d565b610949565b005b50565b50565b600060019050919050565b600060019050919050565b61023b67661bb951cdf53d8960c01b61020e565b61024f6770f43b674d4e55d060c01b61020b565b61026367fdb58b8d5e8c5bd260c01b61020b565b61027767f88563faceb9065260c01b61020b565b6000610281610a4a565b905061029767f5511ed184b06f9d60c01b61020b565b6102ab675fe6356e9bb02e7e60c01b61020b565b6001816000015414156102fe576102cc67c2bf72a01148a95560c01b61020b565b6040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103126759328cc6ac1a5b8460c01b61020b565b610326676585023ebf8de8b060c01b61020b565b600181600001819055506103446794e629fc71d8c79e60c01b61020b565b61035867f7c4c5ed2ed29b8760c01b61020e565b61036c672c8916768aa11a0d60c01b61020e565b61038067c0a65b1e3e76c5f160c01b61020e565b61039366682286c57c645760c01b61020e565b6103b38260400160208101906103a99190611c88565b8360a00135610ac8565b6103c7675aa064e00b20e53260c01b61020e565b6103db676629fd295d85650e60c01b61020e565b60006103f1672af44cf5d351024c60c01b61020e565b6104056753fbdf5eb662728e60c01b61020e565b600161040f610b42565b141561045757610429673bb93a90f35cab4360c01b61020e565b61043d67eeb9315c311e0c4a60c01b61020e565b8260000160208101906104509190611c88565b9050610495565b61046b67dae42f06ddcbf88760c01b61020e565b61047f67c33298c7d476a93160c01b61020e565b8260200160208101906104929190611c88565b90505b6104a96780516103bbb46bff60c01b61020e565b6104bd67495a4110dd564c7960c01b61020e565b82608001356104ca610b91565b141561052a576104e4672ad2e94f535bb7c360c01b61020e565b6104f867a071858ad800078d60c01b61020e565b6040517f4ac09ad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61053e6771fbd3624530aca960c01b61020e565b610552677a27ef6a0f081e7460c01b61020e565b6105666751f57ad3e8af0ae660c01b61020e565b61058783604001602081019061057c9190611c88565b828560a00135610c17565b61059b6732bd3d5fb005932360c01b61020e565b6105af679ee94c753e40a9bd60c01b61020e565b60006105cc8460400160208101906105c79190611c88565b610eef565b80156105e857506105e7671c6cdb2e561b1b7a60c01b610211565b5b806106035750610602673aae476a62e89c5660c01b61093b565b5b61060e576000610614565b8360a001355b905061062a6705ffa9b8053bd55060c01b61020e565b61063e674c1bf98b0497add460c01b61020e565b6001610648610b42565b141561072c57610662675102be4bdc4b236560c01b61020e565b6106766792dcf2d8fc419e0b60c01b61020e565b61068a67c03078e49b8a444360c01b61020e565b8173ffffffffffffffffffffffffffffffffffffffff1663deace8f58286608001358760600160208101906106bf9190611c88565b8860a001358961012001358a61014001356000806040518963ffffffff1660e01b81526004016106f597969594939291906120ea565b6000604051808303818588803b15801561070e57600080fd5b505af1158015610722573d6000803e3d6000fd5b5050505050610814565b61074067fdf9a48dd9fc437a60c01b61020e565b61075467a7dee6e3ed91651860c01b61020e565b61076867f86051a336f1b40760c01b61020e565b8173ffffffffffffffffffffffffffffffffffffffff1663eea0d7b282866080013587606001602081019061079d9190611c88565b8860a001358960c001358a60e001358b61010001358c61012001358d61014001356040518a63ffffffff1660e01b81526004016107e1989796959493929190612159565b6000604051808303818588803b1580156107fa57600080fd5b505af115801561080e573d6000803e3d6000fd5b50505050505b61082867743931de60bec1cb60c01b61020e565b61083c670e27e12512b10ba560c01b61020e565b83604001602081019061084f9190611c88565b73ffffffffffffffffffffffffffffffffffffffff168460600160208101906108789190611c88565b73ffffffffffffffffffffffffffffffffffffffff1685608001357f35ac5f1aa56e86e7f2e01562289e5bd298773763192f6433fde30f05932381738760000160208101906108c79190611c88565b8860200160208101906108da9190611c88565b8960a001358a60c001358b60e001358c61010001358d61012001358e610140013560405161090f989796959493929190611f66565b60405180910390a4505061092d67441391ce80e99b6c60c01b61020b565b600081600001819055505050565b6000919050565b6000919050565b61095d67c5488db08bf3aa7e60c01b61020e565b61097167d7ab695f9ebcf25360c01b61020e565b61098567b16491a2c8df993a60c01b61020e565b61098d610f64565b6109a167239b563e050639e260c01b61020e565b6109b56751706ccc83c3e5bd60c01b61020e565b60006109bf611063565b90506109d5671994d64fd24a342e60c01b61020e565b8181600001819055506109f267495839473eebbf2060c01b61020e565b610a0667436eee75c6aa5af960c01b61020e565b7f09b9d2d59be87e537ec1f2f9325f524d04c29f20e2c60ce0c3c6435102c7882a610a2f610b91565b83604051610a3e9291906121d7565b60405180910390a15050565b6000610a6067fa11c344c1ec53a860c01b61020b565b610a74670fd7b7008acdbf5460c01b61020b565b610a88679fbd6d57c5d665d460c01b61020b565b60007fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b49050610ac167a9235c9a8268ed9060c01b61020b565b8091505090565b610adc6784e2b4191aab0e7160c01b6110e1565b610af067712f6b66126e0b6560c01b6110e1565b610b0467e5482082d9cb542560c01b6110e1565b610b3e8282600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146110e4565b5050565b6000610b586714c0c344270ea6ab60c01b61020e565b610b6c67a6bc01b0a9fd9f3460c01b61020e565b610b80673887afe91e7c57b060c01b61020e565b610b88611063565b60000154905090565b6000610ba7675f090b7904c6545560c01b61020e565b610bbb676dc269d1fb2d3c6560c01b61020e565b610bcf6705c0ac5722f1f16a60c01b61020e565b6000610be5673fd71ef25da613d360c01b61020e565b469050610bfc67e61d6ccc0a6fabcc60c01b61020e565b610c106717c21480dae85d1f60c01b61020e565b8091505090565b610c2b679ca08e8b0dc7164560c01b6110e1565b610c3f677404bbe72845116960c01b6110e1565b610c536753004255cfb9f81160c01b6110e1565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cb557610c9c67bccf623436530fb560c01b6110e1565b610cb0672f1ccbe7cc38641160c01b6110e1565b610eea565b610cc9671d77c326e3bb51a560c01b6110e1565b610cdd677d550d58d944335060c01b6110e1565b610cf16726446e7a1db47a7260c01b6110e1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d6c57610d3a67480cbdcd365f7cb860c01b6110e1565b6040517f63ba9bff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d806750e20f5aa90611eb60c01b6110e1565b610d9467df7812970f50c3b160c01b6110e1565b610da867e21ae98e185ebeb360c01b6110e1565b60008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610de5929190611f06565b60206040518083038186803b158015610dfd57600080fd5b505afa158015610e11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e359190611d56565b9050610e4b67de3d312e2c7294dc60c01b6110e1565b610e5f674e70391417d4424060c01b6110e1565b81811015610ed357610e7b675743a1c484c15d3e60c01b6110e1565b610e8f67bfb9af13a56e47bd60c01b6110e1565b610ea367995d48b5586277dc60c01b6110e1565b610ece84847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611410565b610ee8565b610ee767065587006cca868060c01b6110e1565b5b505b505050565b6000610f0567def6e9860ad508e960c01b6110e1565b610f19673a030cae1d937ded60c01b6110e1565b610f2d6766a8e87620041ca260c01b6110e1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b610f786721b40df6734b4e6460c01b61156e565b610f8c677276b6d1bbf7b68b60c01b61156e565b610fa067f8611dbcb55a1f7860c01b61156e565b610fb4676cedf54251a3375160c01b61156e565b610fbc611571565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461104d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110449061204a565b60405180910390fd5b61106167e452355b21bbd41e60c01b61156e565b565b600061107967049762d47eccc99560c01b61020e565b61108d677485aacd7ed494d760c01b61020e565b6110a1670dbb34693527921760c01b61020e565b60007f82ac262a0ca73826b2defa6066a5cbdaefe5f87d412e3568bfc9bec85eaa985790506110da67969465f63fd91b0960c01b61020e565b8091505090565b50565b6110f86739add2da1b0c35d560c01b6110e1565b61110c675c085b526ab8c57b60c01b6110e1565b61112067b3d2dd058c49644760c01b6110e1565b600082141561116f5761113d6705a8046c2df4f5c660c01b6110e1565b6040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611183678ef4e2c97a2bc62860c01b6110e1565b61119767cc697fa1840ca09660c01b6110e1565b6111ab6762088306b7db0d9360c01b6110e1565b8015611253576111c56796660f8106bc366160c01b6110e1565b6111d967fea9b8b23a82a46c60c01b6110e1565b6111ed671ab9f4b32ff9077960c01b6110e1565b81341461123a5761120867de026f7fec4a202a60c01b6110e1565b6040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61124e67deea53e0c61f3eb460c01b6110e1565b61140b565b6112676744732fb2539afe0860c01b6110e1565b61127b6745b5917460c8548c60c01b6110e1565b61128f67b61cda590281d4c760c01b6110e1565b600034146112dc576112ab670406a51ac2aeb89760c01b6110e1565b6040517e3f45b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112f06771a45bb6142330f460c01b6110e1565b611304676aed5fceffb1a5b160c01b6110e1565b611318671d42f77a5125292a60c01b6110e1565b6000611323846115ef565b9050611339675f2f73f1308f917760c01b6110e1565b61134d67e372a3dad5ac62de60c01b6110e1565b6113598433308661172f565b61136d67102e84bf56110f4360c01b6110e1565b61138167de23d6438fcaff2e60c01b6110e1565b828161138c866115ef565b6113969190612232565b146113f5576113af67b59535ced511891360c01b6110e1565b6113c367b891075f773c113a60c01b6110e1565b6040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61140967ab2bee94dc1c87d160c01b6110e1565b505b505050565b60008114806114a9575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401611457929190611f06565b60206040518083038186803b15801561146f57600080fd5b505afa158015611483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a79190611d56565b145b6114e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114df906120ca565b60405180910390fd5b6115698363095ea7b360e01b8484604051602401611507929190611fe4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506118eb565b505050565b50565b6000611587674f9afbb757d80e6360c01b61156e565b61159b674b823103125da15660c01b61156e565b6115af674ab715c231c1608d60c01b61156e565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90506115e867982d9bb86701efa860c01b61156e565b8091505090565b600061160567bb6d3fbf241bf67660c01b6110e1565b611619677ba8e1dcf768e44260c01b6110e1565b61162d674fd0fe73cee512ad60c01b6110e1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611679575061167867f6a472cb1776bcb560c01b6119b2565b5b80611694575061169367d904c8f1fbab9d1f60c01b6119bd565b5b611726578173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016116d19190611eeb565b60206040518083038186803b1580156116e957600080fd5b505afa1580156116fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117219190611d56565b611728565b475b9050919050565b61174367ef583e2039c405c960c01b6110e1565b61175767ace174e366a9f4fc60c01b6110e1565b61176b671bb3b9242bb58a1f60c01b6110e1565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156117e6576117b467434f07c0e3d2754a60c01b6110e1565b6040517fd1bebf0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117fa679391395d4ba7d68d60c01b6110e1565b61180e671a151b621bcceb6460c01b6110e1565b611822671d62177db93f304360c01b6110e1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561189d5761186b67bfa6da5dd21dbe1f60c01b6110e1565b6040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118b167971e37aa923e816660c01b6110e1565b6118c5675dd2e235ffab1cbb60c01b6110e1565b6118d9670980a3febde5381660c01b6110e1565b6118e5848484846119c4565b50505050565b600061194d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611a4d9092919063ffffffff16565b90506000815111156119ad578080602001905181019061196d9190611cb1565b6119ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a3906120aa565b60405180910390fd5b5b505050565b600060019050919050565b6000919050565b611a47846323b872dd60e01b8585856040516024016119e593929190611f2f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506118eb565b50505050565b6060611a5c8484600085611a65565b90509392505050565b606082471015611aaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa19061206a565b60405180910390fd5b611ab385611b79565b611af2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae99061208a565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611b1b9190611ed4565b60006040518083038185875af1925050503d8060008114611b58576040519150601f19603f3d011682016040523d82523d6000602084013e611b5d565b606091505b5091509150611b6d828286611b9c565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315611bac57829050611bfc565b600083511115611bbf5782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf39190612028565b60405180910390fd5b9392505050565b600081359050611c12816124c4565b92915050565b600081519050611c27816124db565b92915050565b600081359050611c3c816124f2565b92915050565b60006101608284031215611c5557600080fd5b81905092915050565b600081359050611c6d81612509565b92915050565b600081519050611c8281612509565b92915050565b600060208284031215611c9a57600080fd5b6000611ca884828501611c03565b91505092915050565b600060208284031215611cc357600080fd5b6000611cd184828501611c18565b91505092915050565b600060208284031215611cec57600080fd5b6000611cfa84828501611c2d565b91505092915050565b60006101608284031215611d1657600080fd5b6000611d2484828501611c42565b91505092915050565b600060208284031215611d3f57600080fd5b6000611d4d84828501611c5e565b91505092915050565b600060208284031215611d6857600080fd5b6000611d7684828501611c73565b91505092915050565b611d8881612266565b82525050565b611d9781612278565b82525050565b6000611da882612200565b611db28185612216565b9350611dc28185602086016122ec565b80840191505092915050565b611dd7816122da565b82525050565b6000611de88261220b565b611df28185612221565b9350611e028185602086016122ec565b611e0b8161234e565b840191505092915050565b6000611e23602283612221565b9150611e2e8261235f565b604082019050919050565b6000611e46602683612221565b9150611e51826123ae565b604082019050919050565b6000611e69601d83612221565b9150611e74826123fd565b602082019050919050565b6000611e8c602a83612221565b9150611e9782612426565b604082019050919050565b6000611eaf603683612221565b9150611eba82612475565b604082019050919050565b611ece816122d0565b82525050565b6000611ee08284611d9d565b915081905092915050565b6000602082019050611f006000830184611d7f565b92915050565b6000604082019050611f1b6000830185611d7f565b611f286020830184611d7f565b9392505050565b6000606082019050611f446000830186611d7f565b611f516020830185611d7f565b611f5e6040830184611ec5565b949350505050565b600061010082019050611f7c600083018b611d7f565b611f89602083018a611d7f565b611f966040830189611ec5565b611fa36060830188611ec5565b611fb06080830187611ec5565b611fbd60a0830186611ec5565b611fca60c0830185611ec5565b611fd760e0830184611ec5565b9998505050505050505050565b6000604082019050611ff96000830185611d7f565b6120066020830184611ec5565b9392505050565b60006020820190506120226000830184611d8e565b92915050565b600060208201905081810360008301526120428184611ddd565b905092915050565b6000602082019050818103600083015261206381611e16565b9050919050565b6000602082019050818103600083015261208381611e39565b9050919050565b600060208201905081810360008301526120a381611e5c565b9050919050565b600060208201905081810360008301526120c381611e7f565b9050919050565b600060208201905081810360008301526120e381611ea2565b9050919050565b600060e0820190506120ff600083018a611ec5565b61210c6020830189611d7f565b6121196040830188611ec5565b6121266060830187611ec5565b6121336080830186611ec5565b61214060a0830185611d7f565b61214d60c0830184611dce565b98975050505050505050565b60006101008201905061216f600083018b611ec5565b61217c602083018a611d7f565b6121896040830189611ec5565b6121966060830188611ec5565b6121a36080830187611ec5565b6121b060a0830186611ec5565b6121bd60c0830185611ec5565b6121ca60e0830184611ec5565b9998505050505050505050565b60006040820190506121ec6000830185611ec5565b6121f96020830184611ec5565b9392505050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061223d826122d0565b9150612248836122d0565b92508282101561225b5761225a61231f565b5b828203905092915050565b6000612271826122b0565b9050919050565b60008115159050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006122e5826122d0565b9050919050565b60005b8381101561230a5780820151818401526020810190506122ef565b83811115612319576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b6124cd81612266565b81146124d857600080fd5b50565b6124e481612278565b81146124ef57600080fd5b50565b6124fb81612284565b811461250657600080fd5b50565b612512816122d0565b811461251d57600080fd5b5056fea164736f6c6343000804000a"; type HopFacetConstructorParams = | [signer?: Signer] diff --git a/typings/factories/Initializable__factory.ts b/typings/factories/Initializable__factory.ts index c31c7164..ebaea1b2 100644 --- a/typings/factories/Initializable__factory.ts +++ b/typings/factories/Initializable__factory.ts @@ -20,6 +20,57 @@ const _abi = [ name: "Initialized", type: "event", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_098c0657", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_false098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_true098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [], name: "isInitialized", diff --git a/typings/factories/LibAsset__factory.ts b/typings/factories/LibAsset__factory.ts index 1ea9a0cd..d7494b95 100644 --- a/typings/factories/LibAsset__factory.ts +++ b/typings/factories/LibAsset__factory.ts @@ -10,11 +10,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__4e3cd818", + name: "c__724619c6", type: "bytes8", }, ], - name: "c_4e3cd818", + name: "c_724619c6", outputs: [], stateMutability: "pure", type: "function", @@ -23,11 +23,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__4e3cd818", + name: "c__724619c6", type: "bytes8", }, ], - name: "c_false4e3cd818", + name: "c_false724619c6", outputs: [ { internalType: "bool", @@ -42,11 +42,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__4e3cd818", + name: "c__724619c6", type: "bytes8", }, ], - name: "c_true4e3cd818", + name: "c_true724619c6", outputs: [ { internalType: "bool", @@ -60,7 +60,7 @@ const _abi = [ ]; const _bytecode = - "0x6101a5610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c8063658c96a914610050578063804207cf14610080578063f772e4af1461009c575b600080fd5b61006a600480360381019061006591906100f6565b6100cc565b604051610077919061012e565b60405180910390f35b61009a600480360381019061009591906100f6565b6100d3565b005b6100b660048036038101906100b191906100f6565b6100d6565b6040516100c3919061012e565b60405180910390f35b6000919050565b50565b600060019050919050565b6000813590506100f081610181565b92915050565b60006020828403121561010857600080fd5b6000610116848285016100e1565b91505092915050565b61012881610149565b82525050565b6000602082019050610143600083018461011f565b92915050565b60008115159050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b61018a81610155565b811461019557600080fd5b5056fea164736f6c6343000804000a"; + "0x6101a5610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80631133eca214610050578063d9e8719e14610080578063e12842d3146100b0575b600080fd5b61006a600480360381019061006591906100f6565b6100cc565b604051610077919061012e565b60405180910390f35b61009a600480360381019061009591906100f6565b6100d3565b6040516100a7919061012e565b60405180910390f35b6100ca60048036038101906100c591906100f6565b6100de565b005b6000919050565b600060019050919050565b50565b6000813590506100f081610181565b92915050565b60006020828403121561010857600080fd5b6000610116848285016100e1565b91505092915050565b61012881610149565b82525050565b6000602082019050610143600083018461011f565b92915050565b60008115159050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b61018a81610155565b811461019557600080fd5b5056fea164736f6c6343000804000a"; type LibAssetConstructorParams = | [signer?: Signer] diff --git a/typings/factories/LibDiamond__factory.ts b/typings/factories/LibDiamond__factory.ts index 1cc70695..6f5a0899 100644 --- a/typings/factories/LibDiamond__factory.ts +++ b/typings/factories/LibDiamond__factory.ts @@ -67,10 +67,61 @@ const _abi = [ name: "OwnershipTransferred", type: "event", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__f9a76502", + type: "bytes8", + }, + ], + name: "c_f9a76502", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__f9a76502", + type: "bytes8", + }, + ], + name: "c_falsef9a76502", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__f9a76502", + type: "bytes8", + }, + ], + name: "c_truef9a76502", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, ]; const _bytecode = - "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e443216bcd038ab1823e4b419d4c6f195e30184d868d9d809f07908d8502743064736f6c63430008110033"; + "0x6101d7610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806332446555146100505780637b7164e014610080578063968b8c8b1461009c575b600080fd5b61006a6004803603810190610065919061013e565b6100cc565b6040516100779190610186565b60405180910390f35b61009a6004803603810190610095919061013e565b6100d7565b005b6100b660048036038101906100b1919061013e565b6100da565b6040516100c39190610186565b60405180910390f35b600060019050919050565b50565b6000919050565b600080fd5b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b61011b816100e6565b811461012657600080fd5b50565b60008135905061013881610112565b92915050565b600060208284031215610154576101536100e1565b5b600061016284828501610129565b91505092915050565b60008115159050919050565b6101808161016b565b82525050565b600060208201905061019b6000830184610177565b9291505056fea2646970667358221220bd3ed9c770c81adfc18ce730de0b9c81b3318fa299d0960ffbc5ed6f9f672d7464736f6c63430008110033"; type LibDiamondConstructorParams = | [signer?: Signer] diff --git a/typings/factories/OwnershipFacet__factory.ts b/typings/factories/OwnershipFacet__factory.ts index 7290589f..765e1a6f 100644 --- a/typings/factories/OwnershipFacet__factory.ts +++ b/typings/factories/OwnershipFacet__factory.ts @@ -9,6 +9,57 @@ import type { } from "../OwnershipFacet"; const _abi = [ + { + inputs: [ + { + internalType: "bytes8", + name: "c__2f222e9f", + type: "bytes8", + }, + ], + name: "c_2f222e9f", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__2f222e9f", + type: "bytes8", + }, + ], + name: "c_false2f222e9f", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__2f222e9f", + type: "bytes8", + }, + ], + name: "c_true2f222e9f", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [], name: "owner", @@ -38,7 +89,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b506103fd806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80638da5cb5b1461003b578063f2fde38b14610059575b600080fd5b610043610075565b60405161005091906102ab565b60405180910390f35b610073600480360381019061006e91906102f7565b610084565b005b600061007f610098565b905090565b61008c6100cb565b61009581610166565b50565b60006100a261023d565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6100d361023d565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161015b906103a7565b60405180910390fd5b565b600061017061023d565b905060008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102958261026a565b9050919050565b6102a58161028a565b82525050565b60006020820190506102c0600083018461029c565b92915050565b600080fd5b6102d48161028a565b81146102df57600080fd5b50565b6000813590506102f1816102cb565b92915050565b60006020828403121561030d5761030c6102c6565b5b600061031b848285016102e2565b91505092915050565b600082825260208201905092915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b6000610391602283610324565b915061039c82610335565b604082019050919050565b600060208201905081810360008301526103c081610384565b905091905056fea2646970667358221220f36d06e82e43b03b644ee35505424cb4798ec509840fa5dd4ab3863b4ebd66b364736f6c63430008110033"; + "0x608060405234801561001057600080fd5b50610776806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063433a40cc1461005c57806345a7077e1461008c5780638da5cb5b146100a8578063e673e274146100c6578063f2fde38b146100f6575b600080fd5b61007660048036038101906100719190610585565b610112565b60405161008391906105cd565b60405180910390f35b6100a660048036038101906100a19190610585565b610119565b005b6100b061011c565b6040516100bd9190610629565b60405180910390f35b6100e060048036038101906100db9190610585565b610153565b6040516100ed91906105cd565b60405180910390f35b610110600480360381019061010b9190610670565b61015e565b005b6000919050565b50565b60006101326703b0bbf0cc27d6d060c01b610119565b61014667ddcbd84332b09d5c60c01b610119565b61014e6101d6565b905090565b600060019050919050565b6101726794c7fe791cf6e26660c01b610119565b61018667ecce47dee557841060c01b610119565b61019a67e6e44605ff8269ab60c01b610119565b6101a2610231565b6101b66703d113e82bc56e6960c01b610119565b6101ca6740d917c23072919760c01b610119565b6101d381610330565b50565b60006101ec677d1d35fb9d60316160c01b6104a7565b610200671bba0af24121cdd160c01b6104a7565b6102086104aa565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6102456721b40df6734b4e6460c01b6104a7565b610259677276b6d1bbf7b68b60c01b6104a7565b61026d67f8611dbcb55a1f7860c01b6104a7565b610281676cedf54251a3375160c01b6104a7565b6102896104aa565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461031a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031190610720565b60405180910390fd5b61032e67e452355b21bbd41e60c01b6104a7565b565b610344674f69fffccbea1a6060c01b6104a7565b61035867254a8afedf49a2bd60c01b6104a7565b61036c6764ae761eae80994a60c01b6104a7565b60006103766104aa565b905061038c6728cf10db04b3ce6a60c01b6104a7565b6103a067254c9c1d52a21ebf60c01b6104a7565b60008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506103dd67f8cb9d02f213dad260c01b6104a7565b828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061043467320b257c7ea8cea760c01b6104a7565b61044867a1ef30c006aa278260c01b6104a7565b8273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b50565b60006104c0674f9afbb757d80e6360c01b6104a7565b6104d4674b823103125da15660c01b6104a7565b6104e8674ab715c231c1608d60c01b6104a7565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061052167982d9bb86701efa860c01b6104a7565b8091505090565b600080fd5b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b6105628161052d565b811461056d57600080fd5b50565b60008135905061057f81610559565b92915050565b60006020828403121561059b5761059a610528565b5b60006105a984828501610570565b91505092915050565b60008115159050919050565b6105c7816105b2565b82525050565b60006020820190506105e260008301846105be565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610613826105e8565b9050919050565b61062381610608565b82525050565b600060208201905061063e600083018461061a565b92915050565b61064d81610608565b811461065857600080fd5b50565b60008135905061066a81610644565b92915050565b60006020828403121561068657610685610528565b5b60006106948482850161065b565b91505092915050565b600082825260208201905092915050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b600061070a60228361069d565b9150610715826106ae565b604082019050919050565b60006020820190508181036000830152610739816106fd565b905091905056fea26469706673582212208059456773fa43aa47714f907ac29974f27210cf3e42cbe6a010339f2fef11cc64736f6c63430008110033"; type OwnershipFacetConstructorParams = | [signer?: Signer] diff --git a/typings/factories/PaymentDepositAccount__factory.ts b/typings/factories/PaymentDepositAccount__factory.ts index 28fa4d02..3dcd9846 100644 --- a/typings/factories/PaymentDepositAccount__factory.ts +++ b/typings/factories/PaymentDepositAccount__factory.ts @@ -20,6 +20,108 @@ const _abi = [ stateMutability: "payable", type: "constructor", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__495bfa8b", + type: "bytes8", + }, + ], + name: "c_495bfa8b", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__90f8af33", + type: "bytes8", + }, + ], + name: "c_90f8af33", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__495bfa8b", + type: "bytes8", + }, + ], + name: "c_false495bfa8b", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__90f8af33", + type: "bytes8", + }, + ], + name: "c_false90f8af33", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__495bfa8b", + type: "bytes8", + }, + ], + name: "c_true495bfa8b", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__90f8af33", + type: "bytes8", + }, + ], + name: "c_true90f8af33", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [], name: "controller", @@ -69,7 +171,7 @@ const _abi = [ ]; const _bytecode = - "0x6080604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103a4806100536000396000f3fe60806040526004361061002d5760003560e01c80633f579f4214610039578063f77c47911461016257610034565b3661003457005b600080fd5b34801561004557600080fd5b506100e76004803603606081101561005c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156100a357600080fd5b8201836020820111156100b557600080fd5b803590602001918460018302840111640100000000831117156100d757600080fd5b90919293919293905050506101a3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012757808201518184015260208101905061010c565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016e57600080fd5b50610177610347565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061036c602c913960400191505060405180910390fd5b606060008673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d80600081146102b9576040519150601f19603f3d011682016040523d82523d6000602084013e6102be565b606091505b5080935081925050508061033a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b8192505050949350505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a"; + "0x608060405261001e674c05ed6aa1cd281960c01b61009760201b60201c565b610038675db0dfd7018850c360c01b61009760201b60201c565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610092679098f39fea0730f660c01b61009a60201b60201c565b61009d565b50565b50565b61080c806100ac6000396000f3fe60806040526004361061007f5760003560e01c8063bd04d1391161004e578063bd04d139146102f8578063c478196d14610364578063d1c43eae146103ba578063f77c47911461041057610086565b806326bebb521461008b5780633f579f42146100f7578063550648ff1461022057806356c2fc6c1461028c57610086565b3661008657005b600080fd5b34801561009757600080fd5b506100df600480360360208110156100ae57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610451565b60405180821515815260200191505060405180910390f35b34801561010357600080fd5b506101a56004803603606081101561011a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561016157600080fd5b82018360208201111561017357600080fd5b8035906020019184600183028401116401000000008311171561019557600080fd5b9091929391929390505050610458565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e55780820151818401526020810190506101ca565b50505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022c57600080fd5b506102746004803603602081101561024357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061078c565b60405180821515815260200191505060405180910390f35b34801561029857600080fd5b506102e0600480360360208110156102af57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610793565b60405180821515815260200191505060405180910390f35b34801561030457600080fd5b5061034c6004803603602081101561031b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061079e565b60405180821515815260200191505060405180910390f35b34801561037057600080fd5b506103b86004803603602081101561038757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107a9565b005b3480156103c657600080fd5b5061040e600480360360208110156103dd57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107ac565b005b34801561041c57600080fd5b506104256107af565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000919050565b606061046e6730a6ad52e198db9760c01b6107a9565b61048267f6266a592c249da560c01b6107ac565b6104966728279893f8537e1960c01b6107ac565b6104aa67d300d0a9ecbe6cac60c01b6107ac565b6104be678d5c0caa285e3ec560c01b6107ac565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610562576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806107d4602c913960400191505060405180910390fd5b6105766718b2e4dd03bc759a60c01b6107ac565b61058a67f8b65e28b897a44f60c01b6107ac565b61059e67a0e46df01f8c97cb60c01b6107a9565b6105b267aa5eebb2652f143c60c01b6107a9565b6105c6676d9ffa8149f3dea060c01b6107a9565b6105da678cb9bb07d4779f7e60c01b6107a9565b60606105f067f5ddfa157613111160c01b6107a9565b610604676c82c2c1207b3b7760c01b6107a9565b600061061a673ff4b340667b124160c01b6107a9565b8673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d8060008114610686576040519150601f19603f3d011682016040523d82523d6000602084013e61068b565b606091505b5080935081925050506106a86756fbd48014b71d8b60c01b6107a9565b6106bc67e31d8723036de13060c01b6107a9565b6106d067d6b834fbc1dbf84c60c01b6107a9565b80610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b61075767836ca2ae34585e2360c01b6107a9565b61076b67fc0747958022859a60c01b6107a9565b61077f67127f08829e3f368c60c01b6107a9565b8192505050949350505050565b6000919050565b600060019050919050565b600060019050919050565b50565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a"; type PaymentDepositAccountConstructorParams = | [signer?: Signer] diff --git a/typings/factories/PaymentRegistry__factory.ts b/typings/factories/PaymentRegistry__factory.ts index ca10e309..2aeeae34 100644 --- a/typings/factories/PaymentRegistry__factory.ts +++ b/typings/factories/PaymentRegistry__factory.ts @@ -321,6 +321,261 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_098c0657", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__0b6945c4", + type: "bytes8", + }, + ], + name: "c_0b6945c4", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__52615ca8", + type: "bytes8", + }, + ], + name: "c_52615ca8", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d18be0f9", + type: "bytes8", + }, + ], + name: "c_d18be0f9", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__e6f7a58d", + type: "bytes8", + }, + ], + name: "c_e6f7a58d", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_false098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__0b6945c4", + type: "bytes8", + }, + ], + name: "c_false0b6945c4", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__52615ca8", + type: "bytes8", + }, + ], + name: "c_false52615ca8", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d18be0f9", + type: "bytes8", + }, + ], + name: "c_falsed18be0f9", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__e6f7a58d", + type: "bytes8", + }, + ], + name: "c_falsee6f7a58d", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_true098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__0b6945c4", + type: "bytes8", + }, + ], + name: "c_true0b6945c4", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__52615ca8", + type: "bytes8", + }, + ], + name: "c_true52615ca8", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d18be0f9", + type: "bytes8", + }, + ], + name: "c_trued18be0f9", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__e6f7a58d", + type: "bytes8", + }, + ], + name: "c_truee6f7a58d", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [], name: "chainId", @@ -913,7 +1168,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b5032600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060004690508060028190555050614c138061006e6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80639130c06e116100de578063c36326e711610097578063da1b213d11610071578063da1b213d146104bb578063dc7d6c31146104d7578063df04338014610507578063e0fe396e146105235761018e565b8063c36326e71461043d578063d0f710d61461046d578063d2c83b9a1461049d5761018e565b80639130c06e146103915780639a85fae2146103ad5780639a8a0592146103c9578063a526d83b146103e7578063b0274a7314610403578063bdff4b3b1461041f5761018e565b80636121fcfc1161014b578063714041561161012557806371404156146102f757806384389a2b1461031357806387d31313146103435780638a1773ab146103615761018e565b80636121fcfc1461028f5780636524a947146102bf5780636866da52146102db5761018e565b80630c68ba2114610193578063116191b6146101c35780632e4f161e146101e15780632e7037a014610211578063392e53cd1461024157806360bf4df21461025f575b600080fd5b6101ad60048036038101906101a89190612f83565b61053f565b6040516101ba91906140a9565b60405180910390f35b6101cb610594565b6040516101d89190613e92565b60405180910390f35b6101fb60048036038101906101f69190612fe8565b6105ba565b60405161020891906140c4565b60405180910390f35b61022b600480360381019061022691906133f5565b6105d2565b60405161023891906140c4565b60405180910390f35b6102496105f2565b60405161025691906140a9565b60405180910390f35b61027960048036038101906102749190612f83565b61064a565b6040516102869190613e92565b60405180910390f35b6102a960048036038101906102a49190612f83565b61065c565b6040516102b691906140a9565b60405180910390f35b6102d960048036038101906102d49190612f83565b6106f7565b005b6102f560048036038101906102f0919061320c565b610703565b005b610311600480360381019061030c9190612f83565b610a28565b005b61032d6004803603810190610328919061341e565b610c40565b60405161033a91906140c4565b60405180910390f35b61034b610c6f565b6040516103589190614200565b60405180910390f35b61037b600480360381019061037691906132a1565b610c95565b604051610388919061449d565b60405180910390f35b6103ab60048036038101906103a69190612f83565b610cb5565b005b6103c760048036038101906103c2919061304b565b610fe9565b005b6103d16110f4565b6040516103de919061449d565b60405180910390f35b61040160048036038101906103fc9190612f83565b6110fa565b005b61041d60048036038101906104189190612f83565b611191565b005b6104276113ac565b604051610434919061449d565b60405180910390f35b61045760048036038101906104529190612fac565b6113b2565b604051610464919061449d565b60405180910390f35b610487600480360381019061048291906132ca565b61143c565b60405161049491906140a9565b60405180910390f35b6104a5611495565b6040516104b291906141e5565b60405180910390f35b6104d560048036038101906104d09190613121565b6114bb565b005b6104f160048036038101906104ec9190612fac565b6115c2565b6040516104fe919061449d565b60405180910390f35b610521600480360381019061051c919061304b565b61164c565b005b61053d60048036038101906105389190613363565b61174f565b005b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006105c885858585611955565b9050949350505050565b60006105eb82600001518360200151846040015161198e565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b6000610655826119e6565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b61070081611a84565b50565b600061070d611c94565b905060006107a3600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486611ca590919063ffffffff16565b9050600081116107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df9061435d565b60405180910390fd5b60006107f583888861198e565b90506108458186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611cd2565b610884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087b9061447d565b60405180910390fd5b85600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109128388611d3f565b610980600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848985611efc565b7f95f66b073d65f18e43f6b76c7ab8557787f5f766d86cab7c9c76f41be9f8abc6600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848989604051610a179493929190613f51565b60405180910390a150505050505050565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ab3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aaa9061433d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161415610b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b199061443d565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba4906143dd565b60405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b3282604051610c35929190613ec8565b60405180910390a150565b6000610c68826000015183602001518460400151856060015186608001518760a0015161218c565b9050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060086000838152602001908152602001600020600001549050919050565b6000610cbf611c94565b90506000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811415610d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d80906142fd565b60405180910390fd5b42811115610dcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc39061437d565b60405180910390fd5b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610f0d578173ffffffffffffffffffffffffffffffffffffffff16319050610f99565b8473ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401610f469190613e92565b60206040518083038186803b158015610f5e57600080fd5b505afa158015610f72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f969190613447565b90505b610fa582858784611efc565b7f5300d9a2838baade7cdc628c82cb80c1298853ba5f389d51e2b47330336aeffc82858784604051610fda9493929190613f51565b60405180910390a15050505050565b6000610ff3611c94565b905060008060006110928d858e8e8e8e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506121ed565b9250925092506110ac826110a5866119e6565b8e84611efc565b7f771bc0494e1a2fcbef19a8762845000d8c4500454c756a7370c955e39ed60fd483826040516110dd929190614140565b60405180910390a150505050505050505050505050565b60025481565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c9061433d565b60405180910390fd5b61118e81612691565b50565b600061119b611c94565b90506000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008114611264576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125b9061429d565b60405180910390fd5b61126d82611a84565b6112826006544261282090919063ffffffff16565b905080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fed3c8c6cdfc6d7b91dc9db3e1f54866587c26c3c3e0f9e32cd1944974be43a50600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683858460405161139f9493929190613f51565b60405180910390a1505050565b60065481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600061148c8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611cd2565b90509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006114c5611c94565b905060008060006115648e858f8f8f8f8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506121ed565b92509250925061157782858f848d612875565b7f8b67efde501ee9cd0e771f7436554c44a5c076239ff3a6fbb397646a4689c0f283828b6040516115aa93929190614169565b60405180910390a15050505050505050505050505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000611656611c94565b905060008060006116f58d858e8e8e8e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506121ed565b92509250925061170782858e84611efc565b7f6675346cd43846f7d47c310d39fb5c15bc7db66b3770338cdf1f133613a5ae988382604051611738929190614140565b60405180910390a150505050505050505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146117df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d69061427d565b60405180910390fd5b6000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008414156118bb576224ea006006819055506118c3565b836006819055505b61190d838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505061293a565b61191681612992565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e6326040516119459190613ead565b60405180910390a1505050505050565b60008484848460405160200161196e9493929190613cd9565b604051602081830303815290604052805190602001209050949350505050565b60006119dd7f3b3087c8f883f1f44cabe66444f5f9d96f69de6a88f364ea10959eef0331414a8585856040516020016119c993929190613d97565b6040516020818303038152906040526129d6565b90509392505050565b600080826040516020016119fa9190613cbe565b604051602081830303815290604052805190602001209050606060405180602001611a2490612cff565b6020820181038252601f19601f820116604052509050600060ff60f81b30848480519060200120604051602001611a5e9493929190613dd4565b6040516020818303038152906040528051906020012090508060001c9350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff16600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611c9157600081604051602001611b2e9190613cbe565b60405160208183030381529060405280519060200120905080604051611b5390612cff565b8190604051809103906000f5905080158015611b73573d6000803e3d6000fd5b50600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fd80572c0f2f24f2d9d726d831bd860ed82b12bafaf01cfb6e4d38fb23c4347e9600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683604051611c87929190613ef1565b60405180910390a1505b50565b6000611ca06028612a17565b905090565b6000611cca8383604051806060016040528060218152602001614be660219139612aac565b905092915050565b600080611ce88385612b0190919063ffffffff16565b90506000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611eee576000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fa19281a6f3163da06f6b82f3ecf0130493c52aba23cdc2a312f652742f0d1801600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383604051611ee193929190613f1a565b60405180910390a1611ef8565b611ef782611a84565b5b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612016578373ffffffffffffffffffffffffffffffffffffffff16633f579f428483600067ffffffffffffffff81118015611f6757600080fd5b506040519080825280601f01601f191660200182016040528015611f9a5781602001600182028036833780820191505090505b506040518463ffffffff1660e01b8152600401611fb99392919061406b565b600060405180830381600087803b158015611fd357600080fd5b505af1158015611fe7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906120109190613322565b50612186565b60608473ffffffffffffffffffffffffffffffffffffffff16633f579f4284600063a9059cbb60e01b8887604051602401612052929190614042565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518463ffffffff1660e01b81526004016120cd93929190614004565b600060405180830381600087803b1580156120e757600080fd5b505af11580156120fb573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906121249190613322565b905060008151111561218457808060200190518101906121449190613278565b612183576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217a9061431d565b60405180910390fd5b5b505b50505050565b60006121e17f745089e29f2abf28f618236a5dc04d214ac05ead3440ba532b69e9d160ba2e728888888888886040516020016121cd96959493929190613d27565b6040516020818303038152906040526129d6565b90509695505050505050565b6000806000806122018c8c8c8c8c8c61218c565b905060008651141561230057600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166359b52ef88d838b6040518463ffffffff1660e01b815260040161226c93929190613fcd565b60206040518083038186803b15801561228457600080fd5b505afa158015612298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122bc9190613278565b6122fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f29061447d565b60405180910390fd5b6124f1565b60006123158783612b0190919063ffffffff16565b90508073ffffffffffffffffffffffffffffffffffffffff168d73ffffffffffffffffffffffffffffffffffffffff16146124ef57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334d323a48e838c6040518463ffffffff1660e01b81526004016123a993929190613f96565b60206040518083038186803b1580156123c157600080fd5b505afa1580156123d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f99190613278565b806124af5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334d323a48e838c6040518463ffffffff1660e01b815260040161245e93929190613f96565b60206040518083038186803b15801561247657600080fd5b505afa15801561248a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ae9190613278565b5b6124ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e5906143bd565b60405180910390fd5b5b505b6124fb8186611cd2565b61253a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125319061447d565b60405180910390fd5b6125468c8c8c8c611955565b9350612571600860008681526020019081526020016000206000015488611ca590919063ffffffff16565b915060008214156125b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ae906142bd565b60405180910390fd5b8660086000868152602001908152602001600020600001819055506125dc8c8b611d3f565b600760008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692507f0d1cb77d1fe491f98926195d0b885509da18bc305dd1489f45610237d971ed46848d8d8d8d8c60405161267a969594939291906140df565b60405180910390a150985098509895505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612701576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126f89061425d565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561278d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127849061441d565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051612815929190613ec8565b60405180910390a150565b60008082840190508381101561286b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612862906143fd565b60405180910390fd5b8091505092915050565b600081116128b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128af9061423d565b60405180910390fd5b60006128cd8284611ca590919063ffffffff16565b905060008111612912576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129099061439d565b60405180910390fd5b61291e86868684611efc565b6129328661292b876119e6565b8685611efc565b505050505050565b6000815114156129525761294d32612691565b61298f565b60008151905060005b8181101561298c5761297f83828151811061297257fe5b6020026020010151612691565b808060010191505061295b565b50505b50565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000612a0f6002543085856040516020016129f49493929190613e48565b60405160208183030381529060405280519060200120612bbc565b905092915050565b60008060009050612a26612bec565b15612a9f576000836000369050039050612a9760003683906014850192612a4f9392919061455f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612c99565b915050612aa3565b3390505b80915050919050565b6000838311158290612af4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aeb919061421b565b60405180910390fd5b5082840390509392505050565b60008060009050604183511415612bb25760008060006020860151925060408601519150606086015160001a9050601b8160ff161015612b4257601b810190505b601b8160ff161480612b575750601c8160ff16145b15612bae5760018782858560405160008152602001604052604051612b7f94939291906141a0565b6020604051602081039080840390855afa158015612ba1573d6000803e3d6000fd5b5050506020604051035193505b5050505b8091505092915050565b600081604051602001612bcf9190613e22565b604051602081830303815290604052805190602001209050919050565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415612c9257602c60003690501015612c8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c84906142dd565b60405180910390fd5b600190505b8091505090565b6000806014835114612ce0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd79061445d565b60405180910390fd5b6c01000000000000000000000000602084015104905080915050919050565b6103f7806147ef83390190565b600081359050612d1b81614764565b92915050565b60008083601f840112612d3357600080fd5b8235905067ffffffffffffffff811115612d4c57600080fd5b602083019150836020820283011115612d6457600080fd5b9250929050565b600081519050612d7a8161477b565b92915050565b600081359050612d8f81614792565b92915050565b60008083601f840112612da757600080fd5b8235905067ffffffffffffffff811115612dc057600080fd5b602083019150836001820283011115612dd857600080fd5b9250929050565b600082601f830112612df057600080fd5b8151612e03612dfe826144e5565b6144b8565b91508082526020830160208301858383011115612e1f57600080fd5b612e2a8382846146d1565b50505092915050565b600081359050612e42816147a9565b92915050565b600081359050612e57816147c0565b92915050565b600060608284031215612e6f57600080fd5b612e7960606144b8565b90506000612e8984828501612d0c565b6000830152506020612e9d84828501612d0c565b6020830152506040612eb184828501612f59565b60408301525092915050565b600060c08284031215612ecf57600080fd5b612ed960c06144b8565b90506000612ee984828501612d0c565b6000830152506020612efd84828501612d0c565b6020830152506040612f1184828501612d0c565b6040830152506060612f2584828501612d80565b6060830152506080612f3984828501612f59565b60808301525060a0612f4d84828501612f59565b60a08301525092915050565b600081359050612f68816147d7565b92915050565b600081519050612f7d816147d7565b92915050565b600060208284031215612f9557600080fd5b6000612fa384828501612d0c565b91505092915050565b60008060408385031215612fbf57600080fd5b6000612fcd85828601612d0c565b9250506020612fde85828601612d0c565b9150509250929050565b60008060008060808587031215612ffe57600080fd5b600061300c87828801612d0c565b945050602061301d87828801612d0c565b935050604061302e87828801612d0c565b925050606061303f87828801612d80565b91505092959194509250565b600080600080600080600080600060e08a8c03121561306957600080fd5b60006130778c828d01612d0c565b99505060206130888c828d01612d0c565b98505060406130998c828d01612d80565b97505060606130aa8c828d01612f59565b96505060806130bb8c828d01612f59565b95505060a08a013567ffffffffffffffff8111156130d857600080fd5b6130e48c828d01612d95565b945094505060c08a013567ffffffffffffffff81111561310357600080fd5b61310f8c828d01612d95565b92509250509295985092959850929598565b6000806000806000806000806000806101008b8d03121561314157600080fd5b600061314f8d828e01612d0c565b9a505060206131608d828e01612d0c565b99505060406131718d828e01612d80565b98505060606131828d828e01612f59565b97505060806131938d828e01612f59565b96505060a06131a48d828e01612f59565b95505060c08b013567ffffffffffffffff8111156131c157600080fd5b6131cd8d828e01612d95565b945094505060e08b013567ffffffffffffffff8111156131ec57600080fd5b6131f88d828e01612d95565b92509250509295989b9194979a5092959850565b6000806000806060858703121561322257600080fd5b600061323087828801612d0c565b945050602061324187828801612f59565b935050604085013567ffffffffffffffff81111561325e57600080fd5b61326a87828801612d95565b925092505092959194509250565b60006020828403121561328a57600080fd5b600061329884828501612d6b565b91505092915050565b6000602082840312156132b357600080fd5b60006132c184828501612d80565b91505092915050565b6000806000604084860312156132df57600080fd5b60006132ed86828701612d80565b935050602084013567ffffffffffffffff81111561330a57600080fd5b61331686828701612d95565b92509250509250925092565b60006020828403121561333457600080fd5b600082015167ffffffffffffffff81111561334e57600080fd5b61335a84828501612ddf565b91505092915050565b60008060008060008060a0878903121561337c57600080fd5b600061338a89828a01612e33565b965050602061339b89828a01612e48565b95505060406133ac89828a01612f59565b945050606087013567ffffffffffffffff8111156133c957600080fd5b6133d589828a01612d21565b935093505060806133e889828a01612d0c565b9150509295509295509295565b60006060828403121561340757600080fd5b600061341584828501612e5d565b91505092915050565b600060c0828403121561343057600080fd5b600061343e84828501612ebd565b91505092915050565b60006020828403121561345957600080fd5b600061346784828501612f6e565b91505092915050565b61347981614641565b82525050565b61348881614592565b82525050565b61349f61349a82614592565b614704565b82525050565b6134ae816145a4565b82525050565b6134c56134c0826145b0565b614716565b82525050565b6134d4816145dc565b82525050565b6134eb6134e6826145dc565b614720565b82525050565b60006134fc82614511565b6135068185614527565b93506135168185602086016146d1565b61351f81614746565b840191505092915050565b600061353582614511565b61353f8185614538565b935061354f8185602086016146d1565b80840191505092915050565b61356481614653565b82525050565b61357381614677565b82525050565b6135828161469b565b82525050565b60006135938261451c565b61359d8185614543565b93506135ad8185602086016146d1565b6135b681614746565b840191505092915050565b60006135ce602683614543565b91507f5061796d656e7452656769737472793a20696e76616c6964206465706f73697460008301527f2076616c756500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613634601c83614554565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b6000613674602083614543565b91507f477561726465643a2063616e6e6f74206164642030783020677561726469616e6000830152602082019050919050565b60006136b4602f83614543565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b600061371a602f83614543565b91507f5061796d656e7452656769737472793a206465706f736974206578697420616c60008301527f72656164792072657175657374656400000000000000000000000000000000006020830152604082019050919050565b6000613780602683614543565b91507f5061796d656e7452656769737472793a20696e76616c6964207061796d656e7460008301527f2076616c756500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006137e6602283614543565b91507f47617465776179526563697069656e743a20696e76616c6964206d73672e646160008301527f74610000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061384c602b83614543565b91507f5061796d656e7452656769737472793a206465706f7369742065786974206e6f60008301527f74207265717565737465640000000000000000000000000000000000000000006020830152604082019050919050565b60006138b2602d83614543565b91507f5061796d656e7452656769737472793a204552433230546f6b656e207472616e60008301527f73666572207265766572746564000000000000000000000000000000000000006020830152604082019050919050565b6000613918602683614543565b91507f477561726465643a2074782e6f726967696e206973206e6f742074686520677560008301527f61726469616e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061397e601f83614543565b91507f5061796d656e7452656769737472793a20696e76616c696420616d6f756e74006000830152602082019050919050565b60006139be602483614543565b91507f5061796d656e7452656769737472793a206465706f7369742065786974206c6f60008301527f636b6564000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613a24602783614543565b91507f5061796d656e7452656769737472793a20696e76616c6964207769746864726160008301527f772076616c7565000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613a8a602983614543565b91507f5061796d656e7452656769737472793a20696e76616c69642073656e6465722060008301527f7369676e617475726500000000000000000000000000000000000000000000006020830152604082019050919050565b6000613af0601f83614543565b91507f477561726465643a20677561726469616e20646f65736e2774206578697374006000830152602082019050919050565b6000613b30601e83614543565b91507f536166654d6174684c69623a206164646974696f6e206f766572666c6f7700006000830152602082019050919050565b6000613b70602083614543565b91507f477561726465643a20677561726469616e20616c7265616479206578697374736000830152602082019050919050565b6000613bb0601b83614543565b91507f477561726465643a2063616e6e6f742072656d6f76652073656c6600000000006000830152602082019050919050565b6000613bf0601d83614543565b91507f42797465734c69623a20696e76616c69642064617461206c656e6774680000006000830152602082019050919050565b6000613c30602b83614543565b91507f5061796d656e7452656769737472793a20696e76616c6964206775617264696160008301527f6e207369676e61747572650000000000000000000000000000000000000000006020830152604082019050919050565b613c928161462a565b82525050565b613ca9613ca48261462a565b61473c565b82525050565b613cb881614634565b82525050565b6000613cca828461348e565b60148201915081905092915050565b6000613ce5828761348e565b601482019150613cf5828661348e565b601482019150613d05828561348e565b601482019150613d1582846134da565b60208201915081905095945050505050565b6000613d33828961348e565b601482019150613d43828861348e565b601482019150613d53828761348e565b601482019150613d6382866134da565b602082019150613d738285613c98565b602082019150613d838284613c98565b602082019150819050979650505050505050565b6000613da3828661348e565b601482019150613db3828561348e565b601482019150613dc38284613c98565b602082019150819050949350505050565b6000613de082876134b4565b600182019150613df0828661348e565b601482019150613e0082856134da565b602082019150613e1082846134da565b60208201915081905095945050505050565b6000613e2d82613627565b9150613e3982846134da565b60208201915081905092915050565b6000613e548287613c98565b602082019150613e64828661348e565b601482019150613e7482856134da565b602082019150613e84828461352a565b915081905095945050505050565b6000602082019050613ea7600083018461347f565b92915050565b6000602082019050613ec26000830184613470565b92915050565b6000604082019050613edd6000830185613470565b613eea602083018461347f565b9392505050565b6000604082019050613f06600083018561347f565b613f13602083018461347f565b9392505050565b6000606082019050613f2f600083018661347f565b613f3c602083018561347f565b613f49604083018461347f565b949350505050565b6000608082019050613f66600083018761347f565b613f73602083018661347f565b613f80604083018561347f565b613f8d6060830184613c89565b95945050505050565b6000606082019050613fab600083018661347f565b613fb8602083018561347f565b613fc56040830184613c89565b949350505050565b6000606082019050613fe2600083018661347f565b613fef60208301856134cb565b613ffc6040830184613c89565b949350505050565b6000606082019050614019600083018661347f565b6140266020830185613579565b818103604083015261403881846134f1565b9050949350505050565b6000604082019050614057600083018561347f565b6140646020830184613c89565b9392505050565b6000606082019050614080600083018661347f565b61408d6020830185613c89565b818103604083015261409f81846134f1565b9050949350505050565b60006020820190506140be60008301846134a5565b92915050565b60006020820190506140d960008301846134cb565b92915050565b600060c0820190506140f460008301896134cb565b614101602083018861347f565b61410e604083018761347f565b61411b606083018661347f565b61412860808301856134cb565b61413560a0830184613c89565b979650505050505050565b600060408201905061415560008301856134cb565b6141626020830184613c89565b9392505050565b600060608201905061417e60008301866134cb565b61418b6020830185613c89565b6141986040830184613c89565b949350505050565b60006080820190506141b560008301876134cb565b6141c26020830186613caf565b6141cf60408301856134cb565b6141dc60608301846134cb565b95945050505050565b60006020820190506141fa600083018461355b565b92915050565b6000602082019050614215600083018461356a565b92915050565b600060208201905081810360008301526142358184613588565b905092915050565b60006020820190508181036000830152614256816135c1565b9050919050565b6000602082019050818103600083015261427681613667565b9050919050565b60006020820190508181036000830152614296816136a7565b9050919050565b600060208201905081810360008301526142b68161370d565b9050919050565b600060208201905081810360008301526142d681613773565b9050919050565b600060208201905081810360008301526142f6816137d9565b9050919050565b600060208201905081810360008301526143168161383f565b9050919050565b60006020820190508181036000830152614336816138a5565b9050919050565b600060208201905081810360008301526143568161390b565b9050919050565b6000602082019050818103600083015261437681613971565b9050919050565b60006020820190508181036000830152614396816139b1565b9050919050565b600060208201905081810360008301526143b681613a17565b9050919050565b600060208201905081810360008301526143d681613a7d565b9050919050565b600060208201905081810360008301526143f681613ae3565b9050919050565b6000602082019050818103600083015261441681613b23565b9050919050565b6000602082019050818103600083015261443681613b63565b9050919050565b6000602082019050818103600083015261445681613ba3565b9050919050565b6000602082019050818103600083015261447681613be3565b9050919050565b6000602082019050818103600083015261449681613c23565b9050919050565b60006020820190506144b26000830184613c89565b92915050565b6000604051905081810181811067ffffffffffffffff821117156144db57600080fd5b8060405250919050565b600067ffffffffffffffff8211156144fc57600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000808585111561456f57600080fd5b8386111561457c57600080fd5b6001850283019150848603905094509492505050565b600061459d8261460a565b9050919050565b60008115159050919050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b60006145f182614592565b9050919050565b600061460382614592565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061464c826146ad565b9050919050565b600061465e82614665565b9050919050565b60006146708261460a565b9050919050565b600061468282614689565b9050919050565b60006146948261460a565b9050919050565b60006146a68261462a565b9050919050565b60006146b8826146bf565b9050919050565b60006146ca8261460a565b9050919050565b60005b838110156146ef5780820151818401526020810190506146d4565b838111156146fe576000848401525b50505050565b600061470f8261472a565b9050919050565b6000819050919050565b6000819050919050565b600061473582614757565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b61476d81614592565b811461477857600080fd5b50565b614784816145a4565b811461478f57600080fd5b50565b61479b816145dc565b81146147a657600080fd5b50565b6147b2816145e6565b81146147bd57600080fd5b50565b6147c9816145f8565b81146147d457600080fd5b50565b6147e08161462a565b81146147eb57600080fd5b5056fe6080604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103a4806100536000396000f3fe60806040526004361061002d5760003560e01c80633f579f4214610039578063f77c47911461016257610034565b3661003457005b600080fd5b34801561004557600080fd5b506100e76004803603606081101561005c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156100a357600080fd5b8201836020820111156100b557600080fd5b803590602001918460018302840111640100000000831117156100d757600080fd5b90919293919293905050506101a3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012757808201518184015260208101905061010c565b50505050905090810190601f1680156101545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016e57600080fd5b50610177610347565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061036c602c913960400191505060405180910390fd5b606060008673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d80600081146102b9576040519150601f19603f3d011682016040523d82523d6000602084013e6102be565b606091505b5080935081925050508061033a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b8192505050949350505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a536166654d6174684c69623a207375627472616374696f6e206f766572666c6f77a164736f6c634300060c000a"; + "0x60806040523480156200001157600080fd5b506200002e67e6ad6dd6ee73072860c01b6200017e60201b60201c565b6200004a67bcc9be562f8a4b0a60c01b6200018160201b60201c565b6200006667579ae7209daca85260c01b6200018160201b60201c565b32600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000c3676b19898ae2f7725060c01b6200018460201b60201c565b620000df677c2d0c907f0deddc60c01b6200018460201b60201c565b620000fb67f0d1a438b0305bb160c01b6200018460201b60201c565b6000620001196737bb5abaf3e7d9d360c01b6200018460201b60201c565b46905062000138676f86a9c0c67bb39a60c01b6200018460201b60201c565b80600281905550506200015c674f33f857671bcade60c01b6200018760201b60201c565b6200017867e4c156c896cf481860c01b6200018a60201b60201c565b6200018d565b50565b50565b50565b50565b50565b617d65806200019d6000396000f3fe60806040523480156200001157600080fd5b50600436106200028c5760003560e01c80639a8a05921162000165578063bdff4b3b11620000d5578063d84fa10c1162000093578063d84fa10c1462000889578063da1b213d14620008bf578063dc7d6c3114620008df578063df0433801462000915578063e0fe396e1462000935578063f0af07211462000955576200028c565b8063bdff4b3b14620007a3578063c36326e714620007c5578063c454330514620007fb578063d0f710d61462000831578063d2c83b9a1462000867576200028c565b8063b0274a731162000123578063b0274a7314620006ed578063b41d3df0146200070d578063b852e8861462000743578063bccb31c61462000763578063bcd483641462000783576200028c565b80639a8a059214620006095780639f106f7e146200062b578063a3561e691462000661578063a526d83b1462000697578063ae1a7ece14620006b7576200028c565b80636121fcfc116200020157806384389a2b11620001bf57806384389a2b146200053b57806387d3131314620005715780638a1773ab14620005935780639130c06e14620005c95780639a85fae214620005e9576200028c565b80636121fcfc146200046f5780636524a94714620004a55780636866da5214620004c5578063692b0ad914620004e557806371404156146200051b576200028c565b80632e4f161e116200024f5780632e4f161e146200038b5780632e7037a014620003c1578063392e53cd14620003f75780633e260b13146200041957806360bf4df21462000439576200028c565b80630c68ba211462000291578063116191b614620002c757806329fbd95714620002e95780632c4bbae6146200031f5780632ca595091462000355575b600080fd5b620002af6004803603810190620002a99190620059f7565b62000975565b604051620002be919062006c71565b60405180910390f35b620002d162000a0c565b604051620002e0919062006a24565b60405180910390f35b62000307600480360381019062000301919062005ddf565b62000a32565b60405162000316919062006c71565b60405180910390f35b6200033d600480360381019062000337919062005ddf565b62000a3d565b6040516200034c919062006c71565b60405180910390f35b6200037360048036038101906200036d919062005ddf565b62000a44565b60405162000382919062006c71565b60405180910390f35b620003a96004803603810190620003a3919062005a64565b62000a4f565b604051620003b8919062006c8e565b60405180910390f35b620003df6004803603810190620003d9919062005eee565b62000aab565b604051620003ee919062006c8e565b60405180910390f35b6200040162000b0f565b60405162000410919062006c71565b60405180910390f35b62000437600480360381019062000431919062005ddf565b62000baa565b005b620004576004803603810190620004519190620059f7565b62000bad565b60405162000466919062006a24565b60405180910390f35b6200048d6004803603810190620004879190620059f7565b62000c03565b6040516200049c919062006c71565b60405180910390f35b620004c36004803603810190620004bd9190620059f7565b62000ce1565b005b620004e36004803603810190620004dd919062005cb5565b62000d31565b005b620005036004803603810190620004fd919062005ddf565b6200124e565b60405162000512919062006c71565b60405180910390f35b620005396004803603810190620005339190620059f7565b62001255565b005b62000559600480360381019062000553919062005f1a565b62001630565b60405162000568919062006c8e565b60405180910390f35b6200057b620016a3565b6040516200058a919062006dec565b60405180910390f35b620005b16004803603810190620005ab919062005d55565b620016c9565b604051620005c09190620070b3565b60405180910390f35b620005e76004803603810190620005e19190620059f7565b6200172b565b005b62000607600480360381019062000601919062005ad0565b62001cdc565b005b6200061362001eb7565b604051620006229190620070b3565b60405180910390f35b62000649600480360381019062000643919062005ddf565b62001ebd565b60405162000658919062006c71565b60405180910390f35b6200067f600480360381019062000679919062005ddf565b62001ec8565b6040516200068e919062006c71565b60405180910390f35b620006b56004803603810190620006af9190620059f7565b62001ecf565b005b620006d56004803603810190620006cf919062005ddf565b6200205d565b604051620006e4919062006c71565b60405180910390f35b6200070b6004803603810190620007059190620059f7565b62002068565b005b6200072b600480360381019062000725919062005ddf565b620023d8565b6040516200073a919062006c71565b60405180910390f35b6200076160048036038101906200075b919062005ddf565b620023df565b005b6200078160048036038101906200077b919062005ddf565b620023e2565b005b620007a160048036038101906200079b919062005ddf565b620023e5565b005b620007ad620023e8565b604051620007bc9190620070b3565b60405180910390f35b620007e36004803603810190620007dd919062005a23565b620023ee565b604051620007f29190620070b3565b60405180910390f35b62000819600480360381019062000813919062005ddf565b620024b9565b60405162000828919062006c71565b60405180910390f35b6200084f600480360381019062000849919062005d81565b620024c4565b6040516200085e919062006c71565b60405180910390f35b6200087162002561565b60405162000880919062006dcf565b60405180910390f35b620008a76004803603810190620008a1919062005ddf565b62002587565b604051620008b6919062006c71565b60405180910390f35b620008dd6004803603810190620008d7919062005bb7565b6200258e565b005b620008fd6004803603810190620008f7919062005a23565b62002763565b6040516200090c9190620070b3565b60405180910390f35b6200093360048036038101906200092d919062005ad0565b6200282f565b005b6200095360048036038101906200094d919062005e50565b62002a00565b005b6200097360048036038101906200096d919062005ddf565b62002e21565b005b60006200098d677ab52c65f999e01f60c01b620023e2565b620009a36710268b7b424a1bd560c01b620023e2565b620009b96713a157f311059a7b60c01b620023e2565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b6000919050565b600060019050919050565b600062000a67677a11c1b4df1ca1f560c01b620023df565b62000a7d6722438b178f0ae90360c01b620023df565b62000a9367f4d0ae7810213f3860c01b620023df565b62000aa18585858562002e24565b9050949350505050565b600062000ac3678731a65e96e05a9060c01b620023df565b62000ad96757f3223bdadf332960c01b620023df565b62000aef67a29afa2db961065360c01b620023df565b62000b0882600001518360200151846040015162002ea1565b9050919050565b600062000b2767e29fe2f351ca6b2760c01b62000baa565b62000b3d676f5dd3f08b97747760c01b62000baa565b62000b53673a9488d62818322a60c01b62000baa565b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b600062000bc567f6e1333f9d32e41160c01b620023df565b62000bdb67fdd9d53b8e33944460c01b620023df565b62000bf167698b486da51c956b60c01b620023df565b62000bfc8262002f3f565b9050919050565b600062000c1b677cc879258b9b8ce360c01b620023df565b62000c316745af80c83299f90360c01b620023df565b62000c4767e57f32ecefcae6cd60c01b620023df565b600073ffffffffffffffffffffffffffffffffffffffff16600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b62000cf767d0ced73497b7358460c01b620023df565b62000d0d67fbea73acffce279060c01b620023df565b62000d236770c90e3da20f7de760c01b620023df565b62000d2e81620030aa565b50565b62000d4767c0522379b364a6f360c01b620023df565b62000d5d675058ca825db00d7460c01b620023df565b62000d736782ed1bf7a8fcfd8360c01b620023df565b600062000d7f620033a4565b905062000d97674b653d1c8b6d592360c01b620023df565b62000dad676021df71f2b027d760c01b620023df565b600062000e43600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486620033f990919063ffffffff16565b905062000e5b673b5ac82d29c17eab60c01b620023df565b62000e7167e38d430a97e9424f60c01b620023df565b62000e87673beaf30c76a59ffa60c01b620023df565b6000811162000ecd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ec49062006f5f565b60405180910390fd5b62000ee3678eb8c265193ebb8560c01b620023df565b62000ef967de400f7d5441605260c01b620023df565b62000f0f673b1ce7a286e0eca760c01b620023df565b600062000f1e83888862002ea1565b905062000f3667560d1a6828b72dce60c01b620023df565b62000f4c67011239eb7c122c0760c01b620023df565b62000f62673a2c80a6aac4048460c01b620023df565b62000fb28186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506200346b565b62000ff4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000feb9062007091565b60405180910390fd5b6200100a6798c9308ac236396c60c01b620023df565b62001020679cfd1fa808aaac0e60c01b620023df565b85600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620010ba67fbb2fb2a9aacd34160c01b620023df565b620010d0679fe9956435bdbfe660c01b620023df565b620010dc838862003549565b620010f267d3c67012fd9edb9a60c01b620023df565b620011086719f7b46b98a45b5260c01b620023df565b62001178600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848985620037e8565b6200118e674ba2c71c2ee28c6b60c01b620023df565b620011a46717161c0e31e34fc360c01b620023df565b7f95f66b073d65f18e43f6b76c7ab8557787f5f766d86cab7c9c76f41be9f8abc6600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168489896040516200123d949392919062006af5565b60405180910390a150505050505050565b6000919050565b6200126b6747dd6d4e27a092d260c01b620023e2565b6200128167e0600b94c13d066760c01b620023e2565b620012976755e8cedcdd449e2360c01b620023e2565b620012ad67ab821ba7fedab67160c01b620023e2565b620012c367c540fbd78e0e2a4960c01b620023e2565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1662001351576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620013489062006f3d565b60405180910390fd5b6200136767d014260b312542b460c01b620023e2565b6200137d674e25985d1c99d1f260c01b620023e2565b6200139367736984febec5fd2560c01b620023e2565b620013a967cbb923c66996310360c01b620023e2565b620013bf672c114aff1103564b60c01b620023e2565b620013d567a76a63e34be2bddb60c01b620023e2565b620013eb67a220bc889ca09d2360c01b620023e2565b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614156200145d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162001454906200704d565b60405180910390fd5b62001473679467d7af09c5944d60c01b620023e2565b6200148967c28a58b1b15ad6de60c01b620023e2565b6200149f67c70b0fecc7c6d3b160c01b620023e2565b620014b567e7892f9392d41a6760c01b620023e2565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1662001543576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200153a9062006fe7565b60405180910390fd5b62001559675a0de441d13969aa60c01b620023e2565b6200156f674e473b0a29064fba60c01b620023e2565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620015dc67e398e5606400274660c01b620023e2565b620015f26738c3bd156a3471c260c01b620023e2565b7fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b32826040516200162592919062006a5e565b60405180910390a150565b60006200164867746e84890578918d60c01b620023df565b6200165e676d90e6054f970f8d60c01b620023df565b62001674674283df7d54888c2160c01b620023df565b6200169c826000015183602001518460400151856060015186608001518760a0015162003c0c565b9050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000620016e1674a92df0b2601d80060c01b620023df565b620016f76730e797ee2717b25c60c01b620023df565b6200170d6740cb4346e6f9bbb360c01b620023df565b60086000838152602001908152602001600020600001549050919050565b6200174167b773bc6ea061fbc160c01b620023df565b62001757671e47e14efabccbcb60c01b620023df565b6200176d671faed6e4e38b1a7560c01b620023df565b600062001779620033a4565b9050620017916736891da8159b98ba60c01b620023df565b620017a767178c9047312caef260c01b620023df565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050620018416733c36b59b7a185eb60c01b620023df565b6200185767c84ec4eb44f8e63760c01b620023df565b6200186d67d552fc88e56ef1b860c01b620023df565b6000811415620018b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620018ab9062006ef9565b60405180910390fd5b620018ca672035200410c747a960c01b620023df565b620018e0670add31c7a189e6db60c01b620023df565b620018f667a6bab72803d7aef560c01b620023df565b6200190c67be9a2f69e7267e4560c01b620023df565b4281111562001952576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620019499062006f81565b60405180910390fd5b62001968677d0e00efaa9167ce60c01b620023df565b6200197e673caa302eebf3b18860c01b620023df565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062001a1967ba24a6bd0393831960c01b620023df565b62001a2f6738a30af50c05383160c01b620023df565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905062001aac67c1ba8f26af786bdf60c01b620023df565b62001ac267da5b0a8094a1696060c01b620023df565b600062001ada67da6c8b42a66d376960c01b620023df565b62001af067d731e57aebb3f92460c01b620023df565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141562001b725762001b3c677885fed62b0c85ce60c01b620023df565b62001b5267e57216c6dd319f5360c01b620023df565b8173ffffffffffffffffffffffffffffffffffffffff1631905062001c30565b62001b886751812ef4de4274a260c01b620023df565b62001b9e67b3b395a9758b968860c01b620023df565b8473ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b815260040162001bd9919062006a24565b60206040518083038186803b15801562001bf257600080fd5b505afa15801562001c07573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c2d919062005f46565b90505b62001c466796229eb7fe105ae460c01b620023df565b62001c5c67ebeeb2b3f7b8192c60c01b620023df565b62001c6a82858784620037e8565b62001c8067e442679b547af84f60c01b620023df565b62001c96670e1c93412bd8455f60c01b620023df565b7f5300d9a2838baade7cdc628c82cb80c1298853ba5f389d51e2b47330336aeffc8285878460405162001ccd949392919062006af5565b60405180910390a15050505050565b62001cf2678547b4816985ff9f60c01b620023df565b62001d0867e91d0fa0d5165f1060c01b620023df565b62001d1e67ae27d5c6e5a1627860c01b620023df565b600062001d2a620033a4565b905062001d426726e48716281dd6cd60c01b620023df565b62001d58671f02d416ec828e0960c01b620023df565b600080600062001df78d858e8e8e8e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505062003cb3565b92509250925062001e13673bb0e2de1af97a3b60c01b620023df565b62001e2967bba97aa553e93d0060c01b620023df565b62001e418262001e398662002f3f565b8e84620037e8565b62001e57674a2b86621f73c58e60c01b620023df565b62001e6d67f8b1d1f90ea6458860c01b620023df565b7f771bc0494e1a2fcbef19a8762845000d8c4500454c756a7370c955e39ed60fd4838260405162001ea092919062006d18565b60405180910390a150505050505050505050505050565b60025481565b600060019050919050565b6000919050565b62001ee567c17b66a0b198af7b60c01b620023e2565b62001efb67e0600b94c13d066760c01b620023e2565b62001f116755e8cedcdd449e2360c01b620023e2565b62001f2767ab821ba7fedab67160c01b620023e2565b62001f3d67c540fbd78e0e2a4960c01b620023e2565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1662001fcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162001fc29062006f3d565b60405180910390fd5b62001fe167d014260b312542b460c01b620023e2565b62001ff7674e25985d1c99d1f260c01b620023e2565b6200200d67dfa24a8cc198350160c01b620023e2565b6200202367f9907d82cd18ee0760c01b620023e2565b6200203967dd37ee49f553c5a760c01b620023e2565b6200204f679ad66b1d98f77fdf60c01b620023e2565b6200205a8162004526565b50565b600060019050919050565b6200207e670469efd33c9235e360c01b620023df565b6200209467f0b2089551c0c81360c01b620023df565b620020aa6704d761f7374b77cd60c01b620023df565b6000620020b6620033a4565b9050620020ce67409657c6111ebeff60c01b620023df565b620020e4679358c4bdb889d18460c01b620023df565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506200217e67e923e341d617b92360c01b620023df565b6200219467b0e7ccea6c1aa7d260c01b620023df565b620021aa674d40fc3ef77568bb60c01b620023df565b60008114620021f0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620021e79062006e93565b60405180910390fd5b62002206679ebbb0402706d7af60c01b620023df565b6200221c6794c20c5a2ce1d39660c01b620023df565b6200223267beca2bc701238ab260c01b620023df565b6200223d82620030aa565b6200225367d033291f0eb9caf760c01b620023df565b6200226a60065442620047c590919063ffffffff16565b905062002282672aade004be31a38c60c01b620023df565b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200231c678164ea09279e604f60c01b620023df565b620023326789b93e679e8b87d160c01b620023df565b7fed3c8c6cdfc6d7b91dc9db3e1f54866587c26c3c3e0f9e32cd1944974be43a50600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838584604051620023cb949392919062006af5565b60405180910390a1505050565b6000919050565b50565b50565b50565b60065481565b600062002405664a2219036fd2a460c01b620023df565b6200241b675e6e6d17fe704f9760c01b620023df565b6200243167dbbc56fd7f3b5f8960c01b620023df565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600060019050919050565b6000620024dc670fa739e07c029f9060c01b620023e2565b620024f267406100042e7653bd60c01b620023e2565b620025086784104632bda8198f60c01b620023e2565b620025588484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506200346b565b90509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000919050565b620025a46740bae9637fb2f02060c01b620023df565b620025ba67eb691ee8670228b060c01b620023df565b620025d0673992eecbf7059d7a60c01b620023df565b6000620025dc620033a4565b9050620025f467c38dab0c9cbfffc060c01b620023df565b6200260a67ff6eebe0f8a2088860c01b620023df565b6000806000620026a98e858f8f8f8f8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505062003cb3565b925092509250620026c5670d40206c41a9e9f160c01b620023df565b620026db6732a3f4b543a6d49960c01b620023df565b620026ea82858f848d620048e4565b6200270067b7953e396f06f2f860c01b620023df565b620027166730471e94ce6c1fb260c01b620023df565b7f8b67efde501ee9cd0e771f7436554c44a5c076239ff3a6fbb397646a4689c0f283828b6040516200274b9392919062006d45565b60405180910390a15050505050505050505050505050565b60006200277b67446e049345b6dc0360c01b620023df565b6200279167958de0fc09af695660c01b620023df565b620027a76792ae15897a87ccb760c01b620023df565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6200284567bcbd9780179cfb1660c01b620023df565b6200285b67318240a4eb8b00cb60c01b620023df565b6200287167fc5cdd89fca1b27160c01b620023df565b60006200287d620033a4565b90506200289567a03d83d93ca8d80260c01b620023df565b620028ab6743d46cb5e50ef82b60c01b620023df565b60008060006200294a8d858e8e8e8e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505062003cb3565b92509250925062002966677ba957dbb80f30dd60c01b620023df565b6200297c67eb8cdd947a89fa6a60c01b620023df565b6200298a82858e84620037e8565b620029a0672efb5286ef6b799760c01b620023df565b620029b6679d0f67b91b85269360c01b620023df565b7f6675346cd43846f7d47c310d39fb5c15bc7db66b3770338cdf1f133613a5ae988382604051620029e992919062006d18565b60405180910390a150505050505050505050505050565b62002a16675d6a36075962234660c01b620023df565b62002a2c67d2ba19feb39e0b7f60c01b62000baa565b62002a42670c5ad53cdb9edd1560c01b62000baa565b62002a5867b6b588d2ebb9ae6960c01b62000baa565b62002a6e67c4ec9a90a885875260c01b62000baa565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161462002b01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162002af89062006e71565b60405180910390fd5b62002b1767c3785ba1534db95460c01b62000baa565b62002b2d67e4202927591248ef60c01b62000baa565b6000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062002b8567531cfa2817fbdc8660c01b62000baa565b62002b9b67de26df4d387f673160c01b620023df565b62002bb1674ebd43ec99830d3060c01b620023df565b62002bc767bb152469ff2c92e660c01b620023df565b85600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062002c1e67d35d915692b00daa60c01b620023df565b84600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062002c7567a817395cf9ca065c60c01b620023df565b62002c8b678615344e6972361e60c01b620023df565b600084141562002cd15762002cab67629416985776820d60c01b620023df565b62002cc1678885a164a9f3ec4260c01b620023df565b6224ea0060068190555062002d05565b62002ce76716f8786f8b5ecdbf60c01b620023df565b62002cfd67be06e23d7dfb9f2a60c01b620023df565b836006819055505b62002d1b675fb68d901bcd3a4a60c01b620023df565b62002d31679a8ebcf09fa7f9b860c01b620023df565b62002d7d838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505062004b01565b62002d936721ac7ab39c91777260c01b620023df565b62002da9670a38c83eb402380960c01b620023df565b62002db48162004c80565b62002dca6701520f419008b58e60c01b62000baa565b62002de06775364c04848b013b60c01b62000baa565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e63260405162002e11919062006a41565b60405180910390a1505050505050565b50565b600062002e3c670600b8dacbc0f5b060c01b620023df565b62002e5267a51a8e2c949b38d860c01b620023df565b62002e68670995b3651a997c6e60c01b620023df565b8484848460405160200162002e8194939291906200683d565b604051602081830303815290604052805190602001209050949350505050565b600062002eb967ab0839cc447a85be60c01b620023df565b62002ecf6757963282530d51cf60c01b620023df565b62002ee567943633a1f102620860c01b620023df565b62002f367f3b3087c8f883f1f44cabe66444f5f9d96f69de6a88f364ea10959eef0331414a85858560405160200162002f21939291906200690f565b60405160208183030381529060405262004cf0565b90509392505050565b600062002f5767a6241f48aba60f2360c01b620023df565b62002f6d6760801bc25d3681f060c01b620023df565b62002f8367032311da4b2958a160c01b620023df565b60008260405160200162002f98919062006820565b60405160208183030381529060405280519060200120905062002fc667d57236925b01eaef60c01b620023df565b62002fdc678d10ddc344cfc56660c01b620023df565b60606040518060200162002ff09062005727565b6020820181038252601f19601f8201166040525090506200301c6783bd86ecf08f2dd360c01b620023df565b62003032675bccd458cea2ca7e60c01b620023df565b600060ff60f81b3084848051906020012060405160200162003058949392919062006952565b6040516020818303038152906040528051906020012090506200308667d2153fdf44ab7c8a60c01b620023df565b6200309c679430141534c0f6f160c01b620023df565b8060001c9350505050919050565b620030c06733e6264130761ab860c01b620023df565b620030d667211cfd602532dd7360c01b620023df565b620030ec673b14d30a708bc54460c01b620023df565b600073ffffffffffffffffffffffffffffffffffffffff16600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156200338a576200319a67f83ecc64c556d1f760c01b620023df565b620031b067f6e1d3201424c63f60c01b620023df565b620031c6676267bb6430c32dbe60c01b620023df565b600081604051602001620031db919062006820565b6040516020818303038152906040528051906020012090506200320967538e7ffac01a39d760c01b620023df565b80604051620032189062005727565b8190604051809103906000f590508015801562003239573d6000803e3d6000fd5b50600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620032d0679d112f9daf47871e60c01b620023df565b620032e667986a0454bcd99e2560c01b620023df565b7fd80572c0f2f24f2d9d726d831bd860ed82b12bafaf01cfb6e4d38fb23c4347e9600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040516200337b92919062006a8b565b60405180910390a150620033a1565b620033a067d3ab13cff696adf660c01b620023df565b5b50565b6000620033bc677ac614d5268cc8ac60c01b62002e21565b620033d2670a6b7ac33c94c4ed60c01b62002e21565b620033e867e7ef433820a2765360c01b62002e21565b620033f4602862004d77565b905090565b60006200341167e0716c1000d7d1da60c01b62004f2f565b62003427674e44df08c8f0b5bb60c01b62004f2f565b6200343d679b7e32e8ae0c005160c01b62004f2f565b62003463838360405180606001604052806021815260200162007d386021913962004f32565b905092915050565b60006200348367fbe9af14abc78ca860c01b620023e2565b6200349967bd3616cf00f8ad2b60c01b620023e2565b620034af670aad941719c9b69b60c01b620023e2565b6000620034c683856200502490919063ffffffff16565b9050620034de6706f556c4601e7cd060c01b620023e2565b620034f467344e7bee2db8345860c01b620023e2565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b6200355f67b137a792eeffc94960c01b620023df565b62003575676cebd0716e109ec060c01b620023df565b6200358b67227b6ac9d83cb95360c01b620023df565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111562003796576200362a678791f8da1a3e1edf60c01b620023df565b6200364067a20c246c9c5e907f60c01b620023df565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620036db67f884f17fe3454b4f60c01b620023df565b620036f167c3d63cf5fa919f0460c01b620023df565b7fa19281a6f3163da06f6b82f3ecf0130493c52aba23cdc2a312f652742f0d1801600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383604051620037889392919062006ab8565b60405180910390a1620037e4565b620037ac6764fe4e265a60b8b260c01b620023df565b620037c267e8c510292ed038a160c01b620023df565b620037d86798a079e54e32501e60c01b620023df565b620037e382620030aa565b5b5050565b620037fe67425ae998c798c82e60c01b620023df565b6200381467e66cf7af275cf8b160c01b620023df565b6200382a67d8bd53129853df4f60c01b620023df565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562003990576200387667111891f7aa278fd260c01b620023df565b6200388c67241016650f63728860c01b620023df565b620038a2672a09400165e7657260c01b620023df565b8373ffffffffffffffffffffffffffffffffffffffff16633f579f428483600067ffffffffffffffff81118015620038d957600080fd5b506040519080825280601f01601f1916602001820160405280156200390d5781602001600182028036833780820191505090505b506040518463ffffffff1660e01b81526004016200392e9392919062006c2d565b600060405180830381600087803b1580156200394957600080fd5b505af11580156200395e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019062003989919062005e0b565b5062003c06565b620039a6677b4ef9f87d72b7a960c01b620023df565b620039bc67a88798cd3aa7d74a60c01b620023df565b620039d267d91d0c8e6448665a60c01b620023df565b60608473ffffffffffffffffffffffffffffffffffffffff16633f579f4284600063a9059cbb60e01b888760405160240162003a1092919062006c00565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518463ffffffff1660e01b815260040162003a8d9392919062006bbc565b600060405180830381600087803b15801562003aa857600080fd5b505af115801562003abd573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019062003ae8919062005e0b565b905062003b0067048c8450ee4bf7b760c01b620023df565b62003b1667201720d43ce7357560c01b620023df565b60008151111562003bed5762003b376720ffb51a4023618960c01b620023df565b62003b4d674c5a559407f7467360c01b620023df565b62003b6367d18f03c9226f332260c01b620023df565b62003b79675a5ec2d22eeefafd60c01b620023df565b8080602001905181019062003b8f919062005d29565b62003bd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162003bc89062006f1b565b60405180910390fd5b62003be76742a84bad8afeeb5c60c01b620023df565b62003c04565b62003c03670fe67714ff92436960c01b620023df565b5b505b50505050565b600062003c246751a80809ea045ef460c01b620023df565b62003c3a671ae84f9badc6251360c01b620023df565b62003c5067e4da76a2a2a1edc760c01b620023df565b62003ca77f745089e29f2abf28f618236a5dc04d214ac05ead3440ba532b69e9d160ba2e7288888888888860405160200162003c929695949392919062006893565b60405160208183030381529060405262004cf0565b90509695505050505050565b600080600062003cce6713f01d9025565f3960c01b620023df565b62003ce467ae5fd9cd87222a2b60c01b620023df565b62003cfa67152227d79de099c160c01b620023df565b600062003d0c8c8c8c8c8c8c62003c0c565b905062003d2467904fdcf2e56cec1360c01b620023df565b62003d3a674cb6148653b6f05c60c01b620023df565b60008651141562003eb05762003d5b6788da320677cf5e7d60c01b620023df565b62003d7167031a875bca0aaab360c01b620023df565b62003d87673a5cc07e4b44a6d560c01b620023df565b62003d9d67016d2c61f6dd6c2d60c01b620023df565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166359b52ef88d838b6040518463ffffffff1660e01b815260040162003dfe9392919062006b7f565b60206040518083038186803b15801562003e1757600080fd5b505afa15801562003e2c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003e52919062005d29565b62003e94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162003e8b9062007091565b60405180910390fd5b62003eaa67e8aefadc281bef2d60c01b620023df565b620041ea565b62003ec667d1ebedc8c05d2dc060c01b620023df565b62003edc67608da72d0095b9d160c01b620023df565b62003ef267cb30b3cc980493e660c01b620023df565b600062003f0987836200502490919063ffffffff16565b905062003f2167b9f9dace39395bba60c01b620023df565b62003f376719d2e2b0100cef0c60c01b620023df565b8073ffffffffffffffffffffffffffffffffffffffff168d73ffffffffffffffffffffffffffffffffffffffff1614620041d15762003f8167cf4babd7c1f5517660c01b620023df565b62003f9767e7be9dc6df87f59460c01b620023df565b62003fad6754ffef844048aeac60c01b620023df565b62003fc3678bad387c237a9c8260c01b620023df565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334d323a48e838c6040518463ffffffff1660e01b8152600401620040249392919062006b42565b60206040518083038186803b1580156200403d57600080fd5b505afa15801562004052573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004078919062005d29565b80156200409757506200409667e43e558222a48e9060c01b62000a44565b5b80620041735750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334d323a48e838c6040518463ffffffff1660e01b8152600401620040ff9392919062006b42565b60206040518083038186803b1580156200411857600080fd5b505afa1580156200412d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004153919062005d29565b8015620041725750620041716774a6a859f68a407460c01b62000a44565b5b5b620041b5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620041ac9062006fc5565b60405180910390fd5b620041cb670428b6277130e17d60c01b620023df565b620041e8565b620041e767b01b02d7a8b0a1ed60c01b620023df565b5b505b620042006793fbbda3cd7202e460c01b620023df565b6200421667344b7c04098b91b760c01b620023df565b6200422c675b66ad7740fae35760c01b620023df565b6200423881866200346b565b6200427a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620042719062007091565b60405180910390fd5b62004290675aadace45521e33360c01b620023df565b620042a6677f35810285c6353c60c01b620023df565b620042b48c8c8c8c62002e24565b9350620042cc671f486a3a2a1f3c0860c01b620023df565b620042f7600860008681526020019081526020016000206000015488620033f990919063ffffffff16565b91506200430f67075543c764304fab60c01b620023df565b6200432567ce6ce88fc4a1598e60c01b620023df565b6200433b677d0e86c7ce33d4f660c01b620023df565b600082141562004382576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620043799062006eb5565b60405180910390fd5b620043986750c2bd53c8b3f1e260c01b620023df565b620043ae6728b9cf703bd950f660c01b620023df565b866008600086815260200190815260200160002060000181905550620043df672f82c89e17c153f160c01b620023df565b620043f5678e33b0f493a5625360c01b620023df565b620044018c8b62003549565b6200441767573964feb8c10ce960c01b620023df565b600760008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925062004492675ae960e149ffdaca60c01b620023df565b620044a867b30c6d7c0b6f6ab860c01b620023df565b7f0d1cb77d1fe491f98926195d0b885509da18bc305dd1489f45610237d971ed46848d8d8d8d8c604051620044e39695949392919062006cab565b60405180910390a16200450167dafdb72d466fc30f60c01b620023df565b6200451767de0355caa72dcb9160c01b620023df565b50985098509895505050505050565b6200453c6703611a9e4063d8ea60c01b620023e2565b6200455267ee1baacaa033494260c01b620023e2565b620045686751e5840de998a97760c01b620023e2565b6200457e676f82de74e2e2e03560c01b620023e2565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620045f1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620045e89062006e4f565b60405180910390fd5b620046076717cb80dba7a8a0ea60c01b620023e2565b6200461d67e2f8fabe2a63d8b660c01b620023e2565b62004633677550a657f22d30dc60c01b620023e2565b62004649673c81d7073dbe6f3060c01b620023e2565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615620046d8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620046cf906200702b565b60405180910390fd5b620046ee67bc5a1f0994a7f54e60c01b620023e2565b62004704679a7f014629c7374960c01b620023e2565b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200477167d71c83e9f3188e9d60c01b620023e2565b6200478767e4bfbd26cb5c77e660c01b620023e2565b7fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051620047ba92919062006a5e565b60405180910390a150565b6000620047dd672797d9bbee8e685760c01b62004f2f565b620047f367e25930aa3032662f60c01b62004f2f565b62004809673b804ace3fd44ea060c01b62004f2f565b600082840190506200482667e0d809daafe36a0460c01b62004f2f565b6200483c67d0d7b021c1a6823260c01b62004f2f565b620048526741f1099b5fa09b9360c01b62004f2f565b8381101562004898576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200488f9062007009565b60405180910390fd5b620048ae6728a352a27e50889560c01b62004f2f565b620048c467f55e5f024a80111c60c01b62004f2f565b620048da67d865abdcb752192460c01b62004f2f565b8091505092915050565b620048fa6795769c0422dd2f3760c01b620023df565b6200491067dd92d87d27b8031560c01b620023df565b6200492667fc7095cb44e42da760c01b620023df565b6200493c674d2f9244eb82daf860c01b620023df565b6000811162004982576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620049799062006e2d565b60405180910390fd5b6200499867cea04fa968fc503360c01b620023df565b620049ae6713ae60570dc4ced160c01b620023df565b620049c46752a28bf08a5df63560c01b620023df565b6000620049db8284620033f990919063ffffffff16565b9050620049f36763423272cdb2553660c01b620023df565b62004a096716f88c019291390f60c01b620023df565b62004a1f67be2b24391508025160c01b620023df565b6000811162004a65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162004a5c9062006fa3565b60405180910390fd5b62004a7b6742c11e45abeb8eec60c01b620023df565b62004a9167f316021b46c8f80a60c01b620023df565b62004aa767d8f0bc071782644460c01b620023df565b62004ab586868684620037e8565b62004acb671a738fed97e4b59060c01b620023df565b62004ae1672c9b480f5094a0f660c01b620023df565b62004af98662004af18762002f3f565b8685620037e8565b505050505050565b62004b1767f4de5e8e73d6ad8760c01b620023e2565b62004b2d67db1ce0981035d84760c01b620023e2565b62004b4367e97a0a25809a3f0960c01b620023e2565b60008151141562004ba15762004b6467de11b839232da49160c01b620023e2565b62004b7a67b59bd2ea0c1c89a260c01b620023e2565b62004b9067652fe2786000e62060c01b620023e2565b62004b9b3262004526565b62004c7d565b62004bb767ad5f6f13dddc2ad960c01b620023e2565b62004bcd672af46088979bcb2160c01b620023e2565b62004be36796cb81cf0bf6606d60c01b620023e2565b60008151905062004bff672f4c11881b8dca8c60c01b620023e2565b62004c1567cec4e8db5057edad60c01b620023e2565b60005b8181101562004c7a5762004c37671a5cc94c8b734dd960c01b620023e2565b62004c4d67e437d14e98e20b2f60c01b620023e2565b62004c6c83828151811062004c5e57fe5b602002602001015162004526565b808060010191505062004c18565b50505b50565b62004c96670beab42e12728d3b60c01b62002e21565b62004cac675ecbac840a5512ec60c01b62002e21565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600062004d086771b334e2e3162d2e60c01b620023e5565b62004d1e6729046581cf97a49460c01b620023e5565b62004d34674f9e67c6b1f334b360c01b620023e5565b62004d6f60025430858560405160200162004d539493929190620069d2565b6040516020818303038152906040528051906020012062005370565b905092915050565b600062004d8f6787c8246a4b35d1f160c01b62002e21565b62004da567976a1e8d41064d2460c01b62002e21565b62004dbb671867d8bf077bb31160c01b62002e21565b600062004dd367bdfeda5454a1273960c01b62002e21565b62004de9677709e048711a13c960c01b62002e21565b62004df3620053e4565b1562004eca5762004e0f67d3c6f6b0bcac9b6e60c01b62002e21565b62004e25673b2573735f5d680260c01b62002e21565b62004e3b675089eb0622c78a2260c01b62002e21565b600083600036905003905062004e5c674bc94a8e9a6ee57960c01b62002e21565b62004ec16000368390601485019262004e789392919062007179565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050620055d0565b91505062004efa565b62004ee0677e45e81af2ec2edc60c01b62002e21565b62004ef667391e31dbfdfb407e60c01b62002e21565b3390505b62004f1067c4042e2c7c2c999760c01b62002e21565b62004f2667fc44c5cccf2cd16760c01b62002e21565b80915050919050565b50565b600062004f4a677d731b0c9f0e103a60c01b62004f2f565b62004f60672e44734f88495e8b60c01b62004f2f565b62004f76670d025d40fd1bee3e60c01b62004f2f565b62004f8c67025828287ef1fd1b60c01b62004f2f565b83831115829062004fd5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162004fcc919062006e09565b60405180910390fd5b5062004fec67e9c31dd44a0bf91260c01b62004f2f565b62005002675031ed2b8fb2561960c01b62004f2f565b6200501867301f4385f3c6735c60c01b62004f2f565b82840390509392505050565b60006200503c670d75db982ec4597160c01b62005716565b620050526725c2c60ab754182560c01b62005716565b62005068673eb64a254569ed0660c01b62005716565b60006200508067fb2a2286066e15e460c01b62005716565b6200509667a440db11ec9e986d60c01b62005716565b6041835114156200532357620050b76704a5aada48e2763260c01b62005716565b620050cd674b98cf1796e5c26660c01b62005716565b620050e367d2dfec7b159385fc60c01b62005716565b6000620050fb6772c2a840621b4aa760c01b62005716565b6200511167bfd411e6ba4d07c460c01b62005716565b60006200512967145d23f82764ba9960c01b62005716565b6200513f67acdff958a9c6c5dd60c01b62005716565b600062005157673b79e3a80932a6a160c01b62005716565b6020860151925060408601519150606086015160001a905062005185679b0cdee01a57ea2f60c01b62005716565b6200519b675dbf88583373227960c01b62005716565b601b8160ff161015620051e057620051be670dc9a1836eb51c3260c01b62005716565b620051d4677097d8456a6c3e1560c01b62005716565b601b81019050620051f7565b620051f66708b39c61216869e760c01b62005716565b5b6200520d672ea4d6db7d2138c560c01b62005716565b62005223679ad3f461195a5eee60c01b62005716565b601b8160ff161480156200524957506200524867a24e972b59dc7d0560c01b62005719565b5b80620052775750601c8160ff161480156200527657506200527567934bee4849491d9560c01b62005719565b5b5b15620053035762005293676d6a491fc6e072fa60c01b62005716565b620052a967aecd1690d1de9f1c60c01b62005716565b60018782858560405160008152602001604052604051620052ce949392919062006d82565b6020604051602081039080840390855afa158015620052f1573d6000803e3d6000fd5b5050506020604051035193506200531a565b6200531967513fbc3b3a0ad1c060c01b62005716565b5b5050506200533a565b620053396723d6d78de386c96660c01b62005716565b5b620053506707d0c4f11e72cfc960c01b62005716565b6200536667b9689b22f403636c60c01b62005716565b8091505092915050565b60006200538867f3d1beb9fba5b7be60c01b62005716565b6200539e676cd81a1865d6353260c01b62005716565b620053b4676810828c21da671e60c01b62005716565b81604051602001620053c79190620069a8565b604051602081830303815290604052805190602001209050919050565b6000620053fc6714ec9ba31585b6f760c01b62002e21565b620054126764d00f8ee4cbc0f460c01b62002e21565b620054286728aef4b71ffef7e260c01b62002e21565b600062005440677b6cf6392b8d09d960c01b62002e21565b6200545667da655f124163f4bc60c01b62002e21565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156200558657620054c3678c4556fd14dc507160c01b62002e21565b620054d9674811af4455ee520960c01b62002e21565b620054ef67ae36e4b52033411860c01b62002e21565b6200550567ffe63a27679b309260c01b62002e21565b602c6000369050101562005550576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620055479062006ed7565b60405180910390fd5b6200556667d1762b0b1ca636f360c01b62002e21565b6200557c6769c465f7e405b9f660c01b62002e21565b600190506200559d565b6200559c6710f40798097af22060c01b62002e21565b5b620055b3671855328cbdf7411660c01b62002e21565b620055c9670e4f1457e534f9ac60c01b62002e21565b8091505090565b6000620055e8670df8d76b8cabf76a60c01b62005724565b620055fe67e180fcce9e2bf4c560c01b62005724565b62005614670dcb70abe8e8bb0b60c01b62005724565b60006200562c67c9f13cc22eb780e060c01b62005724565b6200564267c60f8d891ff21de960c01b62005724565b620056586782bb9e679e55c73460c01b62005724565b60148351146200569f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162005696906200706f565b60405180910390fd5b620056b5679ea304b1b6348ade60c01b62005724565b620056cb67a0049b4768bf518260c01b62005724565b6c010000000000000000000000006020840151049050620056f7671f4dc55703cfba1860c01b62005724565b6200570d67afb63a07e82275e260c01b62005724565b80915050919050565b50565b600060019050919050565b50565b6108b8806200748083390190565b6000813590506200574681620073c9565b92915050565b60008083601f8401126200575f57600080fd5b8235905067ffffffffffffffff8111156200577957600080fd5b6020830191508360208202830111156200579257600080fd5b9250929050565b600081519050620057aa81620073e3565b92915050565b600081359050620057c181620073fd565b92915050565b600081359050620057d88162007417565b92915050565b60008083601f840112620057f157600080fd5b8235905067ffffffffffffffff8111156200580b57600080fd5b6020830191508360018202830111156200582457600080fd5b9250929050565b600082601f8301126200583d57600080fd5b8151620058546200584e82620070fe565b620070d0565b915080825260208301602083018583830111156200587157600080fd5b6200587e8382846200732f565b50505092915050565b600081359050620058988162007431565b92915050565b600081359050620058af816200744b565b92915050565b600060608284031215620058c857600080fd5b620058d46060620070d0565b90506000620058e68482850162005735565b6000830152506020620058fc8482850162005735565b60208301525060406200591284828501620059c9565b60408301525092915050565b600060c082840312156200593157600080fd5b6200593d60c0620070d0565b905060006200594f8482850162005735565b6000830152506020620059658482850162005735565b60208301525060406200597b8482850162005735565b60408301525060606200599184828501620057b0565b6060830152506080620059a784828501620059c9565b60808301525060a0620059bd84828501620059c9565b60a08301525092915050565b600081359050620059da8162007465565b92915050565b600081519050620059f18162007465565b92915050565b60006020828403121562005a0a57600080fd5b600062005a1a8482850162005735565b91505092915050565b6000806040838503121562005a3757600080fd5b600062005a478582860162005735565b925050602062005a5a8582860162005735565b9150509250929050565b6000806000806080858703121562005a7b57600080fd5b600062005a8b8782880162005735565b945050602062005a9e8782880162005735565b935050604062005ab18782880162005735565b925050606062005ac487828801620057b0565b91505092959194509250565b600080600080600080600080600060e08a8c03121562005aef57600080fd5b600062005aff8c828d0162005735565b995050602062005b128c828d0162005735565b985050604062005b258c828d01620057b0565b975050606062005b388c828d01620059c9565b965050608062005b4b8c828d01620059c9565b95505060a08a013567ffffffffffffffff81111562005b6957600080fd5b62005b778c828d01620057de565b945094505060c08a013567ffffffffffffffff81111562005b9757600080fd5b62005ba58c828d01620057de565b92509250509295985092959850929598565b6000806000806000806000806000806101008b8d03121562005bd857600080fd5b600062005be88d828e0162005735565b9a5050602062005bfb8d828e0162005735565b995050604062005c0e8d828e01620057b0565b985050606062005c218d828e01620059c9565b975050608062005c348d828e01620059c9565b96505060a062005c478d828e01620059c9565b95505060c08b013567ffffffffffffffff81111562005c6557600080fd5b62005c738d828e01620057de565b945094505060e08b013567ffffffffffffffff81111562005c9357600080fd5b62005ca18d828e01620057de565b92509250509295989b9194979a5092959850565b6000806000806060858703121562005ccc57600080fd5b600062005cdc8782880162005735565b945050602062005cef87828801620059c9565b935050604085013567ffffffffffffffff81111562005d0d57600080fd5b62005d1b87828801620057de565b925092505092959194509250565b60006020828403121562005d3c57600080fd5b600062005d4c8482850162005799565b91505092915050565b60006020828403121562005d6857600080fd5b600062005d7884828501620057b0565b91505092915050565b60008060006040848603121562005d9757600080fd5b600062005da786828701620057b0565b935050602084013567ffffffffffffffff81111562005dc557600080fd5b62005dd386828701620057de565b92509250509250925092565b60006020828403121562005df257600080fd5b600062005e0284828501620057c7565b91505092915050565b60006020828403121562005e1e57600080fd5b600082015167ffffffffffffffff81111562005e3957600080fd5b62005e47848285016200582b565b91505092915050565b60008060008060008060a0878903121562005e6a57600080fd5b600062005e7a89828a0162005887565b965050602062005e8d89828a016200589e565b955050604062005ea089828a01620059c9565b945050606087013567ffffffffffffffff81111562005ebe57600080fd5b62005ecc89828a016200574c565b9350935050608062005ee189828a0162005735565b9150509295509295509295565b60006060828403121562005f0157600080fd5b600062005f1184828501620058b5565b91505092915050565b600060c0828403121562005f2d57600080fd5b600062005f3d848285016200591e565b91505092915050565b60006020828403121562005f5957600080fd5b600062005f6984828501620059e0565b91505092915050565b62005f7d816200728f565b82525050565b62005f8e81620071ae565b82525050565b62005fa962005fa382620071ae565b62007365565b82525050565b62005fba81620071c2565b82525050565b62005fd562005fcf82620071ce565b62007379565b82525050565b62005fe681620071fa565b82525050565b6200600162005ffb82620071fa565b62007383565b82525050565b600062006014826200712b565b62006020818562007141565b9350620060328185602086016200732f565b6200603d81620073ab565b840191505092915050565b600062006055826200712b565b62006061818562007152565b9350620060738185602086016200732f565b80840191505092915050565b6200608a81620072a3565b82525050565b6200609b81620072cb565b82525050565b620060ac81620072f3565b82525050565b6000620060bf8262007136565b620060cb81856200715d565b9350620060dd8185602086016200732f565b620060e881620073ab565b840191505092915050565b6000620061026026836200715d565b91507f5061796d656e7452656769737472793a20696e76616c6964206465706f73697460008301527f2076616c756500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006200616a601c836200716e565b91507f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000830152601c82019050919050565b6000620061ac6020836200715d565b91507f477561726465643a2063616e6e6f74206164642030783020677561726469616e6000830152602082019050919050565b6000620061ee602f836200715d565b91507f496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742060008301527f74686520696e697469616c697a657200000000000000000000000000000000006020830152604082019050919050565b600062006256602f836200715d565b91507f5061796d656e7452656769737472793a206465706f736974206578697420616c60008301527f72656164792072657175657374656400000000000000000000000000000000006020830152604082019050919050565b6000620062be6026836200715d565b91507f5061796d656e7452656769737472793a20696e76616c6964207061796d656e7460008301527f2076616c756500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000620063266022836200715d565b91507f47617465776179526563697069656e743a20696e76616c6964206d73672e646160008301527f74610000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006200638e602b836200715d565b91507f5061796d656e7452656769737472793a206465706f7369742065786974206e6f60008301527f74207265717565737465640000000000000000000000000000000000000000006020830152604082019050919050565b6000620063f6602d836200715d565b91507f5061796d656e7452656769737472793a204552433230546f6b656e207472616e60008301527f73666572207265766572746564000000000000000000000000000000000000006020830152604082019050919050565b60006200645e6026836200715d565b91507f477561726465643a2074782e6f726967696e206973206e6f742074686520677560008301527f61726469616e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000620064c6601f836200715d565b91507f5061796d656e7452656769737472793a20696e76616c696420616d6f756e74006000830152602082019050919050565b6000620065086024836200715d565b91507f5061796d656e7452656769737472793a206465706f7369742065786974206c6f60008301527f636b6564000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000620065706027836200715d565b91507f5061796d656e7452656769737472793a20696e76616c6964207769746864726160008301527f772076616c7565000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000620065d86029836200715d565b91507f5061796d656e7452656769737472793a20696e76616c69642073656e6465722060008301527f7369676e617475726500000000000000000000000000000000000000000000006020830152604082019050919050565b600062006640601f836200715d565b91507f477561726465643a20677561726469616e20646f65736e2774206578697374006000830152602082019050919050565b600062006682601e836200715d565b91507f536166654d6174684c69623a206164646974696f6e206f766572666c6f7700006000830152602082019050919050565b6000620066c46020836200715d565b91507f477561726465643a20677561726469616e20616c7265616479206578697374736000830152602082019050919050565b600062006706601b836200715d565b91507f477561726465643a2063616e6e6f742072656d6f76652073656c6600000000006000830152602082019050919050565b600062006748601d836200715d565b91507f42797465734c69623a20696e76616c69642064617461206c656e6774680000006000830152602082019050919050565b60006200678a602b836200715d565b91507f5061796d656e7452656769737472793a20696e76616c6964206775617264696160008301527f6e207369676e61747572650000000000000000000000000000000000000000006020830152604082019050919050565b620067ee8162007278565b82525050565b62006809620068038262007278565b620073a1565b82525050565b6200681a8162007282565b82525050565b60006200682e828462005f94565b60148201915081905092915050565b60006200684b828762005f94565b6014820191506200685d828662005f94565b6014820191506200686f828562005f94565b60148201915062006881828462005fec565b60208201915081905095945050505050565b6000620068a1828962005f94565b601482019150620068b3828862005f94565b601482019150620068c5828762005f94565b601482019150620068d7828662005fec565b602082019150620068e98285620067f4565b602082019150620068fb8284620067f4565b602082019150819050979650505050505050565b60006200691d828662005f94565b6014820191506200692f828562005f94565b601482019150620069418284620067f4565b602082019150819050949350505050565b600062006960828762005fc0565b60018201915062006972828662005f94565b60148201915062006984828562005fec565b60208201915062006996828462005fec565b60208201915081905095945050505050565b6000620069b5826200615b565b9150620069c3828462005fec565b60208201915081905092915050565b6000620069e08287620067f4565b602082019150620069f2828662005f94565b60148201915062006a04828562005fec565b60208201915062006a16828462006048565b915081905095945050505050565b600060208201905062006a3b600083018462005f83565b92915050565b600060208201905062006a58600083018462005f72565b92915050565b600060408201905062006a75600083018562005f72565b62006a84602083018462005f83565b9392505050565b600060408201905062006aa2600083018562005f83565b62006ab1602083018462005f83565b9392505050565b600060608201905062006acf600083018662005f83565b62006ade602083018562005f83565b62006aed604083018462005f83565b949350505050565b600060808201905062006b0c600083018762005f83565b62006b1b602083018662005f83565b62006b2a604083018562005f83565b62006b396060830184620067e3565b95945050505050565b600060608201905062006b59600083018662005f83565b62006b68602083018562005f83565b62006b776040830184620067e3565b949350505050565b600060608201905062006b96600083018662005f83565b62006ba5602083018562005fdb565b62006bb46040830184620067e3565b949350505050565b600060608201905062006bd3600083018662005f83565b62006be26020830185620060a1565b818103604083015262006bf6818462006007565b9050949350505050565b600060408201905062006c17600083018562005f83565b62006c266020830184620067e3565b9392505050565b600060608201905062006c44600083018662005f83565b62006c536020830185620067e3565b818103604083015262006c67818462006007565b9050949350505050565b600060208201905062006c88600083018462005faf565b92915050565b600060208201905062006ca5600083018462005fdb565b92915050565b600060c08201905062006cc2600083018962005fdb565b62006cd1602083018862005f83565b62006ce0604083018762005f83565b62006cef606083018662005f83565b62006cfe608083018562005fdb565b62006d0d60a0830184620067e3565b979650505050505050565b600060408201905062006d2f600083018562005fdb565b62006d3e6020830184620067e3565b9392505050565b600060608201905062006d5c600083018662005fdb565b62006d6b6020830185620067e3565b62006d7a6040830184620067e3565b949350505050565b600060808201905062006d99600083018762005fdb565b62006da860208301866200680f565b62006db7604083018562005fdb565b62006dc6606083018462005fdb565b95945050505050565b600060208201905062006de660008301846200607f565b92915050565b600060208201905062006e03600083018462006090565b92915050565b6000602082019050818103600083015262006e258184620060b2565b905092915050565b6000602082019050818103600083015262006e4881620060f3565b9050919050565b6000602082019050818103600083015262006e6a816200619d565b9050919050565b6000602082019050818103600083015262006e8c81620061df565b9050919050565b6000602082019050818103600083015262006eae8162006247565b9050919050565b6000602082019050818103600083015262006ed081620062af565b9050919050565b6000602082019050818103600083015262006ef28162006317565b9050919050565b6000602082019050818103600083015262006f14816200637f565b9050919050565b6000602082019050818103600083015262006f3681620063e7565b9050919050565b6000602082019050818103600083015262006f58816200644f565b9050919050565b6000602082019050818103600083015262006f7a81620064b7565b9050919050565b6000602082019050818103600083015262006f9c81620064f9565b9050919050565b6000602082019050818103600083015262006fbe8162006561565b9050919050565b6000602082019050818103600083015262006fe081620065c9565b9050919050565b60006020820190508181036000830152620070028162006631565b9050919050565b60006020820190508181036000830152620070248162006673565b9050919050565b600060208201905081810360008301526200704681620066b5565b9050919050565b600060208201905081810360008301526200706881620066f7565b9050919050565b600060208201905081810360008301526200708a8162006739565b9050919050565b60006020820190508181036000830152620070ac816200677b565b9050919050565b6000602082019050620070ca6000830184620067e3565b92915050565b6000604051905081810181811067ffffffffffffffff82111715620070f457600080fd5b8060405250919050565b600067ffffffffffffffff8211156200711657600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600080858511156200718a57600080fd5b838611156200719857600080fd5b6001850283019150848603905094509492505050565b6000620071bb8262007258565b9050919050565b60008115159050919050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b60006200723d82620071ae565b9050919050565b60006200725182620071ae565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006200729c8262007307565b9050919050565b6000620072b082620072b7565b9050919050565b6000620072c48262007258565b9050919050565b6000620072d882620072df565b9050919050565b6000620072ec8262007258565b9050919050565b6000620073008262007278565b9050919050565b600062007314826200731b565b9050919050565b6000620073288262007258565b9050919050565b60005b838110156200734f57808201518184015260208101905062007332565b838111156200735f576000848401525b50505050565b600062007372826200738d565b9050919050565b6000819050919050565b6000819050919050565b60006200739a82620073bc565b9050919050565b6000819050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b620073d481620071ae565b8114620073e057600080fd5b50565b620073ee81620071c2565b8114620073fa57600080fd5b50565b6200740881620071fa565b81146200741457600080fd5b50565b620074228162007204565b81146200742e57600080fd5b50565b6200743c8162007230565b81146200744857600080fd5b50565b620074568162007244565b81146200746257600080fd5b50565b620074708162007278565b81146200747c57600080fd5b5056fe608060405261001e674c05ed6aa1cd281960c01b61009760201b60201c565b610038675db0dfd7018850c360c01b61009760201b60201c565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610092679098f39fea0730f660c01b61009a60201b60201c565b61009d565b50565b50565b61080c806100ac6000396000f3fe60806040526004361061007f5760003560e01c8063bd04d1391161004e578063bd04d139146102f8578063c478196d14610364578063d1c43eae146103ba578063f77c47911461041057610086565b806326bebb521461008b5780633f579f42146100f7578063550648ff1461022057806356c2fc6c1461028c57610086565b3661008657005b600080fd5b34801561009757600080fd5b506100df600480360360208110156100ae57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610451565b60405180821515815260200191505060405180910390f35b34801561010357600080fd5b506101a56004803603606081101561011a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561016157600080fd5b82018360208201111561017357600080fd5b8035906020019184600183028401116401000000008311171561019557600080fd5b9091929391929390505050610458565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e55780820151818401526020810190506101ca565b50505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022c57600080fd5b506102746004803603602081101561024357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061078c565b60405180821515815260200191505060405180910390f35b34801561029857600080fd5b506102e0600480360360208110156102af57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610793565b60405180821515815260200191505060405180910390f35b34801561030457600080fd5b5061034c6004803603602081101561031b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061079e565b60405180821515815260200191505060405180910390f35b34801561037057600080fd5b506103b86004803603602081101561038757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107a9565b005b3480156103c657600080fd5b5061040e600480360360208110156103dd57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107ac565b005b34801561041c57600080fd5b506104256107af565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000919050565b606061046e6730a6ad52e198db9760c01b6107a9565b61048267f6266a592c249da560c01b6107ac565b6104966728279893f8537e1960c01b6107ac565b6104aa67d300d0a9ecbe6cac60c01b6107ac565b6104be678d5c0caa285e3ec560c01b6107ac565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610562576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806107d4602c913960400191505060405180910390fd5b6105766718b2e4dd03bc759a60c01b6107ac565b61058a67f8b65e28b897a44f60c01b6107ac565b61059e67a0e46df01f8c97cb60c01b6107a9565b6105b267aa5eebb2652f143c60c01b6107a9565b6105c6676d9ffa8149f3dea060c01b6107a9565b6105da678cb9bb07d4779f7e60c01b6107a9565b60606105f067f5ddfa157613111160c01b6107a9565b610604676c82c2c1207b3b7760c01b6107a9565b600061061a673ff4b340667b124160c01b6107a9565b8673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d8060008114610686576040519150601f19603f3d011682016040523d82523d6000602084013e61068b565b606091505b5080935081925050506106a86756fbd48014b71d8b60c01b6107a9565b6106bc67e31d8723036de13060c01b6107a9565b6106d067d6b834fbc1dbf84c60c01b6107a9565b80610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b61075767836ca2ae34585e2360c01b6107a9565b61076b67fc0747958022859a60c01b6107a9565b61077f67127f08829e3f368c60c01b6107a9565b8192505050949350505050565b6000919050565b600060019050919050565b600060019050919050565b50565b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a536166654d6174684c69623a207375627472616374696f6e206f766572666c6f77a164736f6c634300060c000a"; type PaymentRegistryConstructorParams = | [signer?: Signer] diff --git a/typings/factories/PersonalAccountImplementationV1__factory.ts b/typings/factories/PersonalAccountImplementationV1__factory.ts index 137484ba..afec1433 100644 --- a/typings/factories/PersonalAccountImplementationV1__factory.ts +++ b/typings/factories/PersonalAccountImplementationV1__factory.ts @@ -27,6 +27,210 @@ const _abi = [ name: "Initialized", type: "event", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_098c0657", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__28344ffb", + type: "bytes8", + }, + ], + name: "c_28344ffb", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__2860b96a", + type: "bytes8", + }, + ], + name: "c_2860b96a", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__4467154e", + type: "bytes8", + }, + ], + name: "c_4467154e", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_false098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__28344ffb", + type: "bytes8", + }, + ], + name: "c_false28344ffb", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__2860b96a", + type: "bytes8", + }, + ], + name: "c_false2860b96a", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__4467154e", + type: "bytes8", + }, + ], + name: "c_false4467154e", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_true098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__28344ffb", + type: "bytes8", + }, + ], + name: "c_true28344ffb", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__2860b96a", + type: "bytes8", + }, + ], + name: "c_true2860b96a", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__4467154e", + type: "bytes8", + }, + ], + name: "c_true4467154e", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { @@ -252,7 +456,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610caa806100606000396000f3fe608060405234801561001057600080fd5b50600436106100925760003560e01c8063249cb3fa11610066578063249cb3fa1461047c578063392e53cd146104de5780637b103999146104fe578063c4d66de814610532578063f23a6e611461057657610092565b806223de2914610097578063150b7a02146101cf5780631626ba7e146102c557806320c13b0b1461037b575b600080fd5b6101cd600480360360c08110156100ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561013457600080fd5b82018360208201111561014657600080fd5b8035906020019184600183028401116401000000008311171561016857600080fd5b90919293919293908035906020019064010000000081111561018957600080fd5b82018360208201111561019b57600080fd5b803590602001918460018302840111640100000000831117156101bd57600080fd5b9091929391929390505050610676565b005b610290600480360360808110156101e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561024c57600080fd5b82018360208201111561025e57600080fd5b8035906020019184600183028401116401000000008311171561028057600080fd5b9091929391929390505050610680565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b610346600480360360408110156102db57600080fd5b81019080803590602001909291908035906020019064010000000081111561030257600080fd5b82018360208201111561031457600080fd5b8035906020019184600183028401116401000000008311171561033657600080fd5b9091929391929390505050610695565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6104476004803603604081101561039157600080fd5b81019080803590602001906401000000008111156103ae57600080fd5b8201836020820111156103c057600080fd5b803590602001918460018302840111640100000000831117156103e257600080fd5b90919293919293908035906020019064010000000081111561040357600080fd5b82018360208201111561041557600080fd5b8035906020019184600183028401116401000000008311171561043757600080fd5b90919293919293905050506107f9565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6104c86004803603604081101561049257600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098a565b6040518082815260200191505060405180910390f35b6104e6610a66565b60405180821515815260200191505060405180910390f35b610506610abc565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105746004803603602081101561054857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ae2565b005b610641600480360360a081101561058c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001906401000000008111156105fd57600080fd5b82018360208201111561060f57600080fd5b8035906020019184600183028401116401000000008311171561063157600080fd5b9091929391929390505050610c58565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b5050505050505050565b600063150b7a0260e01b905095945050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1e382ce308686866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509550505050505060206040518083038186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d602081101561078657600080fd5b81019080805190602001909291905050506107a85763ffffffff60e01b6107f0565b60405160200180807f697356616c69645369676e617475726528627974657333322c62797465732900815250601f019050604051602081830303815290604052805190602001205b90509392505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663124e9eb330878787876040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f82011690508083019250505097505050505050505060206040518083038186803b1580156108ec57600080fd5b505afa158015610900573d6000803e3d6000fd5b505050506040513d602081101561091657600080fd5b81019080805190602001909291905050506109385763ffffffff60e01b610980565b60405160200180807f697356616c69645369676e61747572652862797465732c627974657329000000815250601d019050604051602081830303815290604052805190602001205b9050949350505050565b60008060405160200180807f455243373737546f6b656e73526563697069656e74000000000000000000000081525060150190506040516020818303038152906040528051906020012084148015610a0d57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610a5c5760405160200180807f455243313832305f4143434550545f4d4147494300000000000000000000000081525060140190506040516020818303038152906040528051906020012090505b8091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610b86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180610c6f602f913960400191505060405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600063f23a6e6160e01b9050969550505050505056fe496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a6572a164736f6c634300060c000a"; + "0x608060405234801561001057600080fd5b5061002b67bcc9be562f8a4b0a60c01b6100be60201b60201c565b61004567579ae7209daca85260c01b6100be60201b60201c565b326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061009f6729f26e2a831f76bd60c01b6100c160201b60201c565b6100b9676ec03405cf524b4d60c01b6100c460201b60201c565b6100c7565b50565b50565b50565b61153f806100d66000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637b103999116100b8578063b8919b571161007c578063b8919b571461088c578063c4543305146108eb578063c4d66de81461094a578063d77d07021461098e578063d84fa10c146109d7578063f23a6e6114610a3657610136565b80637b103999146107085780638116df491461073c57806387bfe79d1461079b578063a42ea708146107fa578063b851f6f91461084357610136565b8063221523e5116100ff578063221523e51461057f578063249cb3fa146105de578063392e53cd146106405780633e260b131461066057806344f9c9ec146106a957610136565b806223de291461013b5780630effa61f14610273578063150b7a02146102d25780631626ba7e146103c857806320c13b0b1461047e575b600080fd5b610271600480360360c081101561015157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156101d857600080fd5b8201836020820111156101ea57600080fd5b8035906020019184600183028401116401000000008311171561020c57600080fd5b90919293919293908035906020019064010000000081111561022d57600080fd5b82018360208201111561023f57600080fd5b8035906020019184600183028401116401000000008311171561026157600080fd5b9091929391929390505050610b36565b005b6102ba6004803603602081101561028957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b54565b60405180821515815260200191505060405180910390f35b610393600480360360808110156102e857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561034f57600080fd5b82018360208201111561036157600080fd5b8035906020019184600183028401116401000000008311171561038357600080fd5b9091929391929390505050610b5f565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b610449600480360360408110156103de57600080fd5b81019080803590602001909291908035906020019064010000000081111561040557600080fd5b82018360208201111561041757600080fd5b8035906020019184600183028401116401000000008311171561043957600080fd5b9091929391929390505050610bb0565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b61054a6004803603604081101561049457600080fd5b81019080803590602001906401000000008111156104b157600080fd5b8201836020820111156104c357600080fd5b803590602001918460018302840111640100000000831117156104e557600080fd5b90919293919293908035906020019064010000000081111561050657600080fd5b82018360208201111561051857600080fd5b8035906020019184600183028401116401000000008311171561053a57600080fd5b9091929391929390505050610d87565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b6105c66004803603602081101561059557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610f8b565b60405180821515815260200191505060405180910390f35b61062a600480360360408110156105f457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f92565b6040518082815260200191505060405180910390f35b61064861113c565b60405180821515815260200191505060405180910390f35b6106a76004803603602081101561067657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506111cf565b005b6106f0600480360360208110156106bf57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506111d2565b60405180821515815260200191505060405180910390f35b6107106111dd565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107836004803603602081101561075257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611203565b60405180821515815260200191505060405180910390f35b6107e2600480360360208110156107b157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061120e565b60405180821515815260200191505060405180910390f35b6108416004803603602081101561081057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611215565b005b61088a6004803603602081101561085957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611218565b005b6108d3600480360360208110156108a257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061121b565b60405180821515815260200191505060405180910390f35b6109326004803603602081101561090157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611222565b60405180821515815260200191505060405180910390f35b61098c6004803603602081101561096057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061122d565b005b6109d5600480360360208110156109a457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506114a7565b005b610a1e600480360360208110156109ed57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506114aa565b60405180821515815260200191505060405180910390f35b610b01600480360360a0811015610a4c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190640100000000811115610abd57600080fd5b820183602082011115610acf57600080fd5b80359060200191846001830284011164010000000083111715610af157600080fd5b90919293919293905050506114b1565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b610b4a67ce47c0f946eadb1860c01b611218565b5050505050505050565b600060019050919050565b6000610b7567b827fecf1e33001460c01b611218565b610b8967b3558d27713bcbc360c01b611218565b610b9d67ca5809ab03b36cc360c01b611218565b63150b7a0260e01b905095945050505050565b6000610bc667d15cb231db01bd9560c01b611218565b610bda67cf444c026e53d2b560c01b611218565b610bee67feb865187e703ce360c01b611218565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1e382ce308686866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509550505050505060206040518083038186803b158015610cb357600080fd5b505afa158015610cc7573d6000803e3d6000fd5b505050506040513d6020811015610cdd57600080fd5b81019080805190602001909291905050508015610d0a5750610d0967dcb61cbea4e09a8a60c01b610b54565b5b80610d255750610d2467597b2a0b23f7987b60c01b61121b565b5b610d365763ffffffff60e01b610d7e565b60405160200180807f697356616c69645369676e617475726528627974657333322c62797465732900815250601f019050604051602081830303815290604052805190602001205b90509392505050565b6000610d9d679d53a108f4152ee460c01b611218565b610db1678f46380630213e2760c01b611218565b610dc5670444693b6dda2f5360c01b611218565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663124e9eb330878787876040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f82011690508083019250505097505050505050505060206040518083038186803b158015610eb657600080fd5b505afa158015610eca573d6000803e3d6000fd5b505050506040513d6020811015610ee057600080fd5b81019080805190602001909291905050508015610f0d5750610f0c67597e334f5a972f1e60c01b610b54565b5b80610f285750610f2767624be475bd07a4c360c01b61121b565b5b610f395763ffffffff60e01b610f81565b60405160200180807f697356616c69645369676e61747572652862797465732c627974657329000000815250601d019050604051602081830303815290604052805190602001205b9050949350505050565b6000919050565b6000610fa8674fa492bc3d866f9660c01b611218565b610fbc67f11658511bdad90960c01b611218565b610fd067aea7b4d1358b312860c01b611218565b6000610fe667c7d74f3aaa7aa17a60c01b611218565b610ffa670b029f119a0e101260c01b611218565b60405160200180807f455243373737546f6b656e73526563697069656e7400000000000000000000008152506015019050604051602081830303815290604052805190602001208414801561107a57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156110f55761109367159f49977ceb711e60c01b611218565b6110a767a1697c883c2b4d5f60c01b611218565b60405160200180807f455243313832305f4143434550545f4d41474943000000000000000000000000815250601401905060405160208183030381529060405280519060200120905061110a565b6111096740bc089d08a45f7660c01b611218565b5b61111e675edb1ebe087f56d760c01b611218565b61113267b6341297d7ddf48460c01b611218565b8091505092915050565b600061115267e29fe2f351ca6b2760c01b6111cf565b611166676f5dd3f08b97747760c01b6111cf565b61117a673a9488d62818322a60c01b6111cf565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b600060019050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b6000919050565b50565b50565b6000919050565b600060019050919050565b611241678fa2e2799025577f60c01b611218565b61125567d2ba19feb39e0b7f60c01b6111cf565b611269670c5ad53cdb9edd1560c01b6111cf565b61127d67b6b588d2ebb9ae6960c01b6111cf565b61129167c4ec9a90a885875260c01b6111cf565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180611504602f913960400191505060405180910390fd5b61134967c3785ba1534db95460c01b6111cf565b61135d67e4202927591248ef60c01b6111cf565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506113b267531cfa2817fbdc8660c01b6111cf565b6113c6670fe7483554c7d7f060c01b611218565b6113da671ba251afbdd08eb960c01b611218565b6113ee67e4b4698cdfd724ee60c01b611218565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506114436701520f419008b58e60c01b6111cf565b6114576775364c04848b013b60c01b6111cf565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b50565b6000919050565b60006114c76773b65ea4d003e8c060c01b611218565b6114db67efee7b06625db93660c01b611218565b6114ef6733114e923245121260c01b611218565b63f23a6e6160e01b9050969550505050505056fe496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a6572a164736f6c634300060c000a"; type PersonalAccountImplementationV1ConstructorParams = | [signer?: Signer] diff --git a/typings/factories/PersonalAccountRegistry__factory.ts b/typings/factories/PersonalAccountRegistry__factory.ts index 709c0a69..c74aa37f 100644 --- a/typings/factories/PersonalAccountRegistry__factory.ts +++ b/typings/factories/PersonalAccountRegistry__factory.ts @@ -292,6 +292,312 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_098c0657", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__0b6945c4", + type: "bytes8", + }, + ], + name: "c_0b6945c4", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__279b00a1", + type: "bytes8", + }, + ], + name: "c_279b00a1", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9649d652", + type: "bytes8", + }, + ], + name: "c_9649d652", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__bf6efb80", + type: "bytes8", + }, + ], + name: "c_bf6efb80", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d18be0f9", + type: "bytes8", + }, + ], + name: "c_d18be0f9", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_false098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__0b6945c4", + type: "bytes8", + }, + ], + name: "c_false0b6945c4", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__279b00a1", + type: "bytes8", + }, + ], + name: "c_false279b00a1", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9649d652", + type: "bytes8", + }, + ], + name: "c_false9649d652", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__bf6efb80", + type: "bytes8", + }, + ], + name: "c_falsebf6efb80", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d18be0f9", + type: "bytes8", + }, + ], + name: "c_falsed18be0f9", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_true098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__0b6945c4", + type: "bytes8", + }, + ], + name: "c_true0b6945c4", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__279b00a1", + type: "bytes8", + }, + ], + name: "c_true279b00a1", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9649d652", + type: "bytes8", + }, + ], + name: "c_true9649d652", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__bf6efb80", + type: "bytes8", + }, + ], + name: "c_truebf6efb80", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d18be0f9", + type: "bytes8", + }, + ], + name: "c_trued18be0f9", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { @@ -657,7 +963,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b5032600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506144d1806100616000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806390482d72116100b8578063d0f710d61161007c578063d0f710d61461075e578063da9fc1ae146107f7578063db63f5821461083b578063e1e382ce1461089f578063e5c7278f14610958578063f4876c7414610a1b57610142565b806390482d7214610545578063a526d83b146105fe578063bb890d3f14610642578063cade6a5d146106bc578063d089e11a1461072a57610142565b80631a8414031161010a5780631a841403146103515780633164b5e1146103bf57806334d323a414610419578063392e53cd1461049d57806343013c24146104bd578063714041561461050157610142565b80630900f010146101475780630c68ba211461018b57806311464fbe146101e5578063116191b614610219578063124e9eb31461024d575b600080fd5b6101896004803603602081101561015d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a7f565b005b6101cd600480360360208110156101a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b2e565b60405180821515815260200191505060405180910390f35b6101ed610b83565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610221610ba9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103396004803603606081101561026357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156102a057600080fd5b8201836020820111156102b257600080fd5b803590602001918460018302840111640100000000831117156102d457600080fd5b9091929391929390803590602001906401000000008111156102f557600080fd5b82018360208201111561030757600080fd5b8035906020019184600183028401116401000000008311171561032957600080fd5b9091929391929390505050610bcf565b60405180821515815260200191505060405180910390f35b6103bd6004803603606081101561036757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c88565b005b610401600480360360208110156103d557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ef3565b60405180821515815260200191505060405180910390f35b6104856004803603606081101561042f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f4c565b60405180821515815260200191505060405180910390f35b6104a561103a565b60405180821515815260200191505060405180910390f35b6104ff600480360360208110156104d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611092565b005b6105436004803603602081101561051757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110aa565b005b6105fc6004803603606081101561055b57600080fd5b810190808035906020019064010000000081111561057857600080fd5b82018360208201111561058a57600080fd5b803590602001918460208302840111640100000000831117156105ac57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611370565b005b6106406004803603602081101561061457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611508565b005b6106a46004803603604081101561065857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115b5565b60405180821515815260200191505060405180910390f35b6106fe600480360360208110156106d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115c9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107326115db565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107df6004803603604081101561077457600080fd5b81019080803590602001909291908035906020019064010000000081111561079b57600080fd5b8201836020820111156107ad57600080fd5b803590602001918460018302840111640100000000831117156107cf57600080fd5b9091929391929390505050611601565b60405180821515815260200191505060405180910390f35b6108396004803603602081101561080d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061165a565b005b61089d6004803603604081101561085157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611670565b005b610940600480360360608110156108b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156108fc57600080fd5b82018360208201111561090e57600080fd5b8035906020019184600183028401116401000000008311171561093057600080fd5b9091929391929390505050611905565b60405180821515815260200191505060405180910390f35b610a196004803603608081101561096e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109d557600080fd5b8201836020820111156109e757600080fd5b80359060200191846001830284011164010000000083111715610a0957600080fd5b9091929391929390505050611971565b005b610a7d60048036036040811015610a3157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119de565b005b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806143e46026913960400191505060405180910390fd5b610b2b816001611d0d565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610c7d86610c7885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610c6a89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611e4e565b611fb790919063ffffffff16565b612087565b905095945050505050565b610c918361223e565b50610c9b83612685565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d2f57610d29833283600067ffffffffffffffff81118015610cee57600080fd5b506040519080825280601f01601f191660200182016040528015610d215781602001600182028036833780820191505090505b506000612786565b50610e5d565b6060610dd38484600063a9059cbb60e01b3287604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506000612786565b9050600081511115610e5b57808060200190516020811015610df457600080fd5b8101908080519060200190929190505050610e5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603581526020018061440a6035913960400191505060405180910390fd5b5b505b7feb5511fbef89123439f12682f0e9d0fc9696913b26eee55434c77d62c30aa7ca83328484604051808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390a1505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff169050919050565b60008060009050610f5d8585612087565b15610f6b576001905061102f565b61102c83600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff16151515158152602001600182015481525050612c5490919063ffffffff16565b90505b809150509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b61109b8161223e565b506110a7816001612ca3565b50565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661114b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806143e46026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614156111ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f477561726465643a2063616e6e6f742072656d6f76652073656c66000000000081525060200191505060405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166112ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f477561726465643a20677561726469616e20646f65736e27742065786973740081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b3282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611416576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180614318602f913960400191505060405180910390fd5b6000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506114a2848480806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050612f05565b6114ac3083612f5d565b6114b581612f77565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150505050565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166115a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806143e46026913960400191505060405180910390fd5b6115b281612fbb565b50565b60006115c18383612087565b905092915050565b60006115d4826131e2565b9050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006116518484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613238565b90509392505050565b6116638161223e565b5061166d81612685565b50565b600061167b8361223e565b90508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611702576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806143b9602b913960400191505060405180910390fd5b6117b9600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506132a5565b61180e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806142b7602c913960400191505060405180910390fd5b43600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507f1ce3cbbc43ee231e5b950332f2b0b9dd7d349291a3ee411ce5c5c7ed745661bb8383604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1505050565b60006119678561196285858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505087611fb790919063ffffffff16565b612087565b9050949350505050565b61197a8561223e565b5061198485612685565b6119d685858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001612786565b505050505050565b6119e78261223e565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180614498602d913960400191505060405180910390fd5b611b25600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff161515151581526020016001820154815250506132a5565b15611b7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018061446b602d913960400191505060405180910390fd5b6001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055506000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507f27e282f7712c5b4617277759c834b86d163dfc1aad25c8c3c5926a1c9e5644688282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b81526020018061421e603b913960400191505060405180910390fd5b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015611e4a577f70d9f5a076620216a6050e493f3ce69749de0b68fa4b839ba2518660ba8b9cf0600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b5050565b6000611e5a82516132b8565b826040516020018082805190602001908083835b60208310611e915780518252602082019150602081019050602083039250611e6e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405260405160200180807f19457468657265756d205369676e6564204d6573736167653a0a000000000000815250601a0183805190602001908083835b60208310611f235780518252602082019150602081019050602083039250611f00565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b60208310611f745780518252602082019150602081019050602083039250611f51565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052805190602001209050919050565b6000806000905060418351141561207d5760008060006020860151925060408601519150606086015160001a9050601b8160ff161015611ff857601b810190505b601b8160ff16148061200d5750601c8160ff16145b156120795760018782858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561206c573d6000803e3d6000fd5b5050506020604051035193505b5050505b8091505092915050565b600080600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16156121ac576000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154149050612234565b6000801b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154141561223357612202836131e2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505b5b8091505092915050565b6000806122496133ff565b9050600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16156123c0576000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154146123bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806142596038913960400191505060405180910390fd5b61267c565b6000801b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101541461245d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806142596038913960400191505060405180910390fd5b600081604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040528051906020012090506124aa81613410565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461252d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806142596038913960400191505060405180910390fd5b80600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055507f27e282f7712c5b4617277759c834b86d163dfc1aad25c8c3c5926a1c9e5644688483604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1505b80915050919050565b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1661278357612726600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546001613606565b506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055505b50565b6060600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561280e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806143476025913960400191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612893576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061443f602c913960400191505060405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612918576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806142916026913960400191505060405180910390fd5b60608673ffffffffffffffffffffffffffffffffffffffff16633f579f428787876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156129aa57808201518184015260208101905061298f565b50505050905090810190601f1680156129d75780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156129f857600080fd5b505af1158015612a0c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612a3657600080fd5b8101908080516040519392919084640100000000821115612a5657600080fd5b83820191506020820185811115612a6c57600080fd5b8251866001820283011164010000000082111715612a8957600080fd5b8083526020830192505050908051906020019080838360005b83811015612abd578082015181840152602081019050612aa2565b50505050905090810190601f168015612aea5780820380516001836020036101000a031916815260200191505b5060405250505090508215612c47577f99eeae1fb8801e2e878e060ec5e5b3557b3c4f8106e35d88cb573f293dae4e248787878785604051808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612ba1578082015181840152602081019050612b86565b50505050905090810190601f168015612bce5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015612c07578082015181840152602081019050612bec565b50505050905090810190601f168015612c345780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15b8091505095945050505050565b60008060009050836000015115612c9957600084602001511415612c7b5760019050612c98565b6000831415612c8d5760019050612c97565b8284602001511190505b5b5b8091505092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612d2257600080fd5b505afa158015612d36573d6000803e3d6000fd5b505050506040513d6020811015612d4c57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415612dca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061438e602b913960400191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663d784d426600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015612e5557600080fd5b505af1158015612e69573d6000803e3d6000fd5b505050508015612f01577feec27cdb8bd6f55c2c537deb52ab094a2437e85ef5197e6f064f90bff3ff563f82600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15b5050565b600081511415612f1d57612f1832612fbb565b612f5a565b60008151905060005b81811015612f5757612f4a838281518110612f3d57fe5b6020026020010151612fbb565b8080600101915050612f26565b50505b50565b612f6882600061375a565b612f73816000611d0d565b5050565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561305e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a2063616e6e6f74206164642030783020677561726469616e81525060200191505060405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561311d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a20677561726469616e20616c72656164792065786973747381525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b60008082604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b815260140191505060405160208183030381529060405280519060200120905061323081613410565b915050919050565b60008061324e8385611fb790919063ffffffff16565b90506000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b60006132b18243612c54565b9050919050565b60606000821415613300576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506133fa565b600082905060005b6000821461332a578080600101915050600a828161332257fe5b049150613308565b60608167ffffffffffffffff8111801561334357600080fd5b506040519080825280601f01601f1916602001820160405280156133765781602001600182028036833780820191505090505b50905060006001830390508593505b600084146133f257600a848161339757fe5b0660300160f81b828280600190039350815181106133b157fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a84816133ea57fe5b049350613385565b819450505050505b919050565b600061340b601461389b565b905090565b600060606040518060200161342490613a8c565b6020820181038252601f19601f82011660405250600060a01b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600060a01b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516020018086805190602001908083835b602083106134be578051825260208201915060208101905060208303925061349b565b6001836020036101000a0380198251168184511680821785525050505050509050018573ffffffffffffffffffffffffffffffffffffffff19168152600c018473ffffffffffffffffffffffffffffffffffffffff1660601b81526014018373ffffffffffffffffffffffffffffffffffffffff19168152600c018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401955050505050506040516020818303038152906040529050600060ff60f81b3085848051906020012060405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018473ffffffffffffffffffffffffffffffffffffffff1660601b81526014018381526020018281526020019450505050506040516020818303038152906040528051906020012090508060001c92505050919050565b60008083600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161365c90613a8c565b808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff168152602001925050508190604051809103906000f59050801580156136b9573d6000803e3d6000fd5b5090508215613750577f2682a218602b9036c9869f006c5405ee4a1a65267653eb7e286123e5e1afde4c81600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156137e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806142e36035913960400191505060405180910390fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015613897577f02e3c47057b8dc27a0929d3c394c314c73aa002d46939c31c9f71d1e77e86c10600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b5050565b600080600090506138aa613930565b1561392357600083600036905003905061391b600036839060148501926138d393929190613a99565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506139f3565b915050613927565b3390505b80915050919050565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156139ec57602c600036905010156139e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061436c6022913960400191505060405180910390fd5b600190505b8091505090565b6000806014835114613a6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f42797465734c69623a20696e76616c69642064617461206c656e67746800000081525060200191505060405180910390fd5b6c01000000000000000000000000602084015104905080915050919050565b61075180613acd83390190565b60008085851115613aa957600080fd5b83861115613ab657600080fd5b600185028301915084860390509450949250505056fe608060405234801561001057600080fd5b506040516107513803806107518339818101604052604081101561003357600080fd5b810190808051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610630806101216000396000f3fe60806040526004361061004e5760003560e01c80633f579f42146100be5780635c60da1b146101e75780637b10399914610228578063d784d42614610269578063f77c4791146102ba57610055565b3661005557005b34801561006157600080fd5b50600080369050146100bc576000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050368060008037600080826000855af43d806000803e81600081146100b757816000f35b816000fd5b005b3480156100ca57600080fd5b5061016c600480360360608110156100e157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561012857600080fd5b82018360208201111561013a57600080fd5b8035906020019184600183028401116401000000008311171561015c57600080fd5b90919293919293905050506102fb565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ac578082015181840152602081019050610191565b50505050905090810190601f1680156101d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101f357600080fd5b506101fc61049f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023457600080fd5b5061023d6104c5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027557600080fd5b506102b86004803603602081101561028c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104eb565b005b3480156102c657600080fd5b506102cf6105d3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806105f8602c913960400191505060405180910390fd5b606060008673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d8060008114610411576040519150601f19603f3d011682016040523d82523d6000602084013e610416565b606091505b50809350819250505080610492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b8192505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461058f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806105f8602c913960400191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a4163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420496d706c656d656e746174696f6e20746f20307830506572736f6e616c4163636f756e7452656769737472793a2073656e646572206973206e6f7420746865206163636f756e74206f776e65724163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f2073656c66506572736f6e616c4163636f756e7452656769737472793a206f776e657220646f65736e27742065786973744163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420726567697374727920746f20307830496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a65724163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f2030783047617465776179526563697069656e743a20696e76616c6964206d73672e646174614163636f756e74436f6e74726f6c6c65723a206163636f756e7420616c7265616479207570677261646564506572736f6e616c4163636f756e7452656769737472793a2063616e6e6f742072656d6f76652073656c66477561726465643a2074782e6f726967696e206973206e6f742074686520677561726469616e506572736f6e616c4163636f756e7452656769737472793a204552433230546f6b656e207472616e736665722072657665727465644163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f20636f6e74726f6c6c6572506572736f6e616c4163636f756e7452656769737472793a206f776e657220616c726561647920657869737473506572736f6e616c4163636f756e7452656769737472793a2063616e6e6f742061646420307830206f776e6572a164736f6c634300060c000a"; + "0x60806040523480156200001157600080fd5b506200002e67e6ad6dd6ee73072860c01b6200010160201b60201c565b6200004a67f9592435f5b5ea8c60c01b6200010460201b60201c565b6200006667bcc9be562f8a4b0a60c01b6200010760201b60201c565b6200008267579ae7209daca85260c01b6200010760201b60201c565b32600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000df674f33f857671bcade60c01b6200010a60201b60201c565b620000fb67545494087376439e60c01b6200010d60201b60201c565b62000110565b50565b50565b50565b50565b50565b617d4b80620001206000396000f3fe60806040523480156200001157600080fd5b5060043610620002805760003560e01c8063964f672a1162000159578063d089e11a11620000c9578063e1e382ce1162000087578063e1e382ce1462000fd0578063e5c7278f146200108f578063f0af07211462001158578063f0e97b3314620011a4578063f4876c7414620012065762000280565b8063d089e11a1462000deb578063d0f710d61462000e21578063d84fa10c1462000ec0578063da9fc1ae1462000f22578063db63f5821462000f695762000280565b8063ad8bbdec1162000117578063ad8bbdec1462000bed578063bb890d3f1462000c4f578063bccb31c61462000ccc578063c45433051462000d18578063cade6a5d1462000d7a5762000280565b8063964f672a1462000a3457806399066bc61462000a965780639f106f7e1462000ae2578063a3561e691462000b44578063a526d83b1462000ba65762000280565b806334d323a411620001f5578063614b6c8211620001b3578063614b6c821462000808578063692b0ad9146200086a5780637140415614620008cc57806382fa0d1e146200091357806390482d7214620009755762000280565b806334d323a41462000680578063392e53cd14620007075780633e260b13146200072957806343013c2414620007755780635db3fe3914620007bc5762000280565b8063124e9eb31162000243578063124e9eb314620003e15780631a84140314620004ee5780631aa316db146200055f57806329fbd95714620005c15780633164b5e114620006235762000280565b80630900f01014620002855780630c68ba2114620002cc57806311464fbe1462000329578063116191b6146200035f578063117921d91462000395575b600080fd5b620002ca600480360360208110156200029d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200126d565b005b6200031160048036036020811015620002e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001412565b60405180821515815260200191505060405180910390f35b62000333620014a9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b62000369620014cf565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b620003df60048036036020811015620003ad57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050620014f5565b005b620004d660048036036060811015620003f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156200043757600080fd5b8201836020820111156200044a57600080fd5b803590602001918460018302840111640100000000831117156200046d57600080fd5b9091929391929390803590602001906401000000008111156200048f57600080fd5b820183602082011115620004a257600080fd5b80359060200191846001830284011164010000000083111715620004c557600080fd5b9091929391929390505050620014f8565b60405180821515815260200191505060405180910390f35b6200055d600480360360608110156200050657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050620015f9565b005b620005a9600480360360208110156200057757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062001a74565b60405180821515815260200191505060405180910390f35b6200060b60048036036020811015620005d957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062001a7f565b60405180821515815260200191505060405180910390f35b62000668600480360360208110156200063b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001a8a565b60405180821515815260200191505060405180910390f35b620006ef600480360360608110156200069857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505062001b25565b60405180821515815260200191505060405180910390f35b6200071162001d08565b60405180821515815260200191505060405180910390f35b62000773600480360360208110156200074157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062001da3565b005b620007ba600480360360208110156200078d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001da6565b005b6200080660048036036020811015620007d457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062001e30565b005b62000852600480360360208110156200082057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062001e33565b60405180821515815260200191505060405180910390f35b620008b4600480360360208110156200088257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062001e3e565b60405180821515815260200191505060405180910390f35b6200091160048036036020811015620008e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062001e45565b005b6200095d600480360360208110156200092b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050620022c7565b60405180821515815260200191505060405180910390f35b62000a32600480360360608110156200098d57600080fd5b8101908080359060200190640100000000811115620009ab57600080fd5b820183602082011115620009be57600080fd5b80359060200191846020830284011164010000000083111715620009e157600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050620022d2565b005b62000a7e6004803603602081101562000a4c57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050620025fe565b60405180821515815260200191505060405180910390f35b62000ae06004803603602081101562000aae57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062002605565b005b62000b2c6004803603602081101562000afa57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062002608565b60405180821515815260200191505060405180910390f35b62000b8e6004803603602081101562000b5c57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062002613565b60405180821515815260200191505060405180910390f35b62000beb6004803603602081101562000bbe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200261a565b005b62000c376004803603602081101562000c0557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050620027bd565b60405180821515815260200191505060405180910390f35b62000cb46004803603604081101562000c6757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050620027c4565b60405180821515815260200191505060405180910390f35b62000d166004803603602081101562000ce457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506200281c565b005b62000d626004803603602081101562000d3057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506200281f565b60405180821515815260200191505060405180910390f35b62000dbf6004803603602081101562000d9257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200282a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b62000df562002880565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b62000ea86004803603604081101562000e3957600080fd5b81019080803590602001909291908035906020019064010000000081111562000e6157600080fd5b82018360208201111562000e7457600080fd5b8035906020019184600183028401116401000000008311171562000e9757600080fd5b9091929391929390505050620028a6565b60405180821515815260200191505060405180910390f35b62000f0a6004803603602081101562000ed857600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062002943565b60405180821515815260200191505060405180910390f35b62000f676004803603602081101562000f3a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506200294a565b005b62000fce6004803603604081101562000f8157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050620029d2565b005b620010776004803603606081101562000fe857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156200103057600080fd5b8201836020820111156200104357600080fd5b803590602001918460018302840111640100000000831117156200106657600080fd5b909192939192939050505062002da3565b60405180821515815260200191505060405180910390f35b6200115660048036036080811015620010a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156200110f57600080fd5b8201836020820111156200112257600080fd5b803590602001918460018302840111640100000000831117156200114557600080fd5b909192939192939050505062002e55565b005b620011a2600480360360208110156200117057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062002f62565b005b620011ee60048036036020811015620011bc57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505062002f65565b60405180821515815260200191505060405180910390f35b6200126b600480360360408110156200121e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505062002f6c565b005b6200128367e18aef04d0a3e7fd60c01b620014f5565b6200129967e0600b94c13d066760c01b6200281c565b620012af6755e8cedcdd449e2360c01b6200281c565b620012c567ab821ba7fedab67160c01b6200281c565b620012db67c540fbd78e0e2a4960c01b6200281c565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166200137e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018062007c5e6026913960400191505060405180910390fd5b6200139467d014260b312542b460c01b6200281c565b620013aa674e25985d1c99d1f260c01b6200281c565b620013c067bde425c8c34183d160c01b620014f5565b620013d66716dfdb0ce3bf1a4060c01b620014f5565b620013ec6770d8631575aaca4460c01b620014f5565b62001402674fc959c4242125e760c01b620014f5565b6200140f816001620033ed565b50565b60006200142a677ab52c65f999e01f60c01b6200281c565b620014406710268b7b424a1bd560c01b6200281c565b620014566713a157f311059a7b60c01b6200281c565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b50565b60006200151067949773e889da548b60c01b620014f5565b6200152667f5190637de1d985760c01b620014f5565b6200153c671283ba3d6ea74c0a60c01b620014f5565b620015ee86620015e885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050620015d989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506200363f565b620037f290919063ffffffff16565b62003b51565b905095945050505050565b6200160f6775afb3da4fd8e1a760c01b620014f5565b6200162567bfa2decb6c19dc2d60c01b620014f5565b6200163b67f4a1ea1f4f5b73f860c01b620014f5565b620016468362003e48565b506200165d67ed9e75bb5506131060c01b620014f5565b620016736715149635d91133b360c01b620014f5565b6200167e83620044ee565b6200169467103a19a679a70be660c01b620014f5565b620016aa67966e805ee7f4488860c01b620014f5565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200178657620016f667b550661105a5e6c160c01b620014f5565b6200170c6778466374c5e817e760c01b620014f5565b6200172267f69688cc9cb79e3e60c01b620014f5565b6200177f833283600067ffffffffffffffff811180156200174257600080fd5b506040519080825280601f01601f191660200182016040528015620017765781602001600182028036833780820191505090505b506000620046a7565b50620019b2565b6200179c676d2f127c6cbded8b60c01b620014f5565b620017b267c55f6a870f441ea360c01b620014f5565b620017c867e6169000db7124bb60c01b620014f5565b60606200186e8484600063a9059cbb60e01b3287604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506000620046a7565b90506200188667101f3d9ea840d48460c01b620014f5565b6200189c674738e61390960d2160c01b620014f5565b6000815111156200199957620018bd6767f3391e72f7277c60c01b620014f5565b620018d367a2cad286bddc35c860c01b620014f5565b620018e967268be481c9d59d1d60c01b620014f5565b620018ff67983f6fa6c3ed02a760c01b620014f5565b8080602001905160208110156200191557600080fd5b81019080805190602001909291905050506200197d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603581526020018062007c846035913960400191505060405180910390fd5b6200199367dd178cef5d9f784360c01b620014f5565b620019b0565b620019af6755daecce03b98ded60c01b620014f5565b5b505b620019c867a40448aea0b9209a60c01b620014f5565b620019de671253b49880e9934960c01b620014f5565b7feb5511fbef89123439f12682f0e9d0fc9696913b26eee55434c77d62c30aa7ca83328484604051808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390a1505050565b600060019050919050565b600060019050919050565b600062001aa267708237df46d4591860c01b620014f5565b62001ab867d221cc5f2e35948d60c01b620014f5565b62001ace6765dfcb590b568f9b60c01b620014f5565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff169050919050565b600062001b3d6732cd5b0dba9710d060c01b620014f5565b62001b53673020761b9813024460c01b620014f5565b62001b6967878b732ad1f1d98060c01b620014f5565b600062001b8167607ee862765df6de60c01b620014f5565b62001b976756ffa96c87add8b460c01b620014f5565b62001ba3858562003b51565b1562001bdf5762001bbf67714b36fd9436b49d60c01b620014f5565b62001bd5673b53315bebb8e15660c01b620014f5565b6001905062001cd1565b62001bf56713be24a30d0dcecd60c01b620014f5565b62001c0b67b87ae6f22a7b024e60c01b620014f5565b62001cce83600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff1615151515815260200160018201548152505062004d8e90919063ffffffff16565b90505b62001ce7673aff67691d44290e60c01b620014f5565b62001cfd67b3bc166758e3426460c01b620014f5565b809150509392505050565b600062001d2067e29fe2f351ca6b2760c01b62001da3565b62001d36676f5dd3f08b97747760c01b62001da3565b62001d4c673a9488d62818322a60c01b62001da3565b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b62001dbc67e5e772a16aa01e8160c01b620014f5565b62001dd267e47d8686f2af7ef060c01b620014f5565b62001de8678349c7ebd0a81a5f60c01b620014f5565b62001df38162003e48565b5062001e0a670afc4f30eeb71fbf60c01b620014f5565b62001e2067571c5a8b2b0a8b8460c01b620014f5565b62001e2d81600162004f87565b50565b50565b600060019050919050565b6000919050565b62001e5b6747dd6d4e27a092d260c01b6200281c565b62001e7167e0600b94c13d066760c01b6200281c565b62001e876755e8cedcdd449e2360c01b6200281c565b62001e9d67ab821ba7fedab67160c01b6200281c565b62001eb367c540fbd78e0e2a4960c01b6200281c565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1662001f56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018062007c5e6026913960400191505060405180910390fd5b62001f6c67d014260b312542b460c01b6200281c565b62001f82674e25985d1c99d1f260c01b6200281c565b62001f9867736984febec5fd2560c01b6200281c565b62001fae67cbb923c66996310360c01b6200281c565b62001fc4672c114aff1103564b60c01b6200281c565b62001fda67a76a63e34be2bddb60c01b6200281c565b62001ff067a220bc889ca09d2360c01b6200281c565b8073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141562002093576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f477561726465643a2063616e6e6f742072656d6f76652073656c66000000000081525060200191505060405180910390fd5b620020a9679467d7af09c5944d60c01b6200281c565b620020bf67c28a58b1b15ad6de60c01b6200281c565b620020d567c70b0fecc7c6d3b160c01b6200281c565b620020eb67e7892f9392d41a6760c01b6200281c565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16620021aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f477561726465643a20677561726469616e20646f65736e27742065786973740081525060200191505060405180910390fd5b620021c0675a0de441d13969aa60c01b6200281c565b620021d6674e473b0a29064fba60c01b6200281c565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200224367e398e5606400274660c01b6200281c565b620022596738c3bd156a3471c260c01b6200281c565b7fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b3282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b600060019050919050565b620022e8672d986a70dd19978660c01b620014f5565b620022fe67d2ba19feb39e0b7f60c01b62001da3565b62002314670c5ad53cdb9edd1560c01b62001da3565b6200232a67b6b588d2ebb9ae6960c01b62001da3565b6200234067c4ec9a90a885875260c01b62001da3565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614620023e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018062007b92602f913960400191505060405180910390fd5b620023fe67c3785ba1534db95460c01b62001da3565b6200241467e4202927591248ef60c01b62001da3565b6000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200246c67531cfa2817fbdc8660c01b62001da3565b620024826710d2ca647caa13ef60c01b620014f5565b6200249867c5e1073362bb30bb60c01b620014f5565b620024ae677c2fc0c623f34f1760c01b620014f5565b620024c46754d9e88ab3a297b760c01b620014f5565b62002510848480806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505062005315565b6200252667521fd40cd7f8760560c01b620014f5565b6200253c67b4edb6f6ff7b15b260c01b620014f5565b62002548308362005494565b6200255e677d8bd3a05f4b6b6a60c01b620014f5565b6200257467544450e83605438c60c01b620014f5565b6200257f8162005520565b620025956701520f419008b58e60c01b62001da3565b620025ab6775364c04848b013b60c01b62001da3565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150505050565b6000919050565b50565b600060019050919050565b6000919050565b6200263067c17b66a0b198af7b60c01b6200281c565b6200264667e0600b94c13d066760c01b6200281c565b6200265c6755e8cedcdd449e2360c01b6200281c565b6200267267ab821ba7fedab67160c01b6200281c565b6200268867c540fbd78e0e2a4960c01b6200281c565b6000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166200272b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018062007c5e6026913960400191505060405180910390fd5b6200274167d014260b312542b460c01b6200281c565b62002757674e25985d1c99d1f260c01b6200281c565b6200276d67dfa24a8cc198350160c01b6200281c565b6200278367f9907d82cd18ee0760c01b6200281c565b6200279967dd37ee49f553c5a760c01b6200281c565b620027af679ad66b1d98f77fdf60c01b6200281c565b620027ba8162005590565b50565b6000919050565b6000620027dc67d9f40698cdafefb460c01b620014f5565b620027f26706b914512d0ddf8e60c01b620014f5565b6200280867a9eddccc515ae51b60c01b620014f5565b62002814838362003b51565b905092915050565b50565b600060019050919050565b60006200284267f4a161f24085f2cc60c01b620014f5565b62002858678a467a5966a6113a60c01b620014f5565b6200286e67f2898d9b947f10d060c01b620014f5565b6200287982620058c1565b9050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000620028be670fa739e07c029f9060c01b6200281c565b620028d467406100042e7653bd60c01b6200281c565b620028ea6784104632bda8198f60c01b6200281c565b6200293a8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505062005988565b90509392505050565b6000919050565b6200296067460bc733531e770560c01b620014f5565b62002976675843065cd6ecf36860c01b620014f5565b6200298c671760cefe6a10da7a60c01b620014f5565b620029978162003e48565b50620029ae67d2b7b08e8476a44960c01b620014f5565b620029c467c4108caade9b50e360c01b620014f5565b620029cf81620044ee565b50565b620029e86770b9d781bcb926b460c01b620014f5565b620029fe67906727e01f6aa85e60c01b620014f5565b62002a146701b827d310cfe11d60c01b620014f5565b600062002a218362003e48565b905062002a3967626a661a01a7804b60c01b620014f5565b62002a4f6728cca11810d21b3960c01b620014f5565b62002a6567a8027d9ed3c4801060c01b620014f5565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562002aec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018062007c33602b913960400191505060405180910390fd5b62002b02671d64f04a0cbd3c2d60c01b620014f5565b62002b186780125257db4855f560c01b620014f5565b62002b2e67786a66558108b48b60c01b620014f5565b62002b4467b83a54420a7a78ee60c01b620014f5565b62002bfd600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff1615151515815260200160018201548152505062005a66565b62002c54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018062007b31602c913960400191505060405180910390fd5b62002c6a67fbd8a228a8f1f77a60c01b620014f5565b62002c8067899e8aec8c945fb560c01b620014f5565b43600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555062002d1d673e58acdf3e6c170360c01b620014f5565b62002d3367038fa1c859cd9e2860c01b620014f5565b7f1ce3cbbc43ee231e5b950332f2b0b9dd7d349291a3ee411ce5c5c7ed745661bb8383604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1505050565b600062002dbb67f8f2e3448d3c936160c01b620014f5565b62002dd167fcd5fc1ac915e2fb60c01b620014f5565b62002de7670820634ea29c7b1160c01b620014f5565b62002e4b8562002e4585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505087620037f290919063ffffffff16565b62003b51565b9050949350505050565b62002e6b67789d2f75e275428460c01b620014f5565b62002e8167981f928ed5e6e9a660c01b620014f5565b62002e97675777f12d09d3b93a60c01b620014f5565b62002ea28562003e48565b5062002eb967fdda32926cab7ac260c01b620014f5565b62002ecf675a6b0b5b15d49fb960c01b620014f5565b62002eda85620044ee565b62002ef067ac231b274a94695760c01b620014f5565b62002f066777f4d02982ad96d560c01b620014f5565b62002f5a85858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001620046a7565b505050505050565b50565b6000919050565b62002f82671841f1f0bc650a6e60c01b620014f5565b62002f9867d8cb12991a5557fe60c01b620014f5565b62002fae6766398dce8b66c4fe60c01b620014f5565b62002fb98262003e48565b5062002fd067afd5a8ab9f2a3d3460c01b620014f5565b62002fe66722266b293d95abe960c01b620014f5565b62002ffc67a6d9c03b61572e3660c01b620014f5565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562003084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018062007d12602d913960400191505060405180910390fd5b6200309a67c9382b55067e211d60c01b620014f5565b620030b0679801b864b284677360c01b620014f5565b620030c667b4f021d294e5e22e60c01b620014f5565b620030dc6767e346a0d6fd8cf760c01b620014f5565b62003195600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900460ff1615151515815260200160018201548152505062005a66565b15620031ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018062007ce5602d913960400191505060405180910390fd5b6200320367443905483164659760c01b620014f5565b62003219676f97ea8f4384dd9d60c01b620014f5565b6001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff021916908315150217905550620032ca67d470191cde7d771860c01b620014f5565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506200336867304924367638439560c01b620014f5565b6200337e67618ec03a4906a7d860c01b620014f5565b7f27e282f7712c5b4617277759c834b86d163dfc1aad25c8c3c5926a1c9e5644688282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15050565b620034036763a6d6dd8a86352960c01b62001e30565b62003419678eeff62892cd112860c01b62001e30565b6200342f6781019a5110a6fd2560c01b62001e30565b620034456799570e869b77f36060c01b62001e30565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620034cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b81526020018062007a98603b913960400191505060405180910390fd5b620034e367e6730257a24a5d4d60c01b62001e30565b620034f9675137d05a035c900560c01b62001e30565b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062003550676635cb5a489007f160c01b62001e30565b620035666779ff21fdd4bb44bc60c01b62001e30565b801562003624576200358367ce1bdfd86d0ca23360c01b62001e30565b62003599677479b0cc253e30c560c01b62001e30565b620035af67a2b46e4941f5d4f860c01b62001e30565b7f70d9f5a076620216a6050e493f3ce69749de0b68fa4b839ba2518660ba8b9cf0600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a16200363b565b6200363a6725a77b732bce9b0960c01b62001e30565b5b5050565b600062003657676caf41065fc97a4260c01b62005abd565b6200366d679f00e9579a814efe60c01b62005abd565b62003683678bbf08d0403adc3f60c01b62005abd565b6200368f825162005ac0565b826040516020018082805190602001908083835b60208310620036c85780518252602082019150602081019050602083039250620036a3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405260405160200180807f19457468657265756d205369676e6564204d6573736167653a0a000000000000815250601a0183805190602001908083835b602083106200375c578051825260208201915060208101905060208303925062003737565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b60208310620037af57805182526020820191506020810190506020830392506200378a565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052805190602001209050919050565b60006200380a670d75db982ec4597160c01b62005e4f565b620038206725c2c60ab754182560c01b62005e4f565b62003836673eb64a254569ed0660c01b62005e4f565b60006200384e67fb2a2286066e15e460c01b62005e4f565b6200386467a440db11ec9e986d60c01b62005e4f565b60418351141562003b0457620038856704a5aada48e2763260c01b62005e4f565b6200389b674b98cf1796e5c26660c01b62005e4f565b620038b167d2dfec7b159385fc60c01b62005e4f565b6000620038c96772c2a840621b4aa760c01b62005e4f565b620038df67bfd411e6ba4d07c460c01b62005e4f565b6000620038f767145d23f82764ba9960c01b62005e4f565b6200390d67acdff958a9c6c5dd60c01b62005e4f565b600062003925673b79e3a80932a6a160c01b62005e4f565b6020860151925060408601519150606086015160001a905062003953679b0cdee01a57ea2f60c01b62005e4f565b62003969675dbf88583373227960c01b62005e4f565b601b8160ff161015620039ae576200398c670dc9a1836eb51c3260c01b62005e4f565b620039a2677097d8456a6c3e1560c01b62005e4f565b601b81019050620039c5565b620039c46708b39c61216869e760c01b62005e4f565b5b620039db672ea4d6db7d2138c560c01b62005e4f565b620039f1679ad3f461195a5eee60c01b62005e4f565b601b8160ff1614801562003a17575062003a1667a24e972b59dc7d0560c01b62005e52565b5b8062003a455750601c8160ff1614801562003a44575062003a4367934bee4849491d9560c01b62005e52565b5b5b1562003ae45762003a61676d6a491fc6e072fa60c01b62005e4f565b62003a7767aecd1690d1de9f1c60c01b62005e4f565b60018782858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801562003ad2573d6000803e3d6000fd5b50505060206040510351935062003afb565b62003afa67513fbc3b3a0ad1c060c01b62005e4f565b5b50505062003b1b565b62003b1a6723d6d78de386c96660c01b62005e4f565b5b62003b316707d0c4f11e72cfc960c01b62005e4f565b62003b4767b9689b22f403636c60c01b62005e4f565b8091505092915050565b600062003b6967afadb8a88820edae60c01b620014f5565b62003b7f67f59e6215910c93b460c01b620014f5565b62003b956709a5fd36e15c669560c01b620014f5565b600062003bad678d799f22bb2ad76d60c01b620014f5565b62003bc36740ac51f5da79cb2a60c01b620014f5565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff161562003d135762003c6f67a198f4bcf4ffdda660c01b620014f5565b62003c8567c11e5f9124ff6fdd60c01b620014f5565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015414905062003e12565b62003d2967b8d118ba40c4c5e960c01b620014f5565b62003d3f6710bf881bc6e450cc60c01b620014f5565b6000801b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154141562003dfa5762003da36741130ed6b4861b3560c01b620014f5565b62003db967af61ecb384104a6f60c01b620014f5565b62003dc483620058c1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614905062003e11565b62003e10672ec87586bd7b51b360c01b620014f5565b5b5b62003e286784dc6662a5d1368560c01b620014f5565b62003e3e67ddc6079ede57a7aa60c01b620014f5565b8091505092915050565b600062003e60678aabea3e2c6bca2560c01b620014f5565b62003e766712cfd887af96e54d60c01b620014f5565b62003e8c673829699bd0916c2060c01b620014f5565b600062003e9862005e5d565b905062003eb067104a97d11b31d29660c01b620014f5565b62003ec667973fbaa3edacc7ce60c01b620014f5565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615620040ad5762003f7267b94995b6887eba2d60c01b620014f5565b62003f886748c3d00df978d7f560c01b620014f5565b62003f9e67abc28d2563ef0dff60c01b620014f5565b62003fb467e01714a3962c522a60c01b620014f5565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101541462004091576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603881526020018062007ad36038913960400191505060405180910390fd5b620040a7679499ad56ecdbb2db60c01b620014f5565b620044b9565b620040c367357bc6b129a900b460c01b620014f5565b620040d9671674f1ee1ae0d08b60c01b620014f5565b620040ef676ff03a2c654a99d260c01b620014f5565b6200410567785fda09b7c53a4760c01b620014f5565b6000801b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015414620041a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603881526020018062007ad36038913960400191505060405180910390fd5b620041ba67954b2c179a5d688660c01b620014f5565b620041d0674f269f509bbb534a60c01b620014f5565b620041e667e68180d41a3493f560c01b620014f5565b600081604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040528051906020012090506200424067bdaaa82eb4dda39960c01b620014f5565b620042566765cf1f9f13f20afb60c01b620014f5565b6200426c678c4ee105f3022bf460c01b620014f5565b620042778162005eb2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614620042fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603881526020018062007ad36038913960400191505060405180910390fd5b62004312678013dbf8a9e452ae60c01b620014f5565b6200432867d88d2e044dab125860c01b620014f5565b80600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550620043856720f9f84d359edc0660c01b620014f5565b6001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff02191690831515021790555062004436679e1ca48701df546460c01b620014f5565b6200444c67c3772f0565efb24f60c01b620014f5565b7f27e282f7712c5b4617277759c834b86d163dfc1aad25c8c3c5926a1c9e5644688483604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1505b620044cf67ca67e5de902a827d60c01b620014f5565b620044e567d7e2ed585989010260c01b620014f5565b80915050919050565b62004504670ba7a4c1489fca3460c01b620014f5565b6200451a67651acfe85e858e5460c01b620014f5565b62004530675151ef5b0651bcd760c01b620014f5565b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff166200468d576200459b679231e89a19a99aca60c01b620014f5565b620045b0666f3f3d70558f5960c01b620014f5565b620045c6678e10a66544cc428160c01b620014f5565b62004615600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154600162006146565b506200462c67c689dcb05f1e851d60c01b620014f5565b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff021916908315150217905550620046a4565b620046a36756b574c458e1b11860c01b620014f5565b5b50565b6060620046bf67d03cbc512208c19360c01b62001e30565b620046d567f0724c2f605051ae60c01b62001e30565b620046eb672c1f163d378fb1c760c01b62001e30565b62004701676e332d1ea295ad6760c01b62001e30565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141562004789576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018062007bc16025913960400191505060405180910390fd5b6200479f6734003fde0e365df960c01b62001e30565b620047b5676f78eb7775d96ac060c01b62001e30565b620047cb6762ea15fa7f97e6d860c01b62001e30565b620047e167c1e60fa2c652db9260c01b62001e30565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141562004868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018062007cb9602c913960400191505060405180910390fd5b6200487e67c4c441efc53987a460c01b62001e30565b62004894670a4409d86344b6de60c01b62001e30565b620048aa67f30c8cf3d7c2007160c01b62001e30565b620048c0677b93c54c10ec39b960c01b62001e30565b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141562004947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018062007b0b6026913960400191505060405180910390fd5b6200495d67d0eadcda5ce01ef660c01b62001e30565b620049736708e5898037826a0e60c01b62001e30565b62004989679eda6876d502675260c01b62001e30565b60608673ffffffffffffffffffffffffffffffffffffffff16633f579f428787876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101562004a1d57808201518184015260208101905062004a00565b50505050905090810190601f16801562004a4b5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801562004a6d57600080fd5b505af115801562004a82573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101562004aad57600080fd5b810190808051604051939291908464010000000082111562004ace57600080fd5b8382019150602082018581111562004ae557600080fd5b825186600182028301116401000000008211171562004b0357600080fd5b8083526020830192505050908051906020019080838360005b8381101562004b3957808201518184015260208101905062004b1c565b50505050905090810190601f16801562004b675780820380516001836020036101000a031916815260200191505b50604052505050905062004b866787669d68dca3195b60c01b62001e30565b62004b9c673ac670a41bf75b6a60c01b62001e30565b821562004d3e5762004bb967d53a5613f66004c060c01b62001e30565b62004bcf67fefbdbb940a6f1de60c01b62001e30565b62004be5678bc5a3cf9a4cc9b860c01b62001e30565b7f99eeae1fb8801e2e878e060ec5e5b3557b3c4f8106e35d88cb573f293dae4e248787878785604051808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101562004c8f57808201518184015260208101905062004c72565b50505050905090810190601f16801562004cbd5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101562004cf857808201518184015260208101905062004cdb565b50505050905090810190601f16801562004d265780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a162004d55565b62004d54674b9471e9fc68f75f60c01b62001e30565b5b62004d6b6744627d43ccecd7f160c01b62001e30565b62004d816717d248a7372779a660c01b62001e30565b8091505095945050505050565b600062004da6679c9d1daabf83176160c01b62006397565b62004dbc674a60477fa1015d9d60c01b62006397565b62004dd2671d2dfd1cbc37881260c01b62006397565b600062004dea675c84658542d4247860c01b62006397565b62004e00676c38c63a8395bd4160c01b62006397565b83600001511562004f3a5762004e21673a129e7e3fa8299860c01b62006397565b62004e3767d5d911350233c4aa60c01b62006397565b62004e4d6788aca451346a904360c01b62006397565b60008460200151141562004e915762004e71671cab9521da0eae6e60c01b62006397565b62004e87679a431a7af70a318b60c01b62006397565b6001905062004f34565b62004ea76728a02509a30cdf2f60c01b62006397565b62004ebd67a315ca16c55cdf1660c01b62006397565b600083141562004efd5762004edd67e5e2fd7cbec5211b60c01b62006397565b62004ef3676bc9eb4a60fdc77060c01b62006397565b6001905062004f33565b62004f13670dbcda2f621ef14860c01b62006397565b62004f2967cbf2e8a46e9eb31e60c01b62006397565b8284602001511190505b5b62004f51565b62004f50679312107b7e60296d60c01b62006397565b5b62004f67676d1c114b386646c760c01b62006397565b62004f7d67b26d3c1cf974c30e60c01b62006397565b8091505092915050565b62004f9d671e986652550cd6b760c01b62001e30565b62004fb36712f52b022ec7e94e60c01b62001e30565b62004fc967d13332898fe9198160c01b62001e30565b62004fdf677771d5f99d0f0ea860c01b62001e30565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200505f57600080fd5b505afa15801562005074573d6000803e3d6000fd5b505050506040513d60208110156200508b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614156200510b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018062007c08602b913960400191505060405180910390fd5b62005121671d9e65030376f52a60c01b62001e30565b6200513767de7455456727db8960c01b62001e30565b6200514d671ad3abe77081920060c01b62001e30565b8173ffffffffffffffffffffffffffffffffffffffff1663d784d426600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015620051d957600080fd5b505af1158015620051ee573d6000803e3d6000fd5b5050505062005208672dc6faf1b96e638260c01b62001e30565b6200521e673ac280b3b6cdcef460c01b62001e30565b8015620052fa576200523b674cef15a637c5d09560c01b62001e30565b6200525167a51c2a16f15f5aee60c01b62001e30565b620052676739bd33583f67f11d60c01b62001e30565b7feec27cdb8bd6f55c2c537deb52ab094a2437e85ef5197e6f064f90bff3ff563f82600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a162005311565b6200531067a8db68da35e394a360c01b62001e30565b5b5050565b6200532b67f4de5e8e73d6ad8760c01b6200281c565b6200534167db1ce0981035d84760c01b6200281c565b6200535767e97a0a25809a3f0960c01b6200281c565b600081511415620053b5576200537867de11b839232da49160c01b6200281c565b6200538e67b59bd2ea0c1c89a260c01b6200281c565b620053a467652fe2786000e62060c01b6200281c565b620053af3262005590565b62005491565b620053cb67ad5f6f13dddc2ad960c01b6200281c565b620053e1672af46088979bcb2160c01b6200281c565b620053f76796cb81cf0bf6606d60c01b6200281c565b60008151905062005413672f4c11881b8dca8c60c01b6200281c565b6200542967cec4e8db5057edad60c01b6200281c565b60005b818110156200548e576200544b671a5cc94c8b734dd960c01b6200281c565b6200546167e437d14e98e20b2f60c01b6200281c565b620054808382815181106200547257fe5b602002602001015162005590565b80806001019150506200542c565b50505b50565b620054aa671af942b4819087fc60c01b62001e30565b620054c0670f0a44d9ed8d066760c01b62001e30565b620054d667af6f6ca5a19aa0c460c01b62001e30565b620054e38260006200639a565b620054f967dd02c4093239d2e360c01b62001e30565b6200550f674754410ba216543b60c01b62001e30565b6200551c816000620033ed565b5050565b62005536670beab42e12728d3b60c01b62002f62565b6200554c675ecbac840a5512ec60c01b62002f62565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b620055a66703611a9e4063d8ea60c01b6200281c565b620055bc67ee1baacaa033494260c01b6200281c565b620055d26751e5840de998a97760c01b6200281c565b620055e8676f82de74e2e2e03560c01b6200281c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156200568c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a2063616e6e6f74206164642030783020677561726469616e81525060200191505060405180910390fd5b620056a26717cb80dba7a8a0ea60c01b6200281c565b620056b867e2f8fabe2a63d8b660c01b6200281c565b620056ce677550a657f22d30dc60c01b6200281c565b620056e4673c81d7073dbe6f3060c01b6200281c565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615620057a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f477561726465643a20677561726469616e20616c72656164792065786973747381525060200191505060405180910390fd5b620057ba67bc5a1f0994a7f54e60c01b6200281c565b620057d0679a7f014629c7374960c01b6200281c565b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200583d67d71c83e9f3188e9d60c01b6200281c565b6200585367e4bfbd26cb5c77e660c01b6200281c565b7fbc3292102fa77e083913064b282926717cdfaede4d35f553d66366c0a3da755a3282604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b6000620058d967371a9b64621a2c3d60c01b620014f5565b620058ef676a9989a74d1b4b0b60c01b620014f5565b620059056764d7e3a68d8c5bb760c01b620014f5565b600082604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040528051906020012090506200595f6788a53d430ff364e660c01b620014f5565b62005975673cb194ec28165cb960c01b620014f5565b620059808162005eb2565b915050919050565b6000620059a067fbe9af14abc78ca860c01b6200281c565b620059b667bd3616cf00f8ad2b60c01b6200281c565b620059cc670aad941719c9b69b60c01b6200281c565b6000620059e38385620037f290919063ffffffff16565b9050620059fb6706f556c4601e7cd060c01b6200281c565b62005a1167344e7bee2db8345860c01b6200281c565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b600062005a7e679cab3b0c44b8044060c01b62006397565b62005a9467ca9af921644e3db460c01b62006397565b62005aaa67fb2347240336566c60c01b62006397565b62005ab6824362004d8e565b9050919050565b50565b606062005ad867e3a0abd5bcd9be4560c01b620065ec565b62005aee676f4ac71b01df0db160c01b620065ec565b62005b046721d33336b8b2843560c01b620065ec565b600082141562005b8e5762005b246799734a524846f5ea60c01b620065ec565b62005b3a6786ec3af2b5204b2d60c01b620065ec565b62005b50675f049c9df345fcb860c01b620065ec565b6040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905062005e4a565b62005ba4674e123f29ad8e63ae60c01b620065ec565b62005bba678a02b86c6f5ae79060c01b620065ec565b62005bd067aef6cecdbdb7f12260c01b620065ec565b600082905062005beb675ee403aa4c2e194160c01b620065ec565b62005c0167c9a686dccda57deb60c01b620065ec565b600062005c196770f6e6f301963e5060c01b620065ec565b62005c2f67cec46452a4c2007960c01b620065ec565b5b6000821462005c815762005c4f67a2c57d3c793a6eb760c01b620065ec565b808060010191505062005c6d677b9437f81985d6c960c01b620065ec565b600a828162005c7857fe5b04915062005c30565b62005c97675b6ccf3f6790a03260c01b620065ec565b62005cad67c5942845ca4d8bd160c01b620065ec565b60608167ffffffffffffffff8111801562005cc757600080fd5b506040519080825280601f01601f19166020018201604052801562005cfb5781602001600182028036833780820191505090505b50905062005d1467f47605e8a1a97a4f60c01b620065ec565b62005d2a67fb23949ab383488b60c01b620065ec565b600060018303905062005d4867f586ddddd202275b60c01b620065ec565b85935062005d61670a29638383e5bbf260c01b620065ec565b62005d7767417a1c155b8c8d7860c01b620065ec565b5b6000841462005e165762005d976730db4ddbb2bce57560c01b620065ec565b600a848162005da257fe5b0660300160f81b8282806001900393508151811062005dbd57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535062005e026753f1af39e9b748c960c01b620065ec565b600a848162005e0d57fe5b04935062005d78565b62005e2c674d1eb2df4daf6cff60c01b620065ec565b62005e42677ce056f455b7e7f260c01b620065ec565b819450505050505b919050565b50565b600060019050919050565b600062005e7567e6b9fb986a1ba5a160c01b62002f62565b62005e8b67e5f2b4fde85ab0e060c01b62002f62565b62005ea1675a28d96f6aadd0b960c01b62002f62565b62005ead6014620065ef565b905090565b600062005eca67834d7dcd68b198b060c01b62001e30565b62005ee0673ff175921f5f538960c01b62001e30565b62005ef66701ee97873b03827f60c01b62001e30565b60606040518060200162005f0a9062006b22565b6020820181038252601f19601f82011660405250600060a01b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600060a01b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516020018086805190602001908083835b6020831062005fa6578051825260208201915060208101905060208303925062005f81565b6001836020036101000a0380198251168184511680821785525050505050509050018573ffffffffffffffffffffffffffffffffffffffff19168152600c018473ffffffffffffffffffffffffffffffffffffffff1660601b81526014018373ffffffffffffffffffffffffffffffffffffffff19168152600c018273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019550505050505060405160208183030381529060405290506200606e67c5994a000b72ff9b60c01b62001e30565b62006084673303398cfdf0748c60c01b62001e30565b600060ff60f81b3085848051906020012060405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018473ffffffffffffffffffffffffffffffffffffffff1660601b81526014018381526020018281526020019450505050506040516020818303038152906040528051906020012090506200612367d5638e0e835e9fc260c01b62001e30565b620061396765b94d8c76f4fb1960c01b62001e30565b8060001c92505050919050565b60006200615e6769d35e844fb436a560c01b62001e30565b6200617467d05843a5b30ee56160c01b62001e30565b6200618a676a5949dc1605b72d60c01b62001e30565b600083600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051620061e19062006b22565b808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff168152602001925050508190604051809103906000f59050801580156200623f573d6000803e3d6000fd5b50905062006258671fbc5a34026c932160c01b62001e30565b6200626e6729f16a915d858e6660c01b62001e30565b82156200634a576200628b674ad44f27dbd7e2bf60c01b62001e30565b620062a1671948a2809685e8a560c01b62001e30565b620062b7674e798983ba62ea2160c01b62001e30565b7f2682a218602b9036c9869f006c5405ee4a1a65267653eb7e286123e5e1afde4c81600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a162006361565b620063606753f95733749efee660c01b62001e30565b5b620063776713228e0b40e520f960c01b62001e30565b6200638d679f460b7957fd280860c01b62001e30565b8091505092915050565b50565b620063b06757e53bb83d0ee18c60c01b62001e30565b620063c6674b6db0292681de8060c01b62001e30565b620063dc67634dbba0de15713160c01b62001e30565b620063f26716603faf2a4da76360c01b62001e30565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200647a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603581526020018062007b5d6035913960400191505060405180910390fd5b6200649067fdb2085a5ff3fca060c01b62001e30565b620064a6677c845799041d8f7d60c01b62001e30565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620064fd67cb55668fb6fee71c60c01b62001e30565b6200651367372f88a4084cef5b60c01b62001e30565b8015620065d15762006530671b487ad986e5d06660c01b62001e30565b6200654667734c16c2ea37d8f760c01b62001e30565b6200655c670feaed23a94b80cf60c01b62001e30565b7f02e3c47057b8dc27a0929d3c394c314c73aa002d46939c31c9f71d1e77e86c10600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1620065e8565b620065e767b56e759927012ec660c01b62001e30565b5b5050565b50565b6000620066076787c8246a4b35d1f160c01b62002f62565b6200661d67976a1e8d41064d2460c01b62002f62565b62006633671867d8bf077bb31160c01b62002f62565b60006200664b67bdfeda5454a1273960c01b62002f62565b62006661677709e048711a13c960c01b62002f62565b6200666b620067a7565b1562006742576200668767d3c6f6b0bcac9b6e60c01b62002f62565b6200669d673b2573735f5d680260c01b62002f62565b620066b3675089eb0622c78a2260c01b62002f62565b6000836000369050039050620066d4674bc94a8e9a6ee57960c01b62002f62565b6200673960003683906014850192620066f09392919062006b30565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050620069a8565b91505062006772565b62006758677e45e81af2ec2edc60c01b62002f62565b6200676e67391e31dbfdfb407e60c01b62002f62565b3390505b6200678867c4042e2c7c2c999760c01b62002f62565b6200679e67fc44c5cccf2cd16760c01b62002f62565b80915050919050565b6000620067bf6714ec9ba31585b6f760c01b62002f62565b620067d56764d00f8ee4cbc0f460c01b62002f62565b620067eb6728aef4b71ffef7e260c01b62002f62565b600062006803677b6cf6392b8d09d960c01b62002f62565b6200681967da655f124163f4bc60c01b62002f62565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156200695e5762006886678c4556fd14dc507160c01b62002f62565b6200689c674811af4455ee520960c01b62002f62565b620068b267ae36e4b52033411860c01b62002f62565b620068c867ffe63a27679b309260c01b62002f62565b602c6000369050101562006928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018062007be66022913960400191505060405180910390fd5b6200693e67d1762b0b1ca636f360c01b62002f62565b620069546769c465f7e405b9f660c01b62002f62565b6001905062006975565b620069746710f40798097af22060c01b62002f62565b5b6200698b671855328cbdf7411660c01b62002f62565b620069a1670e4f1457e534f9ac60c01b62002f62565b8091505090565b6000620069c0670df8d76b8cabf76a60c01b62006b1f565b620069d667e180fcce9e2bf4c560c01b62006b1f565b620069ec670dcb70abe8e8bb0b60c01b62006b1f565b600062006a0467c9f13cc22eb780e060c01b62006b1f565b62006a1a67c60f8d891ff21de960c01b62006b1f565b62006a306782bb9e679e55c73460c01b62006b1f565b601483511462006aa8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f42797465734c69623a20696e76616c69642064617461206c656e67746800000081525060200191505060405180910390fd5b62006abe679ea304b1b6348ade60c01b62006b1f565b62006ad467a0049b4768bf518260c01b62006b1f565b6c01000000000000000000000000602084015104905062006b00671f4dc55703cfba1860c01b62006b1f565b62006b1667afb63a07e82275e260c01b62006b1f565b80915050919050565b50565b610f328062006b6683390190565b6000808585111562006b4157600080fd5b8386111562006b4f57600080fd5b600185028301915084860390509450949250505056fe608060405234801561001057600080fd5b50604051610f32380380610f328339818101604052604081101561003357600080fd5b810190808051906020019092919080519060200190929190505050610068674c05ed6aa1cd281960c01b61019960201b60201c565b610082675db0dfd7018850c360c01b61019960201b60201c565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506100dc6727cd07b305f6130f60c01b61019c60201b60201c565b6100f6673763e953c2595ed960c01b61019c60201b60201c565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610151679802ebbc23dba3ba60c01b61019c60201b60201c565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505061019f565b50565b50565b610d84806101ae6000396000f3fe6080604052600436106100e15760003560e01c80635c60da1b1161007f578063a42ea70811610059578063a42ea7081461067a578063d1c43eae146106d0578063d784d42614610726578063f77c479114610777576100e8565b80635c60da1b1461058c5780637b103999146105cd5780638f9bda6e1461060e576100e8565b80633f579f42116100bb5780633f579f421461031f57806344f9c9ec14610448578063550648ff146104b457806356c2fc6c14610520576100e8565b806310b90163146101f1578063221523e51461025d57806325afd90f146102c9576100e8565b366100e857005b3480156100f457600080fd5b5061010967d1c166158a76fd7860c01b6107b8565b61011d670a4a924f04604fe560c01b6107b8565b610131670ec1ea2f1a11078060c01b6107b8565b600080369050146101db57610150670366ed24f6d51c0d60c01b6107b8565b61016467583b5ef5a1a2fce260c01b6107b8565b61017867726acafc478ad1f860c01b6107b8565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506101b3673d8591565072bf1f60c01b6107b8565b368060008037600080826000855af43d806000803e81600081146101d657816000f35b816000fd5b6101ef67967eae13d5222be260c01b6107b8565b005b3480156101fd57600080fd5b506102456004803603602081101561021457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107bb565b60405180821515815260200191505060405180910390f35b34801561026957600080fd5b506102b16004803603602081101561028057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107c2565b60405180821515815260200191505060405180910390f35b3480156102d557600080fd5b5061031d600480360360208110156102ec57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506107b8565b005b34801561032b57600080fd5b506103cd6004803603606081101561034257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561038957600080fd5b82018360208201111561039b57600080fd5b803590602001918460018302840111640100000000831117156103bd57600080fd5b90919293919293905050506107c9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561040d5780820151818401526020810190506103f2565b50505050905090810190601f16801561043a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561045457600080fd5b5061049c6004803603602081101561046b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610afd565b60405180821515815260200191505060405180910390f35b3480156104c057600080fd5b50610508600480360360208110156104d757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b08565b60405180821515815260200191505060405180910390f35b34801561052c57600080fd5b506105746004803603602081101561054357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b0f565b60405180821515815260200191505060405180910390f35b34801561059857600080fd5b506105a1610b1a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105d957600080fd5b506105e2610b40565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561061a57600080fd5b506106626004803603602081101561063157600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b66565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506106ce6004803603602081101561069d57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b71565b005b3480156106dc57600080fd5b50610724600480360360208110156106f357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610b74565b005b34801561073257600080fd5b506107756004803603602081101561074957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b77565b005b34801561078357600080fd5b5061078c610d27565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b50565b6000919050565b6000919050565b60606107df6715e98a49f265557060c01b6107b8565b6107f367f6266a592c249da560c01b610b74565b6108076728279893f8537e1960c01b610b74565b61081b67d300d0a9ecbe6cac60c01b610b74565b61082f678d5c0caa285e3ec560c01b610b74565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610d4c602c913960400191505060405180910390fd5b6108e76718b2e4dd03bc759a60c01b610b74565b6108fb67f8b65e28b897a44f60c01b610b74565b61090f67390c85347f6e2a2360c01b6107b8565b61092367d2a3446ca25e972660c01b6107b8565b61093767aca9b4091d5a9bc860c01b6107b8565b61094b67cce790cad14eb25260c01b6107b8565b606061096167b3adbec8c64c374360c01b6107b8565b6109756791d717b4dffb179d60c01b6107b8565b600061098b67310ff00dd2ac011060c01b6107b8565b8673ffffffffffffffffffffffffffffffffffffffff1686868660405180838380828437808301925050509250505060006040518083038185875af1925050503d80600081146109f7576040519150601f19603f3d011682016040523d82523d6000602084013e6109fc565b606091505b508093508192505050610a1967a450d3c3f63b6d4d60c01b6107b8565b610a2d679a3e7d330ffc414560c01b6107b8565b610a41671925c722e30d4f6d60c01b6107b8565b80610ab4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4163636f756e743a207472616e73616374696f6e20726576657274656400000081525060200191505060405180910390fd5b610ac867a7fa168288301d1c60c01b6107b8565b610adc6745320fb16320fa4a60c01b6107b8565b610af06779ce6fa2117b3f1e60c01b6107b8565b8192505050949350505050565b600060019050919050565b6000919050565b600060019050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b50565b50565b610b8b6735cfec4d4a3972f660c01b6107b8565b610b9f67f6266a592c249da560c01b610b74565b610bb36728279893f8537e1960c01b610b74565b610bc767d300d0a9ecbe6cac60c01b610b74565b610bdb678d5c0caa285e3ec560c01b610b74565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610d4c602c913960400191505060405180910390fd5b610c936718b2e4dd03bc759a60c01b610b74565b610ca767f8b65e28b897a44f60c01b610b74565b610cbb67dbd823a6f693c9e360c01b6107b8565b610ccf6759af4a1e64a734ae60c01b6107b8565b610ce367123d1e7dcae181d060c01b6107b8565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe436f6e74726f6c6c65643a206d73672e73656e646572206973206e6f742074686520636f6e74726f6c6c6572a164736f6c634300060c000a4163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420496d706c656d656e746174696f6e20746f20307830506572736f6e616c4163636f756e7452656769737472793a2073656e646572206973206e6f7420746865206163636f756e74206f776e65724163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f2073656c66506572736f6e616c4163636f756e7452656769737472793a206f776e657220646f65736e27742065786973744163636f756e74436f6e74726f6c6c65723a2063616e6e6f7420736574206163636f756e7420726567697374727920746f20307830496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a65724163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f2030783047617465776179526563697069656e743a20696e76616c6964206d73672e646174614163636f756e74436f6e74726f6c6c65723a206163636f756e7420616c7265616479207570677261646564506572736f6e616c4163636f756e7452656769737472793a2063616e6e6f742072656d6f76652073656c66477561726465643a2074782e6f726967696e206973206e6f742074686520677561726469616e506572736f6e616c4163636f756e7452656769737472793a204552433230546f6b656e207472616e736665722072657665727465644163636f756e74436f6e74726f6c6c65723a2063616e6e6f742073656e6420746f20636f6e74726f6c6c6572506572736f6e616c4163636f756e7452656769737472793a206f776e657220616c726561647920657869737473506572736f6e616c4163636f756e7452656769737472793a2063616e6e6f742061646420307830206f776e6572a164736f6c634300060c000a"; type PersonalAccountRegistryConstructorParams = | [signer?: Signer] diff --git a/typings/factories/ReentrancyGuard__factory.ts b/typings/factories/ReentrancyGuard__factory.ts index d29f2d6a..2db476b8 100644 --- a/typings/factories/ReentrancyGuard__factory.ts +++ b/typings/factories/ReentrancyGuard__factory.ts @@ -15,6 +15,57 @@ const _abi = [ name: "ReentrancyError", type: "error", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9296fc39", + type: "bytes8", + }, + ], + name: "c_9296fc39", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9296fc39", + type: "bytes8", + }, + ], + name: "c_false9296fc39", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9296fc39", + type: "bytes8", + }, + ], + name: "c_true9296fc39", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, ]; export class ReentrancyGuard__factory { diff --git a/typings/factories/SGReceiver__factory.ts b/typings/factories/SGReceiver__factory.ts index dd195d0a..27e254f2 100644 --- a/typings/factories/SGReceiver__factory.ts +++ b/typings/factories/SGReceiver__factory.ts @@ -17,11 +17,6 @@ const _abi = [ stateMutability: "nonpayable", type: "constructor", }, - { - inputs: [], - name: "ReentrancyError", - type: "error", - }, { anonymous: false, inputs: [ @@ -82,7 +77,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50604051610ce2380380610ce28339818101604052810190610032919061008d565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506100ff565b600081519050610087816100e8565b92915050565b60006020828403121561009f57600080fd5b60006100ad84828501610078565b91505092915050565b60006100c1826100c8565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6100f1816100b6565b81146100fc57600080fd5b50565b610bd48061010e6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ab8236f314610030575b600080fd5b61004a60048036038101906100459190610612565b61004c565b005b60006100566101bf565b9050600181600001541415610097576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461012f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012690610861565b60405180910390fd5b60008280602001905181019061014591906105c0565b905061017281858773ffffffffffffffffffffffffffffffffffffffff166101ec9092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c85856040516101a39291906107f6565b60405180910390a1506000816000018190555050505050505050565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b61026d8363a9059cbb60e01b848460405160240161020b9291906107f6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610272565b505050565b60006102d4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166103399092919063ffffffff16565b905060008151111561033457808060200190518101906102f491906105e9565b610333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032a906108a1565b60405180910390fd5b5b505050565b60606103488484600085610351565b90509392505050565b606082471015610396576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038d90610841565b60405180910390fd5b61039f85610465565b6103de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d590610881565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161040791906107df565b60006040518083038185875af1925050503d8060008114610444576040519150601f19603f3d011682016040523d82523d6000602084013e610449565b606091505b5091509150610459828286610488565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610498578290506104e8565b6000835111156104ab5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104df919061081f565b60405180910390fd5b9392505050565b60006105026104fd846108e6565b6108c1565b90508281526020810184848401111561051a57600080fd5b6105258482856109b1565b509392505050565b60008135905061053c81610b54565b92915050565b60008151905061055181610b6b565b92915050565b60008151905061056681610b82565b92915050565b600082601f83011261057d57600080fd5b813561058d8482602086016104ef565b91505092915050565b6000813590506105a581610b99565b92915050565b6000813590506105ba81610bb0565b92915050565b6000602082840312156105d257600080fd5b60006105e084828501610542565b91505092915050565b6000602082840312156105fb57600080fd5b600061060984828501610557565b91505092915050565b60008060008060008060c0878903121561062b57600080fd5b600061063989828a01610596565b965050602087013567ffffffffffffffff81111561065657600080fd5b61066289828a0161056c565b955050604061067389828a016105ab565b945050606061068489828a0161052d565b935050608061069589828a016105ab565b92505060a087013567ffffffffffffffff8111156106b257600080fd5b6106be89828a0161056c565b9150509295509295509295565b6106d481610949565b82525050565b60006106e582610917565b6106ef818561092d565b93506106ff8185602086016109c0565b80840191505092915050565b600061071682610922565b6107208185610938565b93506107308185602086016109c0565b61073981610a53565b840191505092915050565b6000610751602683610938565b915061075c82610a64565b604082019050919050565b6000610774601f83610938565b915061077f82610ab3565b602082019050919050565b6000610797601d83610938565b91506107a282610adc565b602082019050919050565b60006107ba602a83610938565b91506107c582610b05565b604082019050919050565b6107d9816109a7565b82525050565b60006107eb82846106da565b915081905092915050565b600060408201905061080b60008301856106cb565b61081860208301846107d0565b9392505050565b60006020820190508181036000830152610839818461070b565b905092915050565b6000602082019050818103600083015261085a81610744565b9050919050565b6000602082019050818103600083015261087a81610767565b9050919050565b6000602082019050818103600083015261089a8161078a565b9050919050565b600060208201905081810360008301526108ba816107ad565b9050919050565b60006108cb6108dc565b90506108d782826109f3565b919050565b6000604051905090565b600067ffffffffffffffff82111561090157610900610a24565b5b61090a82610a53565b9050602081019050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061095482610987565b9050919050565b600061096682610987565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156109de5780820151818401526020810190506109c3565b838111156109ed576000848401525b50505050565b6109fc82610a53565b810181811067ffffffffffffffff82111715610a1b57610a1a610a24565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b610b5d81610949565b8114610b6857600080fd5b50565b610b748161095b565b8114610b7f57600080fd5b50565b610b8b8161096d565b8114610b9657600080fd5b50565b610ba281610979565b8114610bad57600080fd5b50565b610bb9816109a7565b8114610bc457600080fd5b5056fea164736f6c6343000804000a"; + "0x608060405234801561001057600080fd5b50604051610c55380380610c558339818101604052810190610032919061008d565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506100ff565b600081519050610087816100e8565b92915050565b60006020828403121561009f57600080fd5b60006100ad84828501610078565b91505092915050565b60006100c1826100c8565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6100f1816100b6565b81146100fc57600080fd5b50565b610b478061010e6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ab8236f314610030575b600080fd5b61004a60048036038101906100459190610585565b61004c565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146100da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100d1906107d4565b60405180910390fd5b6000818060200190518101906100f09190610533565b905061011d81848673ffffffffffffffffffffffffffffffffffffffff1661015f9092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c848460405161014e929190610769565b60405180910390a150505050505050565b6101e08363a9059cbb60e01b848460405160240161017e929190610769565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506101e5565b505050565b6000610247826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166102ac9092919063ffffffff16565b90506000815111156102a75780806020019051810190610267919061055c565b6102a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029d90610814565b60405180910390fd5b5b505050565b60606102bb84846000856102c4565b90509392505050565b606082471015610309576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610300906107b4565b60405180910390fd5b610312856103d8565b610351576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610348906107f4565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161037a9190610752565b60006040518083038185875af1925050503d80600081146103b7576040519150601f19603f3d011682016040523d82523d6000602084013e6103bc565b606091505b50915091506103cc8282866103fb565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060831561040b5782905061045b565b60008351111561041e5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104529190610792565b60405180910390fd5b9392505050565b600061047561047084610859565b610834565b90508281526020810184848401111561048d57600080fd5b610498848285610924565b509392505050565b6000813590506104af81610ac7565b92915050565b6000815190506104c481610ade565b92915050565b6000815190506104d981610af5565b92915050565b600082601f8301126104f057600080fd5b8135610500848260208601610462565b91505092915050565b60008135905061051881610b0c565b92915050565b60008135905061052d81610b23565b92915050565b60006020828403121561054557600080fd5b6000610553848285016104b5565b91505092915050565b60006020828403121561056e57600080fd5b600061057c848285016104ca565b91505092915050565b60008060008060008060c0878903121561059e57600080fd5b60006105ac89828a01610509565b965050602087013567ffffffffffffffff8111156105c957600080fd5b6105d589828a016104df565b95505060406105e689828a0161051e565b94505060606105f789828a016104a0565b935050608061060889828a0161051e565b92505060a087013567ffffffffffffffff81111561062557600080fd5b61063189828a016104df565b9150509295509295509295565b610647816108bc565b82525050565b60006106588261088a565b61066281856108a0565b9350610672818560208601610933565b80840191505092915050565b600061068982610895565b61069381856108ab565b93506106a3818560208601610933565b6106ac816109c6565b840191505092915050565b60006106c46026836108ab565b91506106cf826109d7565b604082019050919050565b60006106e7601f836108ab565b91506106f282610a26565b602082019050919050565b600061070a601d836108ab565b915061071582610a4f565b602082019050919050565b600061072d602a836108ab565b915061073882610a78565b604082019050919050565b61074c8161091a565b82525050565b600061075e828461064d565b915081905092915050565b600060408201905061077e600083018561063e565b61078b6020830184610743565b9392505050565b600060208201905081810360008301526107ac818461067e565b905092915050565b600060208201905081810360008301526107cd816106b7565b9050919050565b600060208201905081810360008301526107ed816106da565b9050919050565b6000602082019050818103600083015261080d816106fd565b9050919050565b6000602082019050818103600083015261082d81610720565b9050919050565b600061083e61084f565b905061084a8282610966565b919050565b6000604051905090565b600067ffffffffffffffff82111561087457610873610997565b5b61087d826109c6565b9050602081019050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60006108c7826108fa565b9050919050565b60006108d9826108fa565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610951578082015181840152602081019050610936565b83811115610960576000848401525b50505050565b61096f826109c6565b810181811067ffffffffffffffff8211171561098e5761098d610997565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b610ad0816108bc565b8114610adb57600080fd5b50565b610ae7816108ce565b8114610af257600080fd5b50565b610afe816108e0565b8114610b0957600080fd5b50565b610b15816108ec565b8114610b2057600080fd5b50565b610b2c8161091a565b8114610b3757600080fd5b5056fea164736f6c6343000804000a"; type SGReceiverConstructorParams = | [signer?: Signer] diff --git a/typings/factories/SafeMathLib__factory.ts b/typings/factories/SafeMathLib__factory.ts index 1ddde6aa..4f04d495 100644 --- a/typings/factories/SafeMathLib__factory.ts +++ b/typings/factories/SafeMathLib__factory.ts @@ -10,11 +10,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__329dc82e", + name: "c__da111b5b", type: "bytes8", }, ], - name: "c_329dc82e", + name: "c_da111b5b", outputs: [], stateMutability: "pure", type: "function", @@ -23,11 +23,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__329dc82e", + name: "c__da111b5b", type: "bytes8", }, ], - name: "c_false329dc82e", + name: "c_falseda111b5b", outputs: [ { internalType: "bool", @@ -42,11 +42,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__329dc82e", + name: "c__da111b5b", type: "bytes8", }, ], - name: "c_true329dc82e", + name: "c_trueda111b5b", outputs: [ { internalType: "bool", @@ -60,7 +60,7 @@ const _abi = [ ]; const _bytecode = - "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80634cf8faef146100505780635e02548614610099578063d054104b146100f8575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b005b6100e0600480360360208110156100af57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061015a565b60405180821515815260200191505060405180910390f35b61013f6004803603602081101561010e57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610165565b60405180821515815260200191505060405180910390f35b50565b600060019050919050565b600091905056fea164736f6c634300060c000a"; + "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c8063449b69d514610050578063c5ed9dae146100af578063ff375344146100f8575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b60405180821515815260200191505060405180910390f35b6100f6600480360360208110156100c557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061015e565b005b61013f6004803603602081101561010e57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610161565b60405180821515815260200191505060405180910390f35b6000919050565b50565b60006001905091905056fea164736f6c634300060c000a"; type SafeMathLibConstructorParams = | [signer?: Signer] diff --git a/typings/factories/SignatureValidator__factory.ts b/typings/factories/SignatureValidator__factory.ts index e92fd3a0..dd3d799c 100644 --- a/typings/factories/SignatureValidator__factory.ts +++ b/typings/factories/SignatureValidator__factory.ts @@ -10,6 +10,57 @@ import type { } from "../SignatureValidator"; const _abi = [ + { + inputs: [ + { + internalType: "bytes8", + name: "c__52615ca8", + type: "bytes8", + }, + ], + name: "c_52615ca8", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__52615ca8", + type: "bytes8", + }, + ], + name: "c_false52615ca8", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__52615ca8", + type: "bytes8", + }, + ], + name: "c_true52615ca8", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [], name: "chainId", diff --git a/typings/factories/StargateFacet__factory.ts b/typings/factories/StargateFacet__factory.ts index aad59f73..894d054b 100644 --- a/typings/factories/StargateFacet__factory.ts +++ b/typings/factories/StargateFacet__factory.ts @@ -53,9 +53,9 @@ const _abi = [ }, { indexed: false, - internalType: "uint16", + internalType: "uint256", name: "chainIdTo", - type: "uint16", + type: "uint256", }, ], name: "StargateETHSwap", @@ -78,9 +78,9 @@ const _abi = [ }, { indexed: false, - internalType: "uint16", + internalType: "uint256", name: "chainId", - type: "uint16", + type: "uint256", }, ], name: "StargateInitialized", @@ -134,14 +134,116 @@ const _abi = [ }, { indexed: false, - internalType: "uint16", + internalType: "uint256", name: "chainIdTo", - type: "uint16", + type: "uint256", }, ], name: "StargateTokenSwap", type: "event", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__8de507f8", + type: "bytes8", + }, + ], + name: "c_8de507f8", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9296fc39", + type: "bytes8", + }, + ], + name: "c_9296fc39", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__8de507f8", + type: "bytes8", + }, + ], + name: "c_false8de507f8", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9296fc39", + type: "bytes8", + }, + ], + name: "c_false9296fc39", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__8de507f8", + type: "bytes8", + }, + ], + name: "c_true8de507f8", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__9296fc39", + type: "bytes8", + }, + ], + name: "c_true9296fc39", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [ { @@ -174,9 +276,9 @@ const _abi = [ type: "address", }, { - internalType: "uint16", + internalType: "uint256", name: "_chainId", - type: "uint16", + type: "uint256", }, { components: [ @@ -267,9 +369,9 @@ const _abi = [ type: "uint256", }, { - internalType: "uint16", + internalType: "uint256", name: "dstChainId", - type: "uint16", + type: "uint256", }, { internalType: "address", @@ -307,9 +409,9 @@ const _abi = [ type: "address", }, { - internalType: "uint16", + internalType: "uint256", name: "dstChainId", - type: "uint16", + type: "uint256", }, { internalType: "uint16", @@ -373,9 +475,9 @@ const _abi = [ type: "address", }, { - internalType: "uint16", + internalType: "uint256", name: "dstChainId", - type: "uint16", + type: "uint256", }, { internalType: "uint16", @@ -416,7 +518,7 @@ const _abi = [ ]; const _bytecode = - "0x60a060405261271060809081525034801561001957600080fd5b50608051612ce961004a600039600081816103200152818161035801528181610b560152610b8e0152612ce96000f3fe6080604052600436106100705760003560e01c8063be9899101161004e578063be989910146100e3578063ce36ebd314610120578063d61bf1fa1461013c578063e08e50711461016557610070565b8063295d4d41146100755780638083a0db1461009e578063ab8236f3146100ba575b600080fd5b34801561008157600080fd5b5061009c6004803603810190610097919061166e565b6101a2565b005b6100b860048036038101906100b391906116d3565b610224565b005b3480156100c657600080fd5b506100e160048036038101906100dc91906118a5565b61062d565b005b3480156100ef57600080fd5b5061010a600480360381019061010591906119a8565b610727565b60405161011791906119f9565b60405180910390f35b61013a60048036038101906101359190611a33565b610877565b005b34801561014857600080fd5b50610163600480360381019061015e9190611ac0565b610cdf565b005b34801561017157600080fd5b5061018c60048036038101906101879190611b48565b610ee0565b6040516101999190611b84565b60405180910390f35b6101aa610f66565b60006101b4611001565b90508181600201600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055507f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc8383604051610217929190611b9f565b60405180910390a1505050565b600061022e61102e565b9050600181600001540361026e576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160000181905550600034116102bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b290611c4b565b60405180910390fd5b6000826000013511610302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f990611cb7565b60405180910390fd5b600061030c61105b565b9050600061031a8483610727565b905060007f00000000000000000000000000000000000000000000000000000000000000008560c00160208101906103529190611cd7565b61ffff167f00000000000000000000000000000000000000000000000000000000000000006103819190611d33565b86600001356103909190611d67565b61039a9190611dd8565b905060008560e00160208101906103b19190611e09565b6040516020016103c19190611e7e565b604051602081830303815290604052905060008660a00160208101906103e79190611e09565b6040516020016103f79190611ea8565b604051602081830303815290604052905061044b333089600001358a60200160208101906104259190611e09565b73ffffffffffffffffffffffffffffffffffffffff1661108e909392919063ffffffff16565b61048c8588600001358960200160208101906104679190611e09565b73ffffffffffffffffffffffffffffffffffffffff166111179092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc856104c88a60400160208101906104bf9190611cd7565b61ffff16610ee0565b8a60600160208101906104db9190611cd7565b8b60800160208101906104ee9190611cd7565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b815260040161056f99989796959493929190612047565b6000604051808303818588803b15801561058857600080fd5b505af115801561059c573d6000803e3d6000fd5b50505050507f31eb00194969f6cba80ac5ec213e3be164bc8c1e075f8a154dc31856b946a8668760200160208101906105d59190611e09565b338960a00160208101906105e99190611e09565b8a600001358b60400160208101906106019190611cd7565b6040516106129594939291906120e9565b60405180910390a15050505050600081600001819055505050565b61063561105b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069990612188565b60405180910390fd5b6000818060200190518101906106b891906121d4565b90506106e581848673ffffffffffffffffffffffffffffffffffffffff166112669092919063ffffffff16565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c8484604051610716929190612201565b60405180910390a150505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff16630a51236961076586604001602081019061075c9190611cd7565b61ffff16610ee0565b60018760e001602081019061077a9190611e09565b60405160200161078a9190611e7e565b6040516020818303038152906040528860a00160208101906107ac9190611e09565b6040516020016107bc9190611ea8565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016107f89190611e7e565b6040516020818303038152906040528152506040518663ffffffff1660e01b815260040161082a959493929190612272565b6040805180830381865afa158015610846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086a91906122ef565b5090508091505092915050565b600061088161102e565b905060018160000154036108c1576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816000018190555060006108d56112ec565b61ffff16905060018114806108eb575061a4b181145b806108f65750600a81145b610935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092c906123a1565b60405180910390fd5b600183602001602081019061094a9190611cd7565b61ffff161480610971575061a4b183602001602081019061096b9190611cd7565b61ffff16145b806109925750600a83602001602081019061098c9190611cd7565b61ffff16145b6109d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c890612433565b60405180910390fd5b60003411610a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0b9061249f565b60405180910390fd5b6000836000013511610a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5290611cb7565b60405180910390fd5b82600001353411610aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9890612531565b60405180910390fd5b6000610aab61130d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b13906125c3565b60405180910390fd5b6000846040016020810190610b319190611e09565b604051602001610b419190611e7e565b604051602081830303815290604052905060007f0000000000000000000000000000000000000000000000000000000000000000866060016020810190610b889190611cd7565b61ffff167f0000000000000000000000000000000000000000000000000000000000000000610bb79190611d33565b8760000135610bc69190611d67565b610bd09190611dd8565b90508273ffffffffffffffffffffffffffffffffffffffff16631114cd2a34610c0e896020016020810190610c059190611cd7565b61ffff16610ee0565b33868b60000135876040518763ffffffff1660e01b8152600401610c369594939291906125e3565b6000604051808303818588803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b50505050507f96d8881a4aa5dbc2504224c656dc33918e070ada05b7379f89ef88e706bec7ce33876040016020810190610c9d9190611e09565b8860000135896020016020810190610cb59190611cd7565b604051610cc5949392919061263d565b60405180910390a150505050600081600001819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610d4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d45906126f4565b60405180910390fd5b610d56610f66565b6000610d60611001565b9050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160146101000a81548161ffff021916908361ffff16021790555060005b83839050811015610e9c57838382818110610e2857610e27612714565b5b9050604002016020016020810190610e409190611cd7565b826002016000868685818110610e5957610e58612714565b5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610e9590612743565b9050610e0a565b507ff8e02de410f1c38e546e1d21837caec2532bb788d33a385f7946d40c99b4addb868686604051610ed09392919061278b565b60405180910390a1505050505050565b600080610eeb611001565b9050600081600201600085815260200190815260200160002060009054906101000a900461ffff16905060008161ffff1603610f5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5390612834565b60405180910390fd5b8092505050919050565b610f6e611340565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff6906128c6565b60405180910390fd5b565b6000807fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c890508091505090565b6000807fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b490508091505090565b6000611065611001565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611111846323b872dd60e01b8585856040516024016110af939291906128e6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b50505050565b60008114806111a1575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161115e92919061291d565b602060405180830381865afa15801561117b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119f9190612946565b145b6111e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d7906129e5565b60405180910390fd5b6112618363095ea7b360e01b84846040516024016111ff929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b6112e78363a9059cbb60e01b8484604051602401611285929190612201565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061136d565b505050565b60006112f6611001565b60010160149054906101000a900461ffff16905090565b6000611317611001565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60006113cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166114349092919063ffffffff16565b905060008151111561142f57808060200190518101906113ef9190612a3d565b61142e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142590612adc565b60405180910390fd5b5b505050565b6060611443848460008561144c565b90509392505050565b606082471015611491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148890612b6e565b60405180910390fd5b61149a85611560565b6114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d090612bda565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115029190612c36565b60006040518083038185875af1925050503d806000811461153f576040519150601f19603f3d011682016040523d82523d6000602084013e611544565b606091505b5091509150611554828286611583565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315611593578290506115e3565b6000835111156115a65782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115da9190612c91565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b611611816115fe565b811461161c57600080fd5b50565b60008135905061162e81611608565b92915050565b600061ffff82169050919050565b61164b81611634565b811461165657600080fd5b50565b60008135905061166881611642565b92915050565b60008060408385031215611685576116846115f4565b5b60006116938582860161161f565b92505060206116a485828601611659565b9150509250929050565b600080fd5b600061010082840312156116ca576116c96116ae565b5b81905092915050565b600061010082840312156116ea576116e96115f4565b5b60006116f8848285016116b3565b91505092915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6117548261170b565b810181811067ffffffffffffffff821117156117735761177261171c565b5b80604052505050565b60006117866115ea565b9050611792828261174b565b919050565b600067ffffffffffffffff8211156117b2576117b161171c565b5b6117bb8261170b565b9050602081019050919050565b82818337600083830152505050565b60006117ea6117e584611797565b61177c565b90508281526020810184848401111561180657611805611706565b5b6118118482856117c8565b509392505050565b600082601f83011261182e5761182d611701565b5b813561183e8482602086016117d7565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061187282611847565b9050919050565b61188281611867565b811461188d57600080fd5b50565b60008135905061189f81611879565b92915050565b60008060008060008060c087890312156118c2576118c16115f4565b5b60006118d089828a01611659565b965050602087013567ffffffffffffffff8111156118f1576118f06115f9565b5b6118fd89828a01611819565b955050604061190e89828a0161161f565b945050606061191f89828a01611890565b935050608061193089828a0161161f565b92505060a087013567ffffffffffffffff811115611951576119506115f9565b5b61195d89828a01611819565b9150509295509295509295565b600061197582611867565b9050919050565b6119858161196a565b811461199057600080fd5b50565b6000813590506119a28161197c565b92915050565b60008061012083850312156119c0576119bf6115f4565b5b60006119ce858286016116b3565b9250506101006119e085828601611993565b9150509250929050565b6119f3816115fe565b82525050565b6000602082019050611a0e60008301846119ea565b92915050565b600060808284031215611a2a57611a296116ae565b5b81905092915050565b600060808284031215611a4957611a486115f4565b5b6000611a5784828501611a14565b91505092915050565b600080fd5b600080fd5b60008083601f840112611a8057611a7f611701565b5b8235905067ffffffffffffffff811115611a9d57611a9c611a60565b5b602083019150836040820283011115611ab957611ab8611a65565b5b9250929050565b600080600080600060808688031215611adc57611adb6115f4565b5b6000611aea88828901611890565b9550506020611afb88828901611890565b9450506040611b0c88828901611659565b935050606086013567ffffffffffffffff811115611b2d57611b2c6115f9565b5b611b3988828901611a6a565b92509250509295509295909350565b600060208284031215611b5e57611b5d6115f4565b5b6000611b6c8482850161161f565b91505092915050565b611b7e81611634565b82525050565b6000602082019050611b996000830184611b75565b92915050565b6000604082019050611bb460008301856119ea565b611bc16020830184611b75565b9392505050565b600082825260208201905092915050565b7f53746172676174653a3a206d73672e76616c756520726571756972656420746f60008201527f20706179206d6573736167650000000000000000000000000000000000000000602082015250565b6000611c35602c83611bc8565b9150611c4082611bd9565b604082019050919050565b60006020820190508181036000830152611c6481611c28565b9050919050565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b6000611ca1601b83611bc8565b9150611cac82611c6b565b602082019050919050565b60006020820190508181036000830152611cd081611c94565b9050919050565b600060208284031215611ced57611cec6115f4565b5b6000611cfb84828501611659565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d3e826115fe565b9150611d49836115fe565b9250828203905081811115611d6157611d60611d04565b5b92915050565b6000611d72826115fe565b9150611d7d836115fe565b9250828202611d8b816115fe565b91508282048414831517611da257611da1611d04565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611de3826115fe565b9150611dee836115fe565b925082611dfe57611dfd611da9565b5b828204905092915050565b600060208284031215611e1f57611e1e6115f4565b5b6000611e2d84828501611890565b91505092915050565b60008160601b9050919050565b6000611e4e82611e36565b9050919050565b6000611e6082611e43565b9050919050565b611e78611e7382611867565b611e55565b82525050565b6000611e8a8284611e67565b60148201915081905092915050565b611ea281611867565b82525050565b6000602082019050611ebd6000830184611e99565b92915050565b6000819050919050565b6000611ee8611ee3611ede84611634565b611ec3565b6115fe565b9050919050565b611ef881611ecd565b82525050565b6000611f0982611847565b9050919050565b611f1981611efe565b82525050565b611f28816115fe565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f68578082015181840152602081019050611f4d565b60008484015250505050565b6000611f7f82611f2e565b611f898185611f39565b9350611f99818560208601611f4a565b611fa28161170b565b840191505092915050565b6000606083016000830151611fc56000860182611f1f565b506020830151611fd86020860182611f1f565b5060408301518482036040860152611ff08282611f74565b9150508091505092915050565b600082825260208201905092915050565b600061201982611f2e565b6120238185611ffd565b9350612033818560208601611f4a565b61203c8161170b565b840191505092915050565b60006101208201905061205d600083018c611b75565b61206a602083018b611eef565b612077604083018a611eef565b6120846060830189611f10565b61209160808301886119ea565b61209e60a08301876119ea565b81810360c08301526120b08186611fad565b905081810360e08301526120c4818561200e565b90508181036101008301526120d9818461200e565b90509a9950505050505050505050565b600060a0820190506120fe6000830188611e99565b61210b6020830187611e99565b6121186040830186611e99565b61212560608301856119ea565b6121326080830184611b75565b9695505050505050565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b6000612172601f83611bc8565b915061217d8261213c565b602082019050919050565b600060208201905081810360008301526121a181612165565b9050919050565b6121b181611efe565b81146121bc57600080fd5b50565b6000815190506121ce816121a8565b92915050565b6000602082840312156121ea576121e96115f4565b5b60006121f8848285016121bf565b91505092915050565b60006040820190506122166000830185611e99565b61222360208301846119ea565b9392505050565b6000819050919050565b600060ff82169050919050565b600061225c6122576122528461222a565b611ec3565b612234565b9050919050565b61226c81612241565b82525050565b600060a0820190506122876000830188611b75565b6122946020830187612263565b81810360408301526122a6818661200e565b905081810360608301526122ba818561200e565b905081810360808301526122ce8184611fad565b90509695505050505050565b6000815190506122e981611608565b92915050565b60008060408385031215612306576123056115f4565b5b6000612314858286016122da565b9250506020612325858286016122da565b9150509250929050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b600061238b603583611bc8565b91506123968261232f565b604082019050919050565b600060208201905081810360008301526123ba8161237e565b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b600061241d603383611bc8565b9150612428826123c1565b604082019050919050565b6000602082019050818103600083015261244c81612410565b9050919050565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b6000612489601d83611bc8565b915061249482612453565b602082019050919050565b600060208201905081810360008301526124b88161247c565b9050919050565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b600061251b602883611bc8565b9150612526826124bf565b604082019050919050565b6000602082019050818103600083015261254a8161250e565b9050919050565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b60006125ad602583611bc8565b91506125b882612551565b604082019050919050565b600060208201905081810360008301526125dc816125a0565b9050919050565b600060a0820190506125f86000830188611b75565b6126056020830187611f10565b8181036040830152612617818661200e565b905061262660608301856119ea565b61263360808301846119ea565b9695505050505050565b60006080820190506126526000830187611e99565b61265f6020830186611e99565b61266c60408301856119ea565b6126796060830184611b75565b95945050505050565b7f53746172676174653a3a20696e76616c696420726f757465722061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006126de602183611bc8565b91506126e982612682565b604082019050919050565b6000602082019050818103600083015261270d816126d1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061274e826115fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127805761277f611d04565b5b600182019050919050565b60006060820190506127a06000830186611e99565b6127ad6020830185611e99565b6127ba6040830184611b75565b949350505050565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b600061281e603183611bc8565b9150612829826127c2565b604082019050919050565b6000602082019050818103600083015261284d81612811565b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b60006128b0602283611bc8565b91506128bb82612854565b604082019050919050565b600060208201905081810360008301526128df816128a3565b9050919050565b60006060820190506128fb6000830186611e99565b6129086020830185611e99565b61291560408301846119ea565b949350505050565b60006040820190506129326000830185611e99565b61293f6020830184611e99565b9392505050565b60006020828403121561295c5761295b6115f4565b5b600061296a848285016122da565b91505092915050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b60006129cf603683611bc8565b91506129da82612973565b604082019050919050565b600060208201905081810360008301526129fe816129c2565b9050919050565b60008115159050919050565b612a1a81612a05565b8114612a2557600080fd5b50565b600081519050612a3781612a11565b92915050565b600060208284031215612a5357612a526115f4565b5b6000612a6184828501612a28565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612ac6602a83611bc8565b9150612ad182612a6a565b604082019050919050565b60006020820190508181036000830152612af581612ab9565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000612b58602683611bc8565b9150612b6382612afc565b604082019050919050565b60006020820190508181036000830152612b8781612b4b565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000612bc4601d83611bc8565b9150612bcf82612b8e565b602082019050919050565b60006020820190508181036000830152612bf381612bb7565b9050919050565b600081905092915050565b6000612c1082611f2e565b612c1a8185612bfa565b9350612c2a818560208601611f4a565b80840191505092915050565b6000612c428284612c05565b915081905092915050565b600081519050919050565b6000612c6382612c4d565b612c6d8185611bc8565b9350612c7d818560208601611f4a565b612c868161170b565b840191505092915050565b60006020820190508181036000830152612cab8184612c58565b90509291505056fea26469706673582212209322f362441818c0655a2ffb0b4ddaccae4855fe24b3db9dce7dfb28c688d3ed64736f6c63430008110033"; + "0x60a060405261271060809081525034801561001957600080fd5b50608051613c5361004a6000396000818161091b015281816109530152818161174001526117780152613c536000f3fe6080604052600436106100c25760003560e01c8063839408ac1161007f578063ab8236f311610059578063ab8236f31461025a578063ac0d2b1314610283578063e08e5071146102c0578063ffa47670146102fd576100c2565b8063839408ac146101f9578063940c9dee146102155780639b250ded1461023e576100c2565b806314917f99146100c757806316016d03146100f0578063264e6c9b1461012d578063295d4d411461016a57806332a7ab5d146101935780634a6f22c4146101bc575b600080fd5b3480156100d357600080fd5b506100ee60048036038101906100e99190612548565b61033a565b005b3480156100fc57600080fd5b5061011760048036038101906101129190612548565b61033d565b6040516101249190612590565b60405180910390f35b34801561013957600080fd5b50610154600480360381019061014f9190612640565b610344565b604051610161919061269b565b60405180910390f35b34801561017657600080fd5b50610191600480360381019061018c919061271c565b6104e7565b005b34801561019f57600080fd5b506101ba60048036038101906101b59190612548565b610609565b005b3480156101c857600080fd5b506101e360048036038101906101de9190612548565b61060c565b6040516101f09190612590565b60405180910390f35b610213600480360381019061020e919061275c565b610617565b005b34801561022157600080fd5b5061023c6004803603810190610237919061281b565b610d0c565b005b610258600480360381019061025391906128c2565b61104b565b005b34801561026657600080fd5b50610281600480360381019061027c9190612a30565b61190d565b005b34801561028f57600080fd5b506102aa60048036038101906102a59190612548565b611ae3565b6040516102b79190612590565b60405180910390f35b3480156102cc57600080fd5b506102e760048036038101906102e29190612af5565b611aea565b6040516102f49190612b31565b60405180910390f35b34801561030957600080fd5b50610324600480360381019061031f9190612548565b611c4d565b6040516103319190612590565b60405180910390f35b50565b6000919050565b600061035a676b6a1706fc40421f60c01b610609565b61036e67a17253b2deeb069060c01b610609565b61038267ccc986379c4d80f160c01b610609565b60008273ffffffffffffffffffffffffffffffffffffffff16630a5123696103ad8660400135611aea565b60018760e00160208101906103c29190612b4c565b6040516020016103d29190612bc1565b6040516020818303038152906040528860a00160208101906103f49190612b4c565b6040516020016104049190612beb565b60405160208183030381529060405260405180606001604052806207a12081526020016000815260200160006040516020016104409190612bc1565b6040516020818303038152906040528152506040518663ffffffff1660e01b8152600401610472959493929190612d80565b6040805180830381865afa15801561048e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b29190612dfd565b5090506104c967e102f2c572cf40f860c01b610609565b6104dd6716e95b907e1816a560c01b610609565b8091505092915050565b6104fb67988e490ae4c703d260c01b610609565b61050f676f8f307cb7de9ab860c01b610609565b6105236758da89dc13ce7b8860c01b610609565b61052b611c58565b61053f676a22c727528aee5e60c01b610609565b61055367108c5580da60d05260c01b610609565b600061055d611d57565b905061057367f670e362f8950d9d60c01b610609565b8181600301600085815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055506105b7675bcc90cec163367d60c01b610609565b6105cb674c56ade916095c4060c01b610609565b7f50cfe49eeb0e0291ed2de7bb42b55c6edb09463f1e8d96e373069cf1430e33fc83836040516105fc929190612e3d565b60405180910390a1505050565b50565b600060019050919050565b61062b6718ed4b83c401710460c01b610609565b61063f6770f43b674d4e55d060c01b61033a565b61065367fdb58b8d5e8c5bd260c01b61033a565b61066767f88563faceb9065260c01b61033a565b6000610671611dd5565b905061068767f5511ed184b06f9d60c01b61033a565b61069b675fe6356e9bb02e7e60c01b61033a565b60018160000154036106ed576106bb67c2bf72a01148a95560c01b61033a565b6040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107016759328cc6ac1a5b8460c01b61033a565b610715676585023ebf8de8b060c01b61033a565b600181600001819055506107336794e629fc71d8c79e60c01b61033a565b610747672881a2aec321239260c01b610609565b61075b67dd2c0f1b8d09895b60c01b610609565b61076f67cd6a1ff81758e0f760c01b610609565b6107836782429254fa8269b060c01b610609565b61079767a0f691c89b27008d60c01b610609565b60008260000135116107de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d590612ec3565b60405180910390fd5b6107f2677ebf072840a4d95f60c01b610609565b61080667fed74be637eda80b60c01b610609565b61081a676eb83bf20210390c60c01b610609565b6000610824611e53565b905061083a678182ad2943df89e460c01b610609565b61084e677425dff707a185d960c01b610609565b600061085a8483610344565b9050610870674404183e17d9e74c60c01b610609565b610884673bd291009b8078c860c01b610609565b610898670f089b8f5498528860c01b610609565b803410156108db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d290612f55565b60405180910390fd5b6108ef67820939dc08b273dd60c01b610609565b61090367c4e73b662355a21b60c01b610609565b61091767a3a1bb2ef1bf1ec660c01b610609565b60007f00000000000000000000000000000000000000000000000000000000000000008560c001602081019061094d9190612f75565b61ffff167f000000000000000000000000000000000000000000000000000000000000000061097c9190612fd1565b866000013561098b9190613005565b6109959190613076565b90506109ab67cc171d672a2a38cf60c01b610609565b6109bf673cb3bfc2ae73be4260c01b610609565b60008560e00160208101906109d49190612b4c565b6040516020016109e49190612bc1565b6040516020818303038152906040529050610a09670ddeef3ed113f00660c01b610609565b610a1d674e97eb2217c77f0f60c01b610609565b60008660a0016020810190610a329190612b4c565b604051602001610a429190612beb565b6040516020818303038152906040529050610a67674dab0ce8baf9c74160c01b610609565b610a7b67b7bb61978f9d97e560c01b610609565b610abe333089600001358a6020016020810190610a989190612b4c565b73ffffffffffffffffffffffffffffffffffffffff16611ec2909392919063ffffffff16565b610ad26708c58c8607868d6660c01b610609565b610ae6672a5fdb16657578a160c01b610609565b610b27858860000135896020016020810190610b029190612b4c565b73ffffffffffffffffffffffffffffffffffffffff16611f4b9092919063ffffffff16565b610b3b67fb60f2f8d21dd4f560c01b610609565b610b4f672e33f0d6552af9c760c01b610609565b8473ffffffffffffffffffffffffffffffffffffffff16639fbf10fc85610b798a60400135611aea565b8a6060016020810190610b8c9190612f75565b8b6080016020810190610b9f9190612f75565b338d600001358a60405180606001604052806207a1208152602001600081526020016040518060400160405280600281526020017f30780000000000000000000000000000000000000000000000000000000000008152508152508b8b6040518b63ffffffff1660e01b8152600401610c20999897969594939291906130f9565b6000604051808303818588803b158015610c3957600080fd5b505af1158015610c4d573d6000803e3d6000fd5b5050505050610c6667bab67b428018644460c01b610609565b610c7a6706ce641916e6cc2c60c01b610609565b7f0e95200cdc1da2112676781af663a51503f29bb3e511cfaa660977d2580be1d0876020016020810190610cae9190612b4c565b338960a0016020810190610cc29190612b4c565b8a600001358b60400135604051610cdd95949392919061319b565b60405180910390a15050505050610cfe67441391ce80e99b6c60c01b61033a565b600081600001819055505050565b610d2067dc78b0b6dcb719a660c01b610609565b610d34671ad991e745fcd88760c01b610609565b610d4867fbb408854cfb5ba560c01b610609565b610d5c671bab65bc473a358060c01b610609565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610dcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc290613260565b60405180910390fd5b610ddf67e238d996e1c6a29b60c01b610609565b610df367346f91eeb5fc6c6260c01b610609565b610e076759434cdfca46912960c01b610609565b610e0f611c58565b610e23672f925d4afc29a3a260c01b610609565b610e3767e89ae70bcfd142a660c01b610609565b6000610e41611d57565b9050610e5767ec5bab896690566660c01b610609565b858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610eae670c86ec52c985f76e60c01b610609565b848160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f0567230957ad1da75ff460c01b610609565b838160020181905550610f2267f53cb1bb6c6a5c5860c01b610609565b610f36674dbd10ddc78689da60c01b610609565b60005b83839050811015610fdf57610f58677766d8e0fe7ffd4b60c01b610609565b838382818110610f6b57610f6a613280565b5b9050604002016020016020810190610f839190612f75565b826003016000868685818110610f9c57610f9b613280565b5b90506040020160000135815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555080610fd8906132af565b9050610f39565b50610ff467eea98b178fd576e060c01b610609565b611008672f4996614d79aa5760c01b610609565b7ff4ec21f4fb595315ed445181b8973d6ebb853009bd6593a82fbbeadab2efc9b086868660405161103b939291906132f7565b60405180910390a1505050505050565b61105f677b6b1c7fc9e8a18560c01b610609565b6110736770f43b674d4e55d060c01b61033a565b61108767fdb58b8d5e8c5bd260c01b61033a565b61109b67f88563faceb9065260c01b61033a565b60006110a5611dd5565b90506110bb67f5511ed184b06f9d60c01b61033a565b6110cf675fe6356e9bb02e7e60c01b61033a565b6001816000015403611121576110ef67c2bf72a01148a95560c01b61033a565b6040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111356759328cc6ac1a5b8460c01b61033a565b611149676585023ebf8de8b060c01b61033a565b600181600001819055506111676794e629fc71d8c79e60c01b61033a565b61117b6755ebe8d99bfab0e660c01b610609565b61118f6783c099c3d6920eee60c01b610609565b6111a3677b2d23df6c743c1660c01b610609565b6111b7670e1bf95028b3562660c01b610609565b60006111c161209a565b90506111d767826a8031febc47a560c01b610609565b6111eb67e55f748511272f7660c01b610609565b6111ff6797ef46cfb2e1f1d860c01b610609565b60018114801561121f575061121e67b9defce38c448c0160c01b611c4d565b5b80611263575061a4b18114801561124657506112456744e394d95fc655b860c01b611c4d565b5b80156112625750611261676db8cef885766f1060c01b611c4d565b5b5b8061128a5750600a8114801561128957506112886791823fee38b54f9160c01b611c4d565b5b5b6112c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c0906133a0565b60405180910390fd5b6112dd67c9884dd7993613aa60c01b610609565b6112f167ce6b46409cb3036260c01b610609565b611305678e4e74cf10e6efcd60c01b610609565b61131967f1661058e39d604460c01b610609565b6001836020013514801561133d575061133c67d994b9fff3faf3d060c01b611c4d565b5b80611385575061a4b183602001351480156113685750611367678522fbcee38e3f2b60c01b611c4d565b5b80156113845750611383673d7f2a1cdc796c6b60c01b611c4d565b5b5b806113b05750600a83602001351480156113af57506113ae67a0b23bb6c5a2034d60c01b611c4d565b5b5b6113ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e690613432565b60405180910390fd5b61140367634ee426de357fec60c01b610609565b61141767671a1c703a7e255060c01b610609565b61142b671b85965e9b09a19360c01b610609565b61143f673e51b130d02414f960c01b610609565b60003411611482576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114799061349e565b60405180910390fd5b611496675475f5afcea4234f60c01b610609565b6114aa675be0e357a87433b260c01b610609565b6114be6714bd332749c6464c60c01b610609565b6114d267824e0feb461fd68b60c01b610609565b6000836000013511611519576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151090612ec3565b60405180910390fd5b61152d675aead8b9e4a94ad660c01b610609565b6115416715642c51226fe7e860c01b610609565b61155567bf6afb6d248e364260c01b610609565b611569675814d8dff7797ece60c01b610609565b826000013534116115af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a690613530565b60405180910390fd5b6115c367a7838bcc3dcf6f4960c01b610609565b6115d7674b87efcc48a2f6f860c01b610609565b6115eb67b577870ea07885de60c01b610609565b60006115f56120e9565b905061160b67504c44f964d09bda60c01b610609565b61161f67b629ff5fe4b6bbfb60c01b610609565b6116336791136c08444782d460c01b610609565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611699906135c2565b60405180910390fd5b6116b667945f14428689a58760c01b610609565b6116ca6709e6dbebddbfaf8160c01b610609565b6116de67506d17b653e10f7c60c01b610609565b60008460400160208101906116f39190612b4c565b6040516020016117039190612bc1565b60405160208183030381529060405290506117286779683220dd60860f60c01b610609565b61173c67c5d6139a64abbcc360c01b610609565b60007f00000000000000000000000000000000000000000000000000000000000000008660600160208101906117729190612f75565b61ffff167f00000000000000000000000000000000000000000000000000000000000000006117a19190612fd1565b87600001356117b09190613005565b6117ba9190613076565b90506117d067edccaf14a309f8b960c01b610609565b6117e467dfd394e8ca55834a60c01b610609565b8273ffffffffffffffffffffffffffffffffffffffff16631114cd2a3461180e8960200135611aea565b33868b60000135876040518763ffffffff1660e01b81526004016118369594939291906135e2565b6000604051808303818588803b15801561184f57600080fd5b505af1158015611863573d6000803e3d6000fd5b505050505061187c678f9ff857a7f5aa9860c01b610609565b611890679c044cacc1ce321260c01b610609565b7f2bedf250e292271a6dbcf3e289b75c4218a8494e721aabc2b475c22d8816f1d2338760400160208101906118c59190612b4c565b886000013589602001356040516118df949392919061363c565b60405180910390a1505050506118ff67441391ce80e99b6c60c01b61033a565b600081600001819055505050565b61192167c3456030a1bbb0e360c01b610609565b611935670b715fd8e1f8669860c01b610609565b61194967b53fdb9756ae99c460c01b610609565b61195d67de50a656d8824a5b60c01b610609565b611965611e53565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c9906136cd565b60405180910390fd5b6119e66704131b314593100d60c01b610609565b6119fa677fc8dbefdd35b0e460c01b610609565b611a0e6748055bde4d58675260c01b610609565b600081806020019051810190611a249190613719565b9050611a3a675e435c4e6f42509860c01b610609565b611a4e675b92b8826195634960c01b610609565b611a7981848673ffffffffffffffffffffffffffffffffffffffff166121589092919063ffffffff16565b611a8d67cf796a2db721527860c01b610609565b611aa167582a53062f53745760c01b610609565b7fa99538de04029bcd6cc1a8af32ebefef188052f963f80ab67b7fc49e23d0cd4c8484604051611ad2929190613746565b60405180910390a150505050505050565b6000919050565b6000611b0067a57cd9c6b9c41c6a60c01b610609565b611b14674f07f9242ebfa41160c01b610609565b611b28677a529f509caba1b060c01b610609565b6000611b32611d57565b9050611b48678fefb47c1559ea4b60c01b610609565b611b5c67d18e9683e19854f960c01b610609565b600081600301600085815260200190815260200160002060009054906101000a900461ffff169050611b9867e3c404249a55474b60c01b610609565b611bac67fbcd6388192b0a2f60c01b610609565b611bc0678530e22ceaeb424960c01b610609565b60008161ffff1603611c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfe906137e1565b60405180910390fd5b611c1b670c18b96b58e103a860c01b610609565b611c2f67f817d71c659e66ef60c01b610609565b611c43673ae9ed46966d707860c01b610609565b8092505050919050565b600060019050919050565b611c6c6721b40df6734b4e6460c01b6121de565b611c80677276b6d1bbf7b68b60c01b6121de565b611c9467f8611dbcb55a1f7860c01b6121de565b611ca8676cedf54251a3375160c01b6121de565b611cb06121e1565b60040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3890613873565b60405180910390fd5b611d5567e452355b21bbd41e60c01b6121de565b565b6000611d6d67b34d90284ae0e9ef60c01b610609565b611d81672ed81e52c23168e360c01b610609565b611d9567e2ec83ce9578657560c01b610609565b60007fbaeadb48cbcf0176d6c6ac156b0140abe0fb28a100a9a6a8b5df37e55693b1c89050611dce670edd023654e5f17260c01b610609565b8091505090565b6000611deb67fa11c344c1ec53a860c01b61033a565b611dff670fd7b7008acdbf5460c01b61033a565b611e13679fbd6d57c5d665d460c01b61033a565b60007fc59b5acc5a6673a6c49ca2de898f87adbd9fdfdff36f689476b1c9e0c50964b49050611e4c67a9235c9a8268ed9060c01b61033a565b8091505090565b6000611e6967fd4dc90c18680f3060c01b610609565b611e7d6793e4e41457cec23060c01b610609565b611e9167f074c466862371b560c01b610609565b611e99611d57565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611f45846323b872dd60e01b858585604051602401611ee3939291906132f7565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061225f565b50505050565b6000811480611fd5575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401611f92929190613893565b602060405180830381865afa158015611faf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd391906138bc565b145b612014576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200b9061395b565b60405180910390fd5b6120958363095ea7b360e01b8484604051602401612033929190613746565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061225f565b505050565b60006120b067d1228306a9aa7ca160c01b610609565b6120c467a36f2b778691a42060c01b610609565b6120d86768a861b45d12e14460c01b610609565b6120e0611d57565b60020154905090565b60006120ff67ef5c638aa66eb48260c01b610609565b612113675a88d7efbd851a3e60c01b610609565b61212767cceaffc246b2acc960c01b610609565b61212f611d57565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6121d98363a9059cbb60e01b8484604051602401612177929190613746565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061225f565b505050565b50565b60006121f7674f9afbb757d80e6360c01b6121de565b61220b674b823103125da15660c01b6121de565b61221f674ab715c231c1608d60c01b6121de565b60007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905061225867982d9bb86701efa860c01b6121de565b8091505090565b60006122c1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166123269092919063ffffffff16565b905060008151111561232157808060200190518101906122e191906139a7565b612320576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231790613a46565b60405180910390fd5b5b505050565b6060612335848460008561233e565b90509392505050565b606082471015612383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237a90613ad8565b60405180910390fd5b61238c85612452565b6123cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123c290613b44565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516123f49190613ba0565b60006040518083038185875af1925050503d8060008114612431576040519150601f19603f3d011682016040523d82523d6000602084013e612436565b606091505b5091509150612446828286612475565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315612485578290506124d5565b6000835111156124985782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124cc9190613bfb565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b612525816124f0565b811461253057600080fd5b50565b6000813590506125428161251c565b92915050565b60006020828403121561255e5761255d6124e6565b5b600061256c84828501612533565b91505092915050565b60008115159050919050565b61258a81612575565b82525050565b60006020820190506125a56000830184612581565b92915050565b600080fd5b600061010082840312156125c7576125c66125ab565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125fb826125d0565b9050919050565b600061260d826125f0565b9050919050565b61261d81612602565b811461262857600080fd5b50565b60008135905061263a81612614565b92915050565b6000806101208385031215612658576126576124e6565b5b6000612666858286016125b0565b9250506101006126788582860161262b565b9150509250929050565b6000819050919050565b61269581612682565b82525050565b60006020820190506126b0600083018461268c565b92915050565b6126bf81612682565b81146126ca57600080fd5b50565b6000813590506126dc816126b6565b92915050565b600061ffff82169050919050565b6126f9816126e2565b811461270457600080fd5b50565b600081359050612716816126f0565b92915050565b60008060408385031215612733576127326124e6565b5b6000612741858286016126cd565b925050602061275285828601612707565b9150509250929050565b60006101008284031215612773576127726124e6565b5b6000612781848285016125b0565b91505092915050565b612793816125f0565b811461279e57600080fd5b50565b6000813590506127b08161278a565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126127db576127da6127b6565b5b8235905067ffffffffffffffff8111156127f8576127f76127bb565b5b602083019150836040820283011115612814576128136127c0565b5b9250929050565b600080600080600060808688031215612837576128366124e6565b5b6000612845888289016127a1565b9550506020612856888289016127a1565b9450506040612867888289016126cd565b935050606086013567ffffffffffffffff811115612888576128876124eb565b5b612894888289016127c5565b92509250509295509295909350565b6000608082840312156128b9576128b86125ab565b5b81905092915050565b6000608082840312156128d8576128d76124e6565b5b60006128e6848285016128a3565b91505092915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61293d826128f4565b810181811067ffffffffffffffff8211171561295c5761295b612905565b5b80604052505050565b600061296f6124dc565b905061297b8282612934565b919050565b600067ffffffffffffffff82111561299b5761299a612905565b5b6129a4826128f4565b9050602081019050919050565b82818337600083830152505050565b60006129d36129ce84612980565b612965565b9050828152602081018484840111156129ef576129ee6128ef565b5b6129fa8482856129b1565b509392505050565b600082601f830112612a1757612a166127b6565b5b8135612a278482602086016129c0565b91505092915050565b60008060008060008060c08789031215612a4d57612a4c6124e6565b5b6000612a5b89828a01612707565b965050602087013567ffffffffffffffff811115612a7c57612a7b6124eb565b5b612a8889828a01612a02565b9550506040612a9989828a016126cd565b9450506060612aaa89828a016127a1565b9350506080612abb89828a016126cd565b92505060a087013567ffffffffffffffff811115612adc57612adb6124eb565b5b612ae889828a01612a02565b9150509295509295509295565b600060208284031215612b0b57612b0a6124e6565b5b6000612b19848285016126cd565b91505092915050565b612b2b816126e2565b82525050565b6000602082019050612b466000830184612b22565b92915050565b600060208284031215612b6257612b616124e6565b5b6000612b70848285016127a1565b91505092915050565b60008160601b9050919050565b6000612b9182612b79565b9050919050565b6000612ba382612b86565b9050919050565b612bbb612bb6826125f0565b612b98565b82525050565b6000612bcd8284612baa565b60148201915081905092915050565b612be5816125f0565b82525050565b6000602082019050612c006000830184612bdc565b92915050565b6000819050919050565b600060ff82169050919050565b6000819050919050565b6000612c42612c3d612c3884612c06565b612c1d565b612c10565b9050919050565b612c5281612c27565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c92578082015181840152602081019050612c77565b60008484015250505050565b6000612ca982612c58565b612cb38185612c63565b9350612cc3818560208601612c74565b612ccc816128f4565b840191505092915050565b612ce081612682565b82525050565b600082825260208201905092915050565b6000612d0282612c58565b612d0c8185612ce6565b9350612d1c818560208601612c74565b612d25816128f4565b840191505092915050565b6000606083016000830151612d486000860182612cd7565b506020830151612d5b6020860182612cd7565b5060408301518482036040860152612d738282612cf7565b9150508091505092915050565b600060a082019050612d956000830188612b22565b612da26020830187612c49565b8181036040830152612db48186612c9e565b90508181036060830152612dc88185612c9e565b90508181036080830152612ddc8184612d30565b90509695505050505050565b600081519050612df7816126b6565b92915050565b60008060408385031215612e1457612e136124e6565b5b6000612e2285828601612de8565b9250506020612e3385828601612de8565b9150509250929050565b6000604082019050612e52600083018561268c565b612e5f6020830184612b22565b9392505050565b600082825260208201905092915050565b7f53746172676174653a3a20696e76616c6964207175616e746974790000000000600082015250565b6000612ead601b83612e66565b9150612eb882612e77565b602082019050919050565b60006020820190508181036000830152612edc81612ea0565b9050919050565b7f53746172676174653a3a206d73672e76616c7565206e6f7420656e6f7567682060008201527f746f20706179206272696467696e672066656500000000000000000000000000602082015250565b6000612f3f603383612e66565b9150612f4a82612ee3565b604082019050919050565b60006020820190508181036000830152612f6e81612f32565b9050919050565b600060208284031215612f8b57612f8a6124e6565b5b6000612f9984828501612707565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612fdc82612682565b9150612fe783612682565b9250828203905081811115612fff57612ffe612fa2565b5b92915050565b600061301082612682565b915061301b83612682565b925082820261302981612682565b915082820484148315176130405761303f612fa2565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061308182612682565b915061308c83612682565b92508261309c5761309b613047565b5b828204905092915050565b60006130c26130bd6130b8846126e2565b612c1d565b612682565b9050919050565b6130d2816130a7565b82525050565b60006130e3826125d0565b9050919050565b6130f3816130d8565b82525050565b60006101208201905061310f600083018c612b22565b61311c602083018b6130c9565b613129604083018a6130c9565b61313660608301896130ea565b613143608083018861268c565b61315060a083018761268c565b81810360c08301526131628186612d30565b905081810360e08301526131768185612c9e565b905081810361010083015261318b8184612c9e565b90509a9950505050505050505050565b600060a0820190506131b06000830188612bdc565b6131bd6020830187612bdc565b6131ca6040830186612bdc565b6131d7606083018561268c565b6131e4608083018461268c565b9695505050505050565b7f53746172676174653a3a20696e76616c696420726f757465722061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061324a602183612e66565b9150613255826131ee565b604082019050919050565b600060208201905081810360008301526132798161323d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006132ba82612682565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132ec576132eb612fa2565b5b600182019050919050565b600060608201905061330c6000830186612bdc565b6133196020830185612bdc565b613326604083018461268c565b949350505050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f65204554482066726f6d207468697320636861696e0000000000000000000000602082015250565b600061338a603583612e66565b91506133958261332e565b604082019050919050565b600060208201905081810360008301526133b98161337d565b9050919050565b7f53746172676174653a3a2043616e6e6f74206469726563746c7920627269646760008201527f652045544820746f207468697320636861696e00000000000000000000000000602082015250565b600061341c603383612e66565b9150613427826133c0565b604082019050919050565b6000602082019050818103600083015261344b8161340f565b9050919050565b7f53746172676174653a3a206d73672e76616c7565207265717569726564000000600082015250565b6000613488601d83612e66565b915061349382613452565b602082019050919050565b600060208201905081810360008301526134b78161347b565b9050919050565b7f53746172676174653a206e6f206665657320616464656420666f72204554482060008201527f7472616e73666572000000000000000000000000000000000000000000000000602082015250565b600061351a602883612e66565b9150613525826134be565b604082019050919050565b600060208201905081810360008301526135498161350d565b9050919050565b7f53746172676174653a3a20455448207472616e73666572206e6f74206176616960008201527f6c61626c65000000000000000000000000000000000000000000000000000000602082015250565b60006135ac602583612e66565b91506135b782613550565b604082019050919050565b600060208201905081810360008301526135db8161359f565b9050919050565b600060a0820190506135f76000830188612b22565b61360460208301876130ea565b81810360408301526136168186612c9e565b9050613625606083018561268c565b613632608083018461268c565b9695505050505050565b60006080820190506136516000830187612bdc565b61365e6020830186612bdc565b61366b604083018561268c565b613678606083018461268c565b95945050505050565b7f53746172676174653a3a206f6e6c7920737461726761746520726f7574657200600082015250565b60006136b7601f83612e66565b91506136c282613681565b602082019050919050565b600060208201905081810360008301526136e6816136aa565b9050919050565b6136f6816130d8565b811461370157600080fd5b50565b600081519050613713816136ed565b92915050565b60006020828403121561372f5761372e6124e6565b5b600061373d84828501613704565b91505092915050565b600060408201905061375b6000830185612bdc565b613768602083018461268c565b9392505050565b7f53746172676174653a3a20636861696e206e6f742061737369676e6564206c6160008201527f796572207a65726f20636861696e206964000000000000000000000000000000602082015250565b60006137cb603183612e66565b91506137d68261376f565b604082019050919050565b600060208201905081810360008301526137fa816137be565b9050919050565b7f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b600061385d602283612e66565b915061386882613801565b604082019050919050565b6000602082019050818103600083015261388c81613850565b9050919050565b60006040820190506138a86000830185612bdc565b6138b56020830184612bdc565b9392505050565b6000602082840312156138d2576138d16124e6565b5b60006138e084828501612de8565b91505092915050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b6000613945603683612e66565b9150613950826138e9565b604082019050919050565b6000602082019050818103600083015261397481613938565b9050919050565b61398481612575565b811461398f57600080fd5b50565b6000815190506139a18161397b565b92915050565b6000602082840312156139bd576139bc6124e6565b5b60006139cb84828501613992565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000613a30602a83612e66565b9150613a3b826139d4565b604082019050919050565b60006020820190508181036000830152613a5f81613a23565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000613ac2602683612e66565b9150613acd82613a66565b604082019050919050565b60006020820190508181036000830152613af181613ab5565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000613b2e601d83612e66565b9150613b3982613af8565b602082019050919050565b60006020820190508181036000830152613b5d81613b21565b9050919050565b600081905092915050565b6000613b7a82612c58565b613b848185613b64565b9350613b94818560208601612c74565b80840191505092915050565b6000613bac8284613b6f565b915081905092915050565b600081519050919050565b6000613bcd82613bb7565b613bd78185612e66565b9350613be7818560208601612c74565b613bf0816128f4565b840191505092915050565b60006020820190508181036000830152613c158184613bc2565b90509291505056fea264697066735822122090655d77560fbdcd4e095f3dfc930a3e7db070b320dc9b637744ec84d85af1ca64736f6c63430008110033"; type StargateFacetConstructorParams = | [signer?: Signer] diff --git a/typings/factories/StringsLib__factory.ts b/typings/factories/StringsLib__factory.ts index 5d41a7f4..ea093efe 100644 --- a/typings/factories/StringsLib__factory.ts +++ b/typings/factories/StringsLib__factory.ts @@ -10,11 +10,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__1044b449", + name: "c__2404d709", type: "bytes8", }, ], - name: "c_1044b449", + name: "c_2404d709", outputs: [], stateMutability: "pure", type: "function", @@ -23,11 +23,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__1044b449", + name: "c__2404d709", type: "bytes8", }, ], - name: "c_false1044b449", + name: "c_false2404d709", outputs: [ { internalType: "bool", @@ -42,11 +42,11 @@ const _abi = [ inputs: [ { internalType: "bytes8", - name: "c__1044b449", + name: "c__2404d709", type: "bytes8", }, ], - name: "c_true1044b449", + name: "c_true2404d709", outputs: [ { internalType: "bool", @@ -60,7 +60,7 @@ const _abi = [ ]; const _bytecode = - "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80633f392c63146100505780634879156e14610099578063a33684d7146100f8575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b005b6100e0600480360360208110156100af57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061015a565b60405180821515815260200191505060405180910390f35b61013f6004803603602081101561010e57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610165565b60405180821515815260200191505060405180910390f35b50565b600060019050919050565b600091905056fea164736f6c634300060c000a"; + "0x610179610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c8063370ecc2114610050578063376808be146100af5780635c302c761461010e575b600080fd5b6100976004803603602081101561006657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610157565b60405180821515815260200191505060405180910390f35b6100f6600480360360208110156100c557600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610162565b60405180821515815260200191505060405180910390f35b6101556004803603602081101561012457600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610169565b005b600060019050919050565b6000919050565b5056fea164736f6c634300060c000a"; type StringsLibConstructorParams = | [signer?: Signer] diff --git a/typings/factories/WrappedWeiToken__factory.ts b/typings/factories/WrappedWeiToken__factory.ts index 3a7946fe..39915699 100644 --- a/typings/factories/WrappedWeiToken__factory.ts +++ b/typings/factories/WrappedWeiToken__factory.ts @@ -170,6 +170,210 @@ const _abi = [ stateMutability: "view", type: "function", }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_098c0657", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__42d24766", + type: "bytes8", + }, + ], + name: "c_42d24766", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__99a47378", + type: "bytes8", + }, + ], + name: "c_99a47378", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d18be0f9", + type: "bytes8", + }, + ], + name: "c_d18be0f9", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_false098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__42d24766", + type: "bytes8", + }, + ], + name: "c_false42d24766", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__99a47378", + type: "bytes8", + }, + ], + name: "c_false99a47378", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d18be0f9", + type: "bytes8", + }, + ], + name: "c_falsed18be0f9", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__098c0657", + type: "bytes8", + }, + ], + name: "c_true098c0657", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__42d24766", + type: "bytes8", + }, + ], + name: "c_true42d24766", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__99a47378", + type: "bytes8", + }, + ], + name: "c_true99a47378", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes8", + name: "c__d18be0f9", + type: "bytes8", + }, + ], + name: "c_trued18be0f9", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, { inputs: [], name: "decimals", @@ -423,7 +627,7 @@ const _abi = [ ]; const _bytecode = - "0x60806040523480156200001157600080fd5b50326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600b81526020017f5772617070656420576569000000000000000000000000000000000000000000815250600190805190602001906200009f929190620000f4565b506040518060400160405280600481526020017f575745490000000000000000000000000000000000000000000000000000000081525060029080519060200190620000ed929190620000f4565b506200019a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200013757805160ff191683800117855562000168565b8280016001018555821562000168579182015b82811115620001675782518255916020019190600101906200014a565b5b5090506200017791906200017b565b5090565b5b80821115620001965760008160009055506001016200017c565b5090565b6120b080620001aa6000396000f3fe6080604052600436106101235760003560e01c806356a3b64b116100a0578063a9059cbb11610064578063a9059cbb1461065f578063b760faf9146106d0578063ca9add8f14610714578063dd62ed3e14610765578063f55647e0146107ea5761013b565b806356a3b64b146104d557806370a08231146104ec578063834ff73914610551578063853828b6146105b857806395d89b41146105cf5761013b565b806323b872dd116100e757806323b872dd146103085780632e1a7d4d14610399578063313ce567146103d4578063392e53cd14610402578063462d0b2e1461042f5761013b565b806306fdde0314610140578063095ea7b3146101d0578063116191b61461024157806318160ddd14610282578063205c2878146102ad5761013b565b3661013b57610139610133610801565b34610810565b005b600080fd5b34801561014c57600080fd5b50610155610a26565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019557808201518184015260208101905061017a565b50505050905090810190601f1680156101c25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101dc57600080fd5b50610229600480360360408110156101f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ac4565b60405180821515815260200191505060405180910390f35b34801561024d57600080fd5b50610256610ae2565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561028e57600080fd5b50610297610b08565b6040518082815260200191505060405180910390f35b3480156102b957600080fd5b50610306600480360360408110156102d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b0e565b005b34801561031457600080fd5b506103816004803603606081101561032b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b24565b60405180821515815260200191505060405180910390f35b3480156103a557600080fd5b506103d2600480360360208110156103bc57600080fd5b8101908080359060200190929190505050610be1565b005b3480156103e057600080fd5b506103e9610bfd565b604051808260ff16815260200191505060405180910390f35b34801561040e57600080fd5b50610417610c10565b60405180821515815260200191505060405180910390f35b34801561043b57600080fd5b506104d36004803603604081101561045257600080fd5b810190808035906020019064010000000081111561046f57600080fd5b82018360208201111561048157600080fd5b803590602001918460208302840111640100000000831117156104a357600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c66565b005b3480156104e157600080fd5b506104ea610e05565b005b3480156104f857600080fd5b5061053b6004803603602081101561050f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e17565b6040518082815260200191505060405180910390f35b34801561055d57600080fd5b506105a06004803603602081101561057457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e60565b60405180821515815260200191505060405180910390f35b3480156105c457600080fd5b506105cd610eb6565b005b3480156105db57600080fd5b506105e4610f0f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610624578082015181840152602081019050610609565b50505050905090810190601f1680156106515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561066b57600080fd5b506106b86004803603604081101561068257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fad565b60405180821515815260200191505060405180910390f35b610712600480360360208110156106e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fcb565b005b34801561072057600080fd5b506107636004803603602081101561073757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fd8565b005b34801561077157600080fd5b506107d46004803603604081101561078857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611032565b6040518082815260200191505060405180910390f35b3480156107f657600080fd5b506107ff6110b9565b005b600061080b61120f565b905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610896576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611fb66026913960400191505060405180910390fd5b6000811161090c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4552433230546f6b656e3a2063616e6e6f74206d696e7420302076616c75650081525060200191505060405180910390fd5b61095e81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461122090919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109b68160045461122090919063ffffffff16565b6004819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610abc5780601f10610a9157610100808354040283529160200191610abc565b820191906000526020600020905b815481529060010190602001808311610a9f57829003601f168201915b505050505081565b6000610ad8610ad1610801565b84846112a8565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b610b20610b19610801565b838361149f565b5050565b600080610b2f610801565b9050610b3c858585611538565b610bd58582610bd086600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ab90919063ffffffff16565b6112a8565b60019150509392505050565b610bfa610bec610801565b610bf4610801565b8361149f565b50565b600360009054906101000a900460ff1681565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610d0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180611ec8602f913960400191505060405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008383905014610daa57600083839050905060005b81811015610da757610d9a858583818110610d7857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff166115d8565b8080600101915050610d61565b50505b610db381611723565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b610e15610e10610801565b6115d8565b565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000610ec0610801565b9050610f0c8182600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461149f565b50565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fa55780601f10610f7a57610100808354040283529160200191610fa5565b820191906000526020600020905b815481529060010190602001808311610f8857829003601f168201915b505050505081565b6000610fc1610fba610801565b8484611538565b6001905092915050565b610fd58134610810565b50565b6000610fe2610801565b905061102e8183600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461149f565b5050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60006110c3610801565b9050600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611167576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806120066027913960400191505060405180910390fd5b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fe3f5ed5f263f1f01764a96edfc7d025f511ec5f7d180e8816908b78bcf74f09881604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600061121b6028611767565b905090565b60008082840190508381101561129e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174684c69623a206164646974696f6e206f766572666c6f77000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561132e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180611f8b602b913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611f416029913960400191505060405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6114a983826117fc565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050611533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061202d6025913960400191505060405180910390fd5b505050565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561159a5761159583838361149f565b6115a6565b6115a58383836119b6565b5b505050565b60006115d08383604051806060016040528060218152602001611f6a60219139611c56565b905092915050565b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561167b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180611ef76028913960400191505060405180910390fd5b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f28b26e7a3d20aedbc5f8f2ebf7da671c0491723a2b78f47a097b0e46dee0714281604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009050611776611d10565b156117ef5760008360003690500390506117e76000368390601485019261179f93929190611e6c565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611dd3565b9150506117f3565b3390505b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611882576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180611ea06028913960400191505060405180910390fd5b6118ee8160405180606001604052806026815260200161205260269139600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c569092919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611946816004546115ab90919063ffffffff16565b600481905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612078602c913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ac2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180611fdc602a913960400191505060405180910390fd5b611b1481600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ab90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ba981600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461122090919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290611d03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611cc8578082015181840152602081019050611cad565b50505050905090810190601f168015611cf55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082840390509392505050565b600080600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611dcc57602c60003690501015611dc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611f1f6022913960400191505060405180910390fd5b600190505b8091505090565b6000806014835114611e4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f42797465734c69623a20696e76616c69642064617461206c656e67746800000081525060200191505060405180910390fd5b6c01000000000000000000000000602084015104905080915050919050565b60008085851115611e7c57600080fd5b83861115611e8957600080fd5b600185028301915084860390509450949250505056fe4552433230546f6b656e3a2063616e6e6f74206275726e2066726f6d203078302061646472657373496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a657257726170706564576569546f6b656e3a20636f6e73756d657220616c72656164792065786973747347617465776179526563697069656e743a20696e76616c6964206d73672e646174614552433230546f6b656e3a2063616e6e6f7420617070726f766520746f203078302061646472657373536166654d6174684c69623a207375627472616374696f6e206f766572666c6f774552433230546f6b656e3a2063616e6e6f7420617070726f76652066726f6d2030783020616464726573734552433230546f6b656e3a2063616e6e6f74206d696e7420746f2030783020616464726573734552433230546f6b656e3a2063616e6e6f74207472616e7366657220746f20307830206164647265737357726170706564576569546f6b656e3a20636f6e73756d657220646f65736e277420657869737457726170706564576569546f6b656e3a207472616e73616374696f6e2072657665727465644552433230546f6b656e3a206275726e2076616c756520657863656564732062616c616e63654552433230546f6b656e3a2063616e6e6f74207472616e736665722066726f6d203078302061646472657373a164736f6c634300060c000a"; + "0x60806040523480156200001157600080fd5b506200002e67bcc9be562f8a4b0a60c01b620001b860201b60201c565b6200004a67579ae7209daca85260c01b620001b860201b60201c565b326000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000a667d2295553e6d85b4460c01b620001bb60201b60201c565b620000c2674f33f857671bcade60c01b620001be60201b60201c565b620000de6772a61782d26adf1660c01b620001c160201b60201c565b620000fa6741903526ccaa472460c01b620001c160201b60201c565b6040518060400160405280600b81526020017f57726170706564205765690000000000000000000000000000000000000000008152506001908051906020019062000147929190620001c4565b506200016467a44e88e0af10dbc560c01b620001c160201b60201c565b6040518060400160405280600481526020017f575745490000000000000000000000000000000000000000000000000000000081525060029080519060200190620001b1929190620001c4565b506200026a565b50565b50565b50565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200020757805160ff191683800117855562000238565b8280016001018555821562000238579182015b82811115620002375782518255916020019190600101906200021a565b5b5090506200024791906200024b565b5090565b5b80821115620002665760008160009055506001016200024c565b5090565b6137fe806200027a6000396000f3fe6080604052600436106101e75760003560e01c8063692b0ad911610102578063b760faf911610095578063d84fa10c11610064578063d84fa10c14610c33578063dd62ed3e14610c9f578063f0af072114610d24578063f55647e014610d7a57610213565b8063b760faf914610adc578063c0fb758214610b20578063c454330514610b76578063ca9add8f14610be257610213565b806395d89b41116100d157806395d89b41146109035780639d713549146109935780639f106f7e146109ff578063a9059cbb14610a6b57610213565b8063692b0ad9146107b457806370a0823114610820578063834ff73914610885578063853828b6146108ec57610213565b80632e1a7d4d1161017a578063462d0b2e11610149578063462d0b2e146106355780634b08df6b146106db57806356a3b64b14610731578063683e15fd1461074857610213565b80632e1a7d4d14610549578063313ce56714610584578063392e53cd146105b25780633e260b13146105df57610213565b806318160ddd116101b657806318160ddd146103c6578063205c2878146103f157806323b872dd1461044c57806325921237146104dd57610213565b806306fdde0314610218578063095ea7b3146102a85780630bdaef0514610319578063116191b61461038557610213565b36610213576102006792eb7c3145cf751760c01b610d91565b61021161020b610d94565b34610ddf565b005b600080fd5b34801561022457600080fd5b5061022d6110f9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561026d578082015181840152602081019050610252565b50505050905090810190601f16801561029a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b457600080fd5b50610301600480360360408110156102cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611197565b60405180821515815260200191505060405180910390f35b34801561032557600080fd5b5061036d6004803603602081101561033c57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611219565b60405180821515815260200191505060405180910390f35b34801561039157600080fd5b5061039a611224565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103d257600080fd5b506103db61124a565b6040518082815260200191505060405180910390f35b3480156103fd57600080fd5b5061044a6004803603604081101561041457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611250565b005b34801561045857600080fd5b506104c56004803603606081101561046f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112a2565b60405180821515815260200191505060405180910390f35b3480156104e957600080fd5b506105316004803603602081101561050057600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611414565b60405180821515815260200191505060405180910390f35b34801561055557600080fd5b506105826004803603602081101561056c57600080fd5b810190808035906020019092919050505061141f565b005b34801561059057600080fd5b50610599611477565b604051808260ff16815260200191505060405180910390f35b3480156105be57600080fd5b506105c761148a565b60405180821515815260200191505060405180910390f35b3480156105eb57600080fd5b506106336004803603602081101561060257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061151d565b005b34801561064157600080fd5b506106d96004803603604081101561065857600080fd5b810190808035906020019064010000000081111561067557600080fd5b82018360208201111561068757600080fd5b803590602001918460208302840111640100000000831117156106a957600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611520565b005b3480156106e757600080fd5b5061072f600480360360208110156106fe57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506118a4565b005b34801561073d57600080fd5b506107466118a7565b005b34801561075457600080fd5b5061079c6004803603602081101561076b57600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506118f5565b60405180821515815260200191505060405180910390f35b3480156107c057600080fd5b50610808600480360360208110156107d757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506118fc565b60405180821515815260200191505060405180910390f35b34801561082c57600080fd5b5061086f6004803603602081101561084357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611903565b6040518082815260200191505060405180910390f35b34801561089157600080fd5b506108d4600480360360208110156108a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611988565b60405180821515815260200191505060405180910390f35b3480156108f857600080fd5b50610901611a1a565b005b34801561090f57600080fd5b50610918611ad7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561095857808201518184015260208101905061093d565b50505050905090810190601f1680156109855780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561099f57600080fd5b506109e7600480360360208110156109b657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611b75565b60405180821515815260200191505060405180910390f35b348015610a0b57600080fd5b50610a5360048036036020811015610a2257600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611b7c565b60405180821515815260200191505060405180910390f35b348015610a7757600080fd5b50610ac460048036036040811015610a8e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b87565b60405180821515815260200191505060405180910390f35b610b1e60048036036020811015610af257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c09565b005b348015610b2c57600080fd5b50610b7460048036036020811015610b4357600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610d91565b005b348015610b8257600080fd5b50610bca60048036036020811015610b9957600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611c52565b60405180821515815260200191505060405180910390f35b348015610bee57600080fd5b50610c3160048036036020811015610c0557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c5d565b005b348015610c3f57600080fd5b50610c8760048036036020811015610c5657600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611d1b565b60405180821515815260200191505060405180910390f35b348015610cab57600080fd5b50610d0e60048036036040811015610cc257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d22565b6040518082815260200191505060405180910390f35b348015610d3057600080fd5b50610d7860048036036020811015610d4757600080fd5b81019080803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611de5565b005b348015610d8657600080fd5b50610d8f611de8565b005b50565b6000610daa673b19a8263bb5ce2460c01b610d91565b610dbe6707308200f7e8bb4d60c01b610d91565b610dd267a9938f0e39e5eb3d60c01b610d91565b610dda612006565b905090565b610df3675e2153e1f04496b660c01b6118a4565b610e0767bc8dc79551375fc360c01b6118a4565b610e1b67d8c712b22313922360c01b6118a4565b610e2f67e0f6206a227a3a8e60c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610eb5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806137046026913960400191505060405180910390fd5b610ec967ae039e1267b9559d60c01b6118a4565b610edd67db578c8e6e46de9260c01b6118a4565b610ef167e5ab2d5fbd27ad7b60c01b6118a4565b610f0567d6e3b8bd2f0c381960c01b6118a4565b60008111610f7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4552433230546f6b656e3a2063616e6e6f74206d696e7420302076616c75650081525060200191505060405180910390fd5b610f8f672123d38f06edc1d960c01b6118a4565b610fa3674b7af22033a895c860c01b6118a4565b610ff581600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205390919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061104c67ea2406dd5469a09560c01b6118a4565b6110618160045461205390919063ffffffff16565b60048190555061107b675c59db56e0a7542360c01b6118a4565b61108f672022246315104eac60c01b6118a4565b8173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561118f5780601f106111645761010080835404028352916020019161118f565b820191906000526020600020905b81548152906001019060200180831161117257829003601f168201915b505050505081565b60006111ad6753bec140568681c060c01b6118a4565b6111c1673fe4b697901a171d60c01b6118a4565b6111d56730b64dab119d9aa060c01b6118a4565b6111e76111e0610d94565b8484612190565b6111fb67e05419833179c73560c01b6118a4565b61120f677ca1f591274800dd60c01b6118a4565b6001905092915050565b600060019050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6112646752831001089b6de460c01b610d91565b61127867109e354adc08fcd760c01b610d91565b61128c6708f8eb69ec45706160c01b610d91565b61129e611297610d94565b8383612477565b5050565b60006112b86769df9d60650e32ef60c01b6118a4565b6112cc67d0ac32c0a71a47dd60c01b6118a4565b6112e067499eb90da77634db60c01b6118a4565b60006112ea610d94565b905061130067bb9ddff3033764bb60c01b6118a4565b611314678ab65d386d94fe9660c01b6118a4565b61131f85858561259c565b611333678c2a5f95b7f72efe60c01b6118a4565b61134767ee2bb8b53d569c0460c01b6118a4565b6113e085826113db86600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c390919063ffffffff16565b612190565b6113f467726c4938a33167c360c01b6118a4565b61140867e2df8d12e60e2b3460c01b6118a4565b60019150509392505050565b600060019050919050565b611433675f0e4b215ce3e35b60c01b610d91565b611447679a6e749bc50b015460c01b610d91565b61145b67d9c3d5315c46b14b60c01b610d91565b611474611466610d94565b61146e610d94565b83612477565b50565b600360009054906101000a900460ff1681565b60006114a067e29fe2f351ca6b2760c01b61151d565b6114b4676f5dd3f08b97747760c01b61151d565b6114c8673a9488d62818322a60c01b61151d565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b50565b6115346756e55d7a3416e9c260c01b610d91565b61154867d2ba19feb39e0b7f60c01b61151d565b61155c670c5ad53cdb9edd1560c01b61151d565b61157067b6b588d2ebb9ae6960c01b61151d565b61158467c4ec9a90a885875260c01b61151d565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180613616602f913960400191505060405180910390fd5b61163c67c3785ba1534db95460c01b61151d565b61165067e4202927591248ef60c01b61151d565b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506116a567531cfa2817fbdc8660c01b61151d565b6116b96725112fbc6ad1983560c01b610d91565b6116cd6774de259cf59a52a060c01b610d91565b6116e167413fe8b2561609c360c01b610d91565b6116f5673c40f28155f55a7460c01b610d91565b600083839050146117e45761171467d2bf7add9390b8ab60c01b610d91565b61172867c85fbc643d893c2660c01b610d91565b61173c67e8b07434fefc74b260c01b610d91565b6000838390509050611758670904b86e5b4f176f60c01b610d91565b61176c67f1990e4ec7ff150b60c01b610d91565b60005b818110156117dd5761178b6778daa037f5002fa960c01b610d91565b61179f67bbb76c7699d9c3ab60c01b610d91565b6117d08585838181106117ae57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1661272c565b808060010191505061176f565b50506117f9565b6117f867c96393be4a94ec6d60c01b610d91565b5b61180d67070298a97c7cd85960c01b610d91565b61182167a289f83d4763b18b60c01b610d91565b61182a81612917565b61183e6701520f419008b58e60c01b61151d565b6118526775364c04848b013b60c01b61151d565b7f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e632604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b50565b6118bb67fe0e01cc5375259060c01b610d91565b6118cf67fc8caeb1e65f57dd60c01b610d91565b6118e3673313c636cb55688360c01b610d91565b6118f36118ee610d94565b61272c565b565b6000919050565b6000919050565b600061191967d01fdb7dd74bc5aa60c01b6118a4565b61192d670163cf5e2436a2dd60c01b6118a4565b61194167b670bfbcbdad8dbf60c01b6118a4565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600061199e67557a32e63afd7fae60c01b610d91565b6119b267af98f833a3543e5560c01b610d91565b6119c667585c1b6e111b4a0d60c01b610d91565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611a2e67d10e42b3232f553660c01b610d91565b611a4267ab1899c5f8e6d78d60c01b610d91565b611a5667be0ea1bfa097245160c01b610d91565b6000611a60610d94565b9050611a76679ea6aa7e891d5e2360c01b610d91565b611a8a67973a00b8d03c62a960c01b610d91565b611ad48182600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612477565b50565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b6d5780601f10611b4257610100808354040283529160200191611b6d565b820191906000526020600020905b815481529060010190602001808311611b5057829003601f168201915b505050505081565b6000919050565b600060019050919050565b6000611b9d67a1f7e11949ea673560c01b6118a4565b611bb16787d7d0fd85a9bf1460c01b6118a4565b611bc567fbb8b6f8a252809960c01b6118a4565b611bd7611bd0610d94565b848461259c565b611beb6773727b9781cbc97760c01b6118a4565b611bff679893780bf3355ed360c01b6118a4565b6001905092915050565b611c1d6710d22658e34d8a1e60c01b610d91565b611c316745d71858c148dcc060c01b610d91565b611c45672007145b8fc56ca760c01b610d91565b611c4f8134610ddf565b50565b600060019050919050565b611c7167cb6796f5f55fa8b060c01b610d91565b611c85675f90f5ba6367291660c01b610d91565b611c9967cdbcc0280667dda760c01b610d91565b6000611ca3610d94565b9050611cb9670e82bc9a4e3336a260c01b610d91565b611ccd67e6308fea357f466a60c01b610d91565b611d178183600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612477565b5050565b6000919050565b6000611d3867729c8b6593ca8f8960c01b6118a4565b611d4c67e58501633424d2de60c01b6118a4565b611d6067c33edf4e7d4f7b8660c01b6118a4565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b50565b611dfc679e757f11a69f758760c01b610d91565b611e106787c00fd9cd62c25660c01b610d91565b611e2467bebb895358ec005a60c01b610d91565b6000611e2e610d94565b9050611e44674b64f02e133a70c860c01b610d91565b611e5867fcc1ec6f797b112560c01b610d91565b611e6c67c5142b5459c66f1660c01b610d91565b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611f0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806137546027913960400191505060405180910390fd5b611f2267c075cd592854b9ad60c01b610d91565b611f3667e6d6ba5100391fca60c01b610d91565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611fa267b274bd40f3d8ce8660c01b610d91565b611fb667eb389a834e01769d60c01b610d91565b7fe3f5ed5f263f1f01764a96edfc7d025f511ec5f7d180e8816908b78bcf74f09881604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600061201c677ac614d5268cc8ac60c01b611de5565b612030670a6b7ac33c94c4ed60c01b611de5565b61204467e7ef433820a2765360c01b611de5565b61204e6028612983565b905090565b6000612069672797d9bbee8e685760c01b612b19565b61207d67e25930aa3032662f60c01b612b19565b612091673b804ace3fd44ea060c01b612b19565b600082840190506120ac67e0d809daafe36a0460c01b612b19565b6120c067d0d7b021c1a6823260c01b612b19565b6120d46741f1099b5fa09b9360c01b612b19565b8381101561214a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174684c69623a206164646974696f6e206f766572666c6f77000081525060200191505060405180910390fd5b61215e6728a352a27e50889560c01b612b19565b61217267f55e5f024a80111c60c01b612b19565b61218667d865abdcb752192460c01b612b19565b8091505092915050565b6121a467bfc0ff88689df43460c01b6118a4565b6121b8679a14afb3f0a041d360c01b6118a4565b6121cc67bc128d0a874c4c3e60c01b6118a4565b6121e0678d8cbef08defe69360c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806136d9602b913960400191505060405180910390fd5b61227a675349b1b172aa0a0b60c01b6118a4565b61228e67a7a8f58d25b50fd860c01b6118a4565b6122a2671ee4a7660e290fa660c01b6118a4565b6122b667815a40a05033c43460c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561233c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061368f6029913960400191505060405180910390fd5b61235067f33c07d56d5928e460c01b6118a4565b612364673937a971ebc35cc360c01b6118a4565b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123f967ca487db6f83002b660c01b6118a4565b61240d67e9b745e5ba7cbe6060c01b6118a4565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b61248b67187ddac9d5bc8bd160c01b610d91565b61249f67fbe7feb4b95b96c560c01b610d91565b6124b367a35ce9908849156360c01b610d91565b6124bd8382612b1c565b6124d167925831981356ea5e60c01b610d91565b6124e567cab401306d87cae360c01b610d91565b6124f96777aed7e1f4f8582460c01b610d91565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050612583576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061377b6025913960400191505060405180910390fd5b6125976754a6bfed8f0f6e8f60c01b610d91565b505050565b6125b067881f2d43dfda86ce60c01b610d91565b6125c4675725d33c0352682360c01b610d91565b6125d86739cbd5e8af561a7760c01b610d91565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156126765761263e6732e98b0a1e609fdd60c01b610d91565b612652678e42a4adb560808d60c01b610d91565b612666675f86e6684580200060c01b610d91565b612671838383612477565b6126be565b61268a6786b10d3e0d3edcd260c01b610d91565b61269e67147fe14eac7d123360c01b610d91565b6126b267cacbb0791179368760c01b610d91565b6126bd838383612d8a565b5b505050565b60006126d967e0716c1000d7d1da60c01b612b19565b6126ed674e44df08c8f0b5bb60c01b612b19565b612701679b7e32e8ae0c005160c01b612b19565b61272483836040518060600160405280602181526020016136b86021913961312e565b905092915050565b61274067a137779df390536260c01b610d91565b612754678e5297a1aa72533860c01b610d91565b6127686734e57ab99ec6b64160c01b610d91565b61277c6711bcf916f600f17460c01b610d91565b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561281f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806136456028913960400191505060405180910390fd5b61283367f3d6f26f35ccb86060c01b610d91565b61284767b9a863a98600747660c01b610d91565b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506128b3676e060f957467342d60c01b610d91565b6128c767b500732acf97022160c01b610d91565b7f28b26e7a3d20aedbc5f8f2ebf7da671c0491723a2b78f47a097b0e46dee0714281604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b61292b670beab42e12728d3b60c01b611de5565b61293f675ecbac840a5512ec60c01b611de5565b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006129996787c8246a4b35d1f160c01b611de5565b6129ad67976a1e8d41064d2460c01b611de5565b6129c1671867d8bf077bb31160c01b611de5565b60006129d767bdfeda5454a1273960c01b611de5565b6129eb677709e048711a13c960c01b611de5565b6129f3613274565b15612abc57612a0c67d3c6f6b0bcac9b6e60c01b611de5565b612a20673b2573735f5d680260c01b611de5565b612a34675089eb0622c78a2260c01b611de5565b6000836000369050039050612a53674bc94a8e9a6ee57960c01b611de5565b612ab460003683906014850192612a6c939291906135ba565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613455565b915050612ae8565b612ad0677e45e81af2ec2edc60c01b611de5565b612ae467391e31dbfdfb407e60c01b611de5565b3390505b612afc67c4042e2c7c2c999760c01b611de5565b612b1067fc44c5cccf2cd16760c01b611de5565b80915050919050565b50565b612b3067bc021464e5f3dd5460c01b6118a4565b612b4467bfc9321f335d4b8160c01b6118a4565b612b58673da1f67c1f439b0960c01b6118a4565b612b6c6764f5be91a42ad5bc60c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612bf2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806135ee6028913960400191505060405180910390fd5b612c06673f1310f25b67216160c01b6118a4565b612c1a672ae8ed6802151ce460c01b6118a4565b612c86816040518060600160405280602681526020016137a060269139600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312e9092919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612cdd674ae84cdbca296be160c01b6118a4565b612cf2816004546126c390919063ffffffff16565b600481905550612d0c6790c5dcef045f105560c01b6118a4565b612d2067df66109d66fc00c860c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b612d9e674d9d827b3eb8335f60c01b6118a4565b612db267029e04d47309ef2160c01b6118a4565b612dc6672a3032957b5eca3560c01b6118a4565b612dda676962e5e3dc9f5a1660c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612e60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806137c6602c913960400191505060405180910390fd5b612e746781fe059091eccd2260c01b6118a4565b612e8867ddb72a693e1e207f60c01b6118a4565b612e9c67a1475e83b0b9ddea60c01b6118a4565b612eb0674e6d322763042a0660c01b6118a4565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612f36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061372a602a913960400191505060405180910390fd5b612f4a67df6b8336912560fa60c01b6118a4565b612f5e67617dce23d46bc03d60c01b6118a4565b612fb081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c390919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613007678bc66573c313c9d660c01b6118a4565b61305981600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205390919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130b067aa96686749a64e0c60c01b6118a4565b6130c4678ddd20d1037089ef60c01b6118a4565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000613144677d731b0c9f0e103a60c01b612b19565b613158672e44734f88495e8b60c01b612b19565b61316c670d025d40fd1bee3e60c01b612b19565b61318067025828287ef1fd1b60c01b612b19565b83831115829061322b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156131f05780820151818401526020810190506131d5565b50505050905090810190601f16801561321d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5061324067e9c31dd44a0bf91260c01b612b19565b613254675031ed2b8fb2561960c01b612b19565b61326867301f4385f3c6735c60c01b612b19565b82840390509392505050565b600061328a6714ec9ba31585b6f760c01b611de5565b61329e6764d00f8ee4cbc0f460c01b611de5565b6132b26728aef4b71ffef7e260c01b611de5565b60006132c8677b6cf6392b8d09d960c01b611de5565b6132dc67da655f124163f4bc60c01b611de5565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561341157613346678c4556fd14dc507160c01b611de5565b61335a674811af4455ee520960c01b611de5565b61336e67ae36e4b52033411860c01b611de5565b61338267ffe63a27679b309260c01b611de5565b602c600036905010156133e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061366d6022913960400191505060405180910390fd5b6133f467d1762b0b1ca636f360c01b611de5565b6134086769c465f7e405b9f660c01b611de5565b60019050613426565b6134256710f40798097af22060c01b611de5565b5b61343a671855328cbdf7411660c01b611de5565b61344e670e4f1457e534f9ac60c01b611de5565b8091505090565b600061346b670df8d76b8cabf76a60c01b6135b7565b61347f67e180fcce9e2bf4c560c01b6135b7565b613493670dcb70abe8e8bb0b60c01b6135b7565b60006134a967c9f13cc22eb780e060c01b6135b7565b6134bd67c60f8d891ff21de960c01b6135b7565b6134d16782bb9e679e55c73460c01b6135b7565b6014835114613548576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f42797465734c69623a20696e76616c69642064617461206c656e67746800000081525060200191505060405180910390fd5b61355c679ea304b1b6348ade60c01b6135b7565b61357067a0049b4768bf518260c01b6135b7565b6c01000000000000000000000000602084015104905061359a671f4dc55703cfba1860c01b6135b7565b6135ae67afb63a07e82275e260c01b6135b7565b80915050919050565b50565b600080858511156135ca57600080fd5b838611156135d757600080fd5b600185028301915084860390509450949250505056fe4552433230546f6b656e3a2063616e6e6f74206275726e2066726f6d203078302061646472657373496e697469616c697a61626c653a2074782e6f726967696e206973206e6f742074686520696e697469616c697a657257726170706564576569546f6b656e3a20636f6e73756d657220616c72656164792065786973747347617465776179526563697069656e743a20696e76616c6964206d73672e646174614552433230546f6b656e3a2063616e6e6f7420617070726f766520746f203078302061646472657373536166654d6174684c69623a207375627472616374696f6e206f766572666c6f774552433230546f6b656e3a2063616e6e6f7420617070726f76652066726f6d2030783020616464726573734552433230546f6b656e3a2063616e6e6f74206d696e7420746f2030783020616464726573734552433230546f6b656e3a2063616e6e6f74207472616e7366657220746f20307830206164647265737357726170706564576569546f6b656e3a20636f6e73756d657220646f65736e277420657869737457726170706564576569546f6b656e3a207472616e73616374696f6e2072657665727465644552433230546f6b656e3a206275726e2076616c756520657863656564732062616c616e63654552433230546f6b656e3a2063616e6e6f74207472616e736665722066726f6d203078302061646472657373a164736f6c634300060c000a"; type WrappedWeiTokenConstructorParams = | [signer?: Signer] diff --git a/typings/index.ts b/typings/index.ts index 3e1842ed..63eccee2 100644 --- a/typings/index.ts +++ b/typings/index.ts @@ -24,6 +24,7 @@ export type { IWETH } from "./IWETH"; export type { IStargateReceiver } from "./IStargateReceiver"; export type { IStargateRouter } from "./IStargateRouter"; export type { IStargateRouterETH } from "./IStargateRouterETH"; +export type { LibAsset } from "./LibAsset"; export type { LibDiamond } from "./LibDiamond"; export type { Controlled } from "./Controlled"; export type { Guarded } from "./Guarded"; @@ -39,6 +40,13 @@ export type { AccountRegistryMock } from "./AccountRegistryMock"; export type { BalancesHelper } from "./BalancesHelper"; export type { BalancesHelperV2 } from "./BalancesHelperV2"; export type { ReentrancyGuard } from "./ReentrancyGuard"; +export type { AddressLib } from "./AddressLib"; +export type { BlockLib } from "./BlockLib"; +export type { BytesLib } from "./BytesLib"; +export type { ECDSAExtendedLib } from "./ECDSAExtendedLib"; +export type { ECDSALib } from "./ECDSALib"; +export type { SafeMathLib } from "./SafeMathLib"; +export type { StringsLib } from "./StringsLib"; export type { Initializable } from "./Initializable"; export type { SignatureValidator } from "./SignatureValidator"; export type { ERC20Token } from "./ERC20Token"; @@ -46,6 +54,7 @@ export type { ENSController } from "./ENSController"; export type { ENSHelper } from "./ENSHelper"; export type { ENSRegistry } from "./ENSRegistry"; export type { ENSReverseRegistrar } from "./ENSReverseRegistrar"; +export type { ENSAbstractResolver } from "./ENSAbstractResolver"; export type { ENSAddressResolver } from "./ENSAddressResolver"; export type { ENSNameResolver } from "./ENSNameResolver"; export type { ENSPubKeyResolver } from "./ENSPubKeyResolver"; @@ -84,6 +93,7 @@ export { IWETH__factory } from "./factories/IWETH__factory"; export { IStargateReceiver__factory } from "./factories/IStargateReceiver__factory"; export { IStargateRouter__factory } from "./factories/IStargateRouter__factory"; export { IStargateRouterETH__factory } from "./factories/IStargateRouterETH__factory"; +export { LibAsset__factory } from "./factories/LibAsset__factory"; export { LibDiamond__factory } from "./factories/LibDiamond__factory"; export { Controlled__factory } from "./factories/Controlled__factory"; export { Guarded__factory } from "./factories/Guarded__factory"; @@ -99,6 +109,13 @@ export { AccountRegistryMock__factory } from "./factories/AccountRegistryMock__f export { BalancesHelper__factory } from "./factories/BalancesHelper__factory"; export { BalancesHelperV2__factory } from "./factories/BalancesHelperV2__factory"; export { ReentrancyGuard__factory } from "./factories/ReentrancyGuard__factory"; +export { AddressLib__factory } from "./factories/AddressLib__factory"; +export { BlockLib__factory } from "./factories/BlockLib__factory"; +export { BytesLib__factory } from "./factories/BytesLib__factory"; +export { ECDSAExtendedLib__factory } from "./factories/ECDSAExtendedLib__factory"; +export { ECDSALib__factory } from "./factories/ECDSALib__factory"; +export { SafeMathLib__factory } from "./factories/SafeMathLib__factory"; +export { StringsLib__factory } from "./factories/StringsLib__factory"; export { Initializable__factory } from "./factories/Initializable__factory"; export { SignatureValidator__factory } from "./factories/SignatureValidator__factory"; export { ERC20Token__factory } from "./factories/ERC20Token__factory"; @@ -106,6 +123,7 @@ export { ENSController__factory } from "./factories/ENSController__factory"; export { ENSHelper__factory } from "./factories/ENSHelper__factory"; export { ENSRegistry__factory } from "./factories/ENSRegistry__factory"; export { ENSReverseRegistrar__factory } from "./factories/ENSReverseRegistrar__factory"; +export { ENSAbstractResolver__factory } from "./factories/ENSAbstractResolver__factory"; export { ENSAddressResolver__factory } from "./factories/ENSAddressResolver__factory"; export { ENSNameResolver__factory } from "./factories/ENSNameResolver__factory"; export { ENSPubKeyResolver__factory } from "./factories/ENSPubKeyResolver__factory"; From 7a66e4159b5b39271b4ed8f2a2c026b26ce3bb78 Mon Sep 17 00:00:00 2001 From: lbw33 <71776468+lbw33@users.noreply.github.com> Date: Tue, 5 Sep 2023 09:51:13 +0100 Subject: [PATCH 8/8] 2.0.2 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 42527e04..a1d3da36 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@etherspot/contracts", - "version": "2.0.1", + "version": "2.0.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@etherspot/contracts", - "version": "2.0.1", + "version": "2.0.2", "license": "MIT", "devDependencies": { "@ethereumjs/tx": "3.5.2", diff --git a/package.json b/package.json index 97f07df4..148b8d13 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@etherspot/contracts", - "version": "2.0.1", + "version": "2.0.2", "description": "Etherspot Solidity contracts", "keywords": [ "ether",