New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@perp/curie-deployments

Package Overview
Dependencies
Maintainers
7
Versions
435
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@perp/curie-deployments - npm Package Compare versions

Comparing version 2022.12.20-1671509278203 to 2022.12.21-1671615279855

optimism-goerli-dev1/core/artifacts/contracts/storage/CollateralManagerStorage.sol/CollateralManagerStorageV2.json

73

optimism-goerli-dev1/core/artifacts/contracts/CollateralManager.sol/CollateralManager.json

@@ -282,5 +282,24 @@ {

{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "trader",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "whitelistedDebtThreshold",
"type": "uint256"
}
],
"name": "WhitelistedDebtThresholdChanged",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",

@@ -442,2 +461,21 @@ "type": "address"

{
"inputs": [
{
"internalType": "address",
"name": "trader",
"type": "address"
}
],
"name": "getDebtThresholdByTrader",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],

@@ -526,2 +564,15 @@ "name": "getLiquidationRatio",

"inputs": [],
"name": "getTotalWhitelistedDebtThreshold",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getVault",

@@ -846,2 +897,20 @@ "outputs": [

{
"inputs": [
{
"internalType": "address",
"name": "trader",
"type": "address"
},
{
"internalType": "uint256",
"name": "whitelistedDebtThreshold",
"type": "uint256"
}
],
"name": "setWhitelistedDebtThreshold",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],

@@ -861,6 +930,6 @@ "name": "unpause",

],
"bytecode": "0x608060405234801561001057600080fd5b506125c8806100206000396000f3fe608060405234801561001057600080fd5b50600436106101d15760003560e01c806376e1128611610105578063bc5920ba1161009d578063bc5920ba14610376578063ce6d7f261461037e578063d765f6e414610391578063dccbe8fe146103a4578063dcf49212146103b7578063ddb13813146103ca578063de8b54e6146103d2578063f6a44b38146103e5578063f878369e14610405576101d1565b806376e112861461030d5780638456cb59146103205780638c8557d9146103285780638d928af81461033b5780638da5cb5b146103435780638facb54e1461034b578063aa2a82941461035e578063b2eae83814610366578063b6113be61461036e576101d1565b80633f4ba83a116101785780633f4ba83a1461027f57806341898b8814610287578063449e815d1461029a57806348896fcd146102ba5780635c975abb146102c25780636237314e146102ca578063648cff3a146102dd5780636c8381f8146102f0578063715018a614610305576101d1565b806301b6a802146101d65780630262771f146101f45780630ee21e54146102095780630f969b871461022957806313af40351461023e57806324966a581461025157806334917794146102645780633bc1d7ab14610277575b600080fd5b6101de610418565b6040516101eb91906124e8565b60405180910390f35b6101fc61042a565b6040516101eb9190612501565b61021c61021736600461206a565b61043a565b6040516101eb9190612356565b61023c6102373660046122ae565b61045a565b005b61023c61024c36600461206a565b61051d565b61023c61025f366004612276565b610678565b61023c6102723660046122ae565b610756565b6101de6107e8565b61023c6107fa565b61023c61029536600461221e565b610861565b6102ad6102a836600461224b565b61095f565b6040516101eb91906124f8565b6102ad610a00565b61021c610a06565b61023c6102d8366004612276565b610a0f565b6101de6102eb366004612276565b610ac2565b6102f8610b7d565b6040516101eb9190612316565b61023c610b8c565b61023c61031b3660046120a2565b610c2d565b61023c610d2d565b6101fc61033636600461206a565b610d92565b6102f8610e26565b6102f8610e35565b61023c61035936600461221e565b610e44565b6102f8610f35565b6102ad610f44565b6101de610f4a565b61023c610f5c565b61023c61038c3660046120da565b611048565b61023c61039f3660046122de565b6114b0565b61023c6103b2366004612276565b611555565b61023c6103c5366004612276565b611627565b6101de6116f0565b61023c6103e0366004612183565b6116fb565b6103f86103f336600461206a565b61199a565b6040516101eb91906124a7565b61023c61041336600461224b565b611a01565b60cd54600160d81b900462ffffff1690565b60cd54600160a01b900460ff1690565b6001600160a01b03908116600090815260cb602052604090205416151590565b610462611ab5565b6001600160a01b0316610473610e35565b6001600160a01b0316146104b7576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b806104dd5760405162461bcd60e51b81526004016104d4906123c4565b60405180910390fd5b60cf8190556040517f6c5ec56528cb0cd679a4675fe0e05d839c9f0eaabcf07edae0156097860327d3906105129083906124f8565b60405180910390a150565b610525611ab5565b6001600160a01b0316610536610e35565b6001600160a01b03161461057a576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b0381166105be576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6033546001600160a01b038281169116141561060a576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6034546001600160a01b0382811691161415610656576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b603480546001600160a01b0319166001600160a01b0392909216919091179055565b80620f424062ffffff821611156106a15760405162461bcd60e51b81526004016104d490612405565b6106a9611ab5565b6001600160a01b03166106ba610e35565b6001600160a01b0316146106fe576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60cd805462ffffff60c01b1916600160c01b62ffffff8516021790556040517fa237b04e26233c5e5686a0757f3f5c54763d249df2415b1cd23ee3febfe486e39061074a9084906124e8565b60405180910390a15050565b61075e611ab5565b6001600160a01b031661076f610e35565b6001600160a01b0316146107b3576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60d08190556040517f70c607d975120eebbca7ab6dcce0ead0b62780965d3dbb9d07626fbaacfeb09e906105129083906124f8565b60cd54600160a81b900462ffffff1690565b610802611ab5565b6001600160a01b0316610813610e35565b6001600160a01b031614610857576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b61085f611ac4565b565b80620f424062ffffff8216111561088a5760405162461bcd60e51b81526004016104d490612405565b610892611ab5565b6001600160a01b03166108a3610e35565b6001600160a01b0316146108e7576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6108f083611b64565b6001600160a01b038316600081815260cb602052604090819020805462ffffff60a01b1916600160a01b62ffffff871602179055517ff5835a89fb1ddbf664427bb605f15cdab5c8138d96bf5548af663d80c586f86e906109529085906124e8565b60405180910390a2505050565b600061096a83611b64565b6001600160a01b03808416600090815260cb602052604090819020549051630e75722360e41b815291169063e7572230906109a99085906004016124f8565b60206040518083038186803b1580156109c157600080fd5b505afa1580156109d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f991906122c6565b9392505050565b60d05490565b60675460ff1690565b610a17611ab5565b6001600160a01b0316610a28610e35565b6001600160a01b031614610a6c576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610a7581610ac2565b5060cd805462ffffff60a81b1916600160a81b62ffffff8416021790556040517f0c7e7d8787a51e904310208ff0d53d59e72cf969cfe4b649c15921f5799416dc906105129083906124e8565b6000808260cc60009054906101000a90046001600160a01b03166001600160a01b031663a85494026040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1457600080fd5b505afa158015610b28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4c9190612292565b019050620f424062ffffff82161115610b775760405162461bcd60e51b81526004016104d4906123a3565b92915050565b6034546001600160a01b031690565b610b94611ab5565b6001600160a01b0316610ba5610e35565b6001600160a01b031614610be9576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6033546040516000916001600160a01b031690600080516020612573833981519152908390a3603380546001600160a01b0319908116909155603480549091169055565b610c35611ab5565b6001600160a01b0316610c46610e35565b6001600160a01b031614610c8a576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610c9382611b64565b610ca5816001600160a01b0316611b8c565b610cc15760405162461bcd60e51b81526004016104d4906123e4565b6001600160a01b03828116600081815260cb60205260409081902080546001600160a01b0319169385169390931790925590517ff41a3b1d02012f65ae0013b820b751937676e06fe15550a1841ad88825d0b0dd90610d21908490612316565b60405180910390a25050565b610d35611ab5565b6001600160a01b0316610d46610e35565b6001600160a01b031614610d8a576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b61085f611b92565b6000610d9d82611b64565b6001600160a01b03808316600090815260cb602090815260409182902054825163313ce56760e01b8152925193169263313ce567926004808201939291829003018186803b158015610dee57600080fd5b505afa158015610e02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7791906122fa565b60cd546001600160a01b031690565b6033546001600160a01b031690565b80620f424062ffffff82161115610e6d5760405162461bcd60e51b81526004016104d490612405565b610e75611ab5565b6001600160a01b0316610e86610e35565b6001600160a01b031614610eca576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610ed383611b64565b6001600160a01b038316600081815260cb602052604090819020805462ffffff60b81b1916600160b81b62ffffff871602179055517f9076416b8e788b309c7463933dc842ba2699b241c3219ce8e072988529ff31a3906109529085906124e8565b60cc546001600160a01b031690565b60cf5490565b60cd54600160c01b900462ffffff1690565b6034546001600160a01b0316610fa1576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b610fa9611ab5565b6034546001600160a01b03908116911614610ff4576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6034546033546040516001600160a01b03928316929091169060008051602061257383398151915290600090a360348054603380546001600160a01b03199081166001600160a01b03841617909155169055565b600054610100900460ff16806110615750611061611c15565b8061106f575060005460ff16155b6110aa5760405162461bcd60e51b815260040180806020018281038252602e815260200180612545602e913960400191505060405180910390fd5b600054610100900460ff161580156110d5576000805460ff1961ff0019909116610100171660011790555b86620f424062ffffff821611156110fe5760405162461bcd60e51b81526004016104d490612405565b86620f424062ffffff821611156111275760405162461bcd60e51b81526004016104d490612405565b85620f424062ffffff821611156111505760405162461bcd60e51b81526004016104d490612405565b6111628d6001600160a01b0316611b8c565b61117e5760405162461bcd60e51b81526004016104d490612361565b6111908c6001600160a01b0316611b8c565b6111ac5760405162461bcd60e51b81526004016104d490612446565b6111b4611c26565b8c60cc60006101000a8154816001600160a01b0302191690836001600160a01b031602179055508b60cd60006101000a8154816001600160a01b0302191690836001600160a01b031602179055508a60cd60146101000a81548160ff021916908360ff1602179055508960cd60186101000a81548162ffffff021916908362ffffff1602179055508860cd601b6101000a81548162ffffff021916908362ffffff16021790555061126488610ac2565b5060cd805462ffffff60a81b1916600160a81b62ffffff8b8116919091029190911790915560ce805462ffffff191691891691909117905560cf86905560d08590556040516001600160a01b038e16907f5a7bac4c08e1022faaa1b1a89ae303af586a2f96a465f8b356666294886a891090600090a26040516001600160a01b038d16907fa49691f0dd6477ccef49962612a236d252e3a31c3be8b61fa6abeff3e74a757290600090a27ff784e61fb9b384cd875177b67fe0592f178875d26c6192b102750fedf87535798b60405161133d9190612501565b60405180910390a17f0c7e7d8787a51e904310208ff0d53d59e72cf969cfe4b649c15921f5799416dc8860405161137491906124e8565b60405180910390a17fa237b04e26233c5e5686a0757f3f5c54763d249df2415b1cd23ee3febfe486e38a6040516113ab91906124e8565b60405180910390a17fb876b9c251594d2497d6eee4d31f68c52ad0a4ee33de83fa4ae75a8517289964896040516113e291906124e8565b60405180910390a17f202cd03b2f9dc14bd41e38a741fa7f1fad98599419089f660e6b0692dd99b6458760405161141991906124e8565b60405180910390a17f6c5ec56528cb0cd679a4675fe0e05d839c9f0eaabcf07edae0156097860327d38660405161145091906124f8565b60405180910390a17f70c607d975120eebbca7ab6dcce0ead0b62780965d3dbb9d07626fbaacfeb09e8560405161148791906124f8565b60405180910390a150505080156114a4576000805461ff00191690555b50505050505050505050565b6114b8611ab5565b6001600160a01b03166114c9610e35565b6001600160a01b03161461150d576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60cd805460ff60a01b1916600160a01b60ff8416021790556040517ff784e61fb9b384cd875177b67fe0592f178875d26c6192b102750fedf875357990610512908390612501565b80620f424062ffffff8216111561157e5760405162461bcd60e51b81526004016104d490612405565b611586611ab5565b6001600160a01b0316611597610e35565b6001600160a01b0316146115db576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60cd805462ffffff60d81b1916600160d81b62ffffff8516021790556040517fb876b9c251594d2497d6eee4d31f68c52ad0a4ee33de83fa4ae75a85172899649061074a9084906124e8565b80620f424062ffffff821611156116505760405162461bcd60e51b81526004016104d490612405565b611658611ab5565b6001600160a01b0316611669610e35565b6001600160a01b0316146116ad576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60ce805462ffffff191662ffffff84161790556040517f202cd03b2f9dc14bd41e38a741fa7f1fad98599419089f660e6b0692dd99b6459061074a9084906124e8565b60ce5462ffffff1690565b6020810151620f424062ffffff821611156117285760405162461bcd60e51b81526004016104d490612405565b6040820151620f424062ffffff821611156117555760405162461bcd60e51b81526004016104d490612405565b61175d611ab5565b6001600160a01b031661176e610e35565b6001600160a01b0316146117b2576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6117bb8461043a565b156117d85760405162461bcd60e51b81526004016104d490612383565b6117ea846001600160a01b0316611b8c565b6118065760405162461bcd60e51b81526004016104d490612486565b825161181a906001600160a01b0316611b8c565b6118365760405162461bcd60e51b81526004016104d4906123e4565b60cd54604080516312803c7d60e01b815290516001600160a01b038088169316916312803c7d916004808301926020929190829003018186803b15801561187c57600080fd5b505afa158015611890573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b49190612086565b6001600160a01b031614156118db5760405162461bcd60e51b81526004016104d490612466565b6001600160a01b03848116600081815260cb60209081526040918290208751815492890151898501516001600160a01b03199094169682169690961762ffffff60a01b1916600160a01b62ffffff808916919091029190911762ffffff60b81b1916600160b81b9185169190910217825560608901516001909201829055925193947fd0389550217821f9cc5a0083667927af8975045b224a4d9b6e463fbb5d76c8439461198c949391929061232a565b60405180910390a250505050565b6119a2612043565b506001600160a01b03908116600090815260cb602090815260409182902082516080810184528154948516815262ffffff600160a01b8604811693820193909352600160b81b9094049091169183019190915260010154606082015290565b611a09611ab5565b6001600160a01b0316611a1a610e35565b6001600160a01b031614611a5e576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b611a6782611b64565b6001600160a01b038216600081815260cb602052604090819020600101839055517f22e062f893f21dc613f55d25ae4b077dfa32d888235a2fca0dfe7fb3ad60aa5e90610d219084906124f8565b6000611abf611cd7565b905090565b611acc610a06565b611b14576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b6067805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611b47611ab5565b604080516001600160a01b039092168252519081900360200190a1565b611b6d8161043a565b611b895760405162461bcd60e51b81526004016104d490612424565b50565b3b151590565b611b9a610a06565b15611bdf576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6067805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611b47611ab5565b6000611c2030611b8c565b15905090565b600054610100900460ff1680611c3f5750611c3f611c15565b80611c4d575060005460ff16155b611c885760405162461bcd60e51b815260040180806020018281038252602e815260200180612545602e913960400191505060405180910390fd5b600054610100900460ff16158015611cb3576000805460ff1961ff0019909116610100171660011790555b611cbb611cdb565b611cc3611dca565b8015611b89576000805461ff001916905550565b3390565b600054610100900460ff1680611cf45750611cf4611c15565b80611d02575060005460ff16155b611d3d5760405162461bcd60e51b815260040180806020018281038252602e815260200180612545602e913960400191505060405180910390fd5b600054610100900460ff16158015611d68576000805460ff1961ff0019909116610100171660011790555b611d70611e67565b6000611d7a611ab5565b603380546001600160a01b0319166001600160a01b03831690811790915560405191925090600090600080516020612573833981519152908290a3508015611b89576000805461ff001916905550565b600054610100900460ff1680611de35750611de3611c15565b80611df1575060005460ff16155b611e2c5760405162461bcd60e51b815260040180806020018281038252602e815260200180612545602e913960400191505060405180910390fd5b600054610100900460ff16158015611e57576000805460ff1961ff0019909116610100171660011790555b611e5f611ef8565b611cc3611f98565b600054610100900460ff1680611e805750611e80611c15565b80611e8e575060005460ff16155b611ec95760405162461bcd60e51b815260040180806020018281038252602e815260200180612545602e913960400191505060405180910390fd5b600054610100900460ff16158015611ef4576000805460ff1961ff0019909116610100171660011790555b611cc35b600054610100900460ff1680611f115750611f11611c15565b80611f1f575060005460ff16155b611f5a5760405162461bcd60e51b815260040180806020018281038252602e815260200180612545602e913960400191505060405180910390fd5b600054610100900460ff16158015611cc3576000805460ff1961ff0019909116610100171660011790558015611b89576000805461ff001916905550565b600054610100900460ff1680611fb15750611fb1611c15565b80611fbf575060005460ff16155b611ffa5760405162461bcd60e51b815260040180806020018281038252602e815260200180612545602e913960400191505060405180910390fd5b600054610100900460ff16158015612025576000805460ff1961ff0019909116610100171660011790555b6067805460ff191690558015611b89576000805461ff001916905550565b60408051608081018252600080825260208201819052918101829052606081019190915290565b60006020828403121561207b578081fd5b81356109f98161250f565b600060208284031215612097578081fd5b81516109f98161250f565b600080604083850312156120b4578081fd5b82356120bf8161250f565b915060208301356120cf8161250f565b809150509250929050565b60008060008060008060008060006101208a8c0312156120f8578485fd5b89356121038161250f565b985060208a01356121138161250f565b975060408a013561212381612535565b965060608a013561213381612524565b955060808a013561214381612524565b945060a08a013561215381612524565b935060c08a013561216381612524565b8093505060e08a013591506101008a013590509295985092959850929598565b60008082840360a0811215612196578283fd5b83356121a18161250f565b92506080601f19820112156121b4578182fd5b506040516080810181811067ffffffffffffffff821117156121d257fe5b60405260208401356121e38161250f565b815260408401356121f381612524565b6020820152606084013561220681612524565b60408201526080939093013560608401525092909150565b60008060408385031215612230578182fd5b823561223b8161250f565b915060208301356120cf81612524565b6000806040838503121561225d578182fd5b82356122688161250f565b946020939093013593505050565b600060208284031215612287578081fd5b81356109f981612524565b6000602082840312156122a3578081fd5b81516109f981612524565b6000602082840312156122bf578081fd5b5035919050565b6000602082840312156122d7578081fd5b5051919050565b6000602082840312156122ef578081fd5b81356109f981612535565b60006020828403121561230b578081fd5b81516109f981612535565b6001600160a01b0391909116815260200190565b6001600160a01b0394909416845262ffffff928316602085015291166040830152606082015260800190565b901515815260200190565b602080825260089082015267434d5f4348434e4360c01b604082015260600190565b602080825260069082015265434d5f43544560d01b604082015260600190565b60208082526007908201526621a6afa4a1a6a960c91b604082015260600190565b60208082526006908201526510d357d6911560d21b604082015260600190565b602080825260079082015266434d5f50464e4360c81b604082015260600190565b60208082526005908201526421a6afa4a960d91b604082015260600190565b602080825260089082015267434d5f54494e414360c01b604082015260600190565b602080825260069082015265434d5f564e4360d01b604082015260600190565b602080825260069082015265434d5f43495360d01b604082015260600190565b602080825260079082015266434d5f43544e4360c81b604082015260600190565b81516001600160a01b0316815260208083015162ffffff90811691830191909152604080840151909116908201526060918201519181019190915260800190565b62ffffff91909116815260200190565b90815260200190565b60ff91909116815260200190565b6001600160a01b0381168114611b8957600080fd5b62ffffff81168114611b8957600080fd5b60ff81168114611b8957600080fdfe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65648be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a26469706673582212205830246f5aa286f1f5c9fc17ed9b816e436e6ade69e5362c9a5bc0a34f1c63ec64736f6c63430007060033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101d15760003560e01c806376e1128611610105578063bc5920ba1161009d578063bc5920ba14610376578063ce6d7f261461037e578063d765f6e414610391578063dccbe8fe146103a4578063dcf49212146103b7578063ddb13813146103ca578063de8b54e6146103d2578063f6a44b38146103e5578063f878369e14610405576101d1565b806376e112861461030d5780638456cb59146103205780638c8557d9146103285780638d928af81461033b5780638da5cb5b146103435780638facb54e1461034b578063aa2a82941461035e578063b2eae83814610366578063b6113be61461036e576101d1565b80633f4ba83a116101785780633f4ba83a1461027f57806341898b8814610287578063449e815d1461029a57806348896fcd146102ba5780635c975abb146102c25780636237314e146102ca578063648cff3a146102dd5780636c8381f8146102f0578063715018a614610305576101d1565b806301b6a802146101d65780630262771f146101f45780630ee21e54146102095780630f969b871461022957806313af40351461023e57806324966a581461025157806334917794146102645780633bc1d7ab14610277575b600080fd5b6101de610418565b6040516101eb91906124e8565b60405180910390f35b6101fc61042a565b6040516101eb9190612501565b61021c61021736600461206a565b61043a565b6040516101eb9190612356565b61023c6102373660046122ae565b61045a565b005b61023c61024c36600461206a565b61051d565b61023c61025f366004612276565b610678565b61023c6102723660046122ae565b610756565b6101de6107e8565b61023c6107fa565b61023c61029536600461221e565b610861565b6102ad6102a836600461224b565b61095f565b6040516101eb91906124f8565b6102ad610a00565b61021c610a06565b61023c6102d8366004612276565b610a0f565b6101de6102eb366004612276565b610ac2565b6102f8610b7d565b6040516101eb9190612316565b61023c610b8c565b61023c61031b3660046120a2565b610c2d565b61023c610d2d565b6101fc61033636600461206a565b610d92565b6102f8610e26565b6102f8610e35565b61023c61035936600461221e565b610e44565b6102f8610f35565b6102ad610f44565b6101de610f4a565b61023c610f5c565b61023c61038c3660046120da565b611048565b61023c61039f3660046122de565b6114b0565b61023c6103b2366004612276565b611555565b61023c6103c5366004612276565b611627565b6101de6116f0565b61023c6103e0366004612183565b6116fb565b6103f86103f336600461206a565b61199a565b6040516101eb91906124a7565b61023c61041336600461224b565b611a01565b60cd54600160d81b900462ffffff1690565b60cd54600160a01b900460ff1690565b6001600160a01b03908116600090815260cb602052604090205416151590565b610462611ab5565b6001600160a01b0316610473610e35565b6001600160a01b0316146104b7576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b806104dd5760405162461bcd60e51b81526004016104d4906123c4565b60405180910390fd5b60cf8190556040517f6c5ec56528cb0cd679a4675fe0e05d839c9f0eaabcf07edae0156097860327d3906105129083906124f8565b60405180910390a150565b610525611ab5565b6001600160a01b0316610536610e35565b6001600160a01b03161461057a576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b0381166105be576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6033546001600160a01b038281169116141561060a576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6034546001600160a01b0382811691161415610656576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b603480546001600160a01b0319166001600160a01b0392909216919091179055565b80620f424062ffffff821611156106a15760405162461bcd60e51b81526004016104d490612405565b6106a9611ab5565b6001600160a01b03166106ba610e35565b6001600160a01b0316146106fe576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60cd805462ffffff60c01b1916600160c01b62ffffff8516021790556040517fa237b04e26233c5e5686a0757f3f5c54763d249df2415b1cd23ee3febfe486e39061074a9084906124e8565b60405180910390a15050565b61075e611ab5565b6001600160a01b031661076f610e35565b6001600160a01b0316146107b3576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60d08190556040517f70c607d975120eebbca7ab6dcce0ead0b62780965d3dbb9d07626fbaacfeb09e906105129083906124f8565b60cd54600160a81b900462ffffff1690565b610802611ab5565b6001600160a01b0316610813610e35565b6001600160a01b031614610857576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b61085f611ac4565b565b80620f424062ffffff8216111561088a5760405162461bcd60e51b81526004016104d490612405565b610892611ab5565b6001600160a01b03166108a3610e35565b6001600160a01b0316146108e7576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6108f083611b64565b6001600160a01b038316600081815260cb602052604090819020805462ffffff60a01b1916600160a01b62ffffff871602179055517ff5835a89fb1ddbf664427bb605f15cdab5c8138d96bf5548af663d80c586f86e906109529085906124e8565b60405180910390a2505050565b600061096a83611b64565b6001600160a01b03808416600090815260cb602052604090819020549051630e75722360e41b815291169063e7572230906109a99085906004016124f8565b60206040518083038186803b1580156109c157600080fd5b505afa1580156109d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f991906122c6565b9392505050565b60d05490565b60675460ff1690565b610a17611ab5565b6001600160a01b0316610a28610e35565b6001600160a01b031614610a6c576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610a7581610ac2565b5060cd805462ffffff60a81b1916600160a81b62ffffff8416021790556040517f0c7e7d8787a51e904310208ff0d53d59e72cf969cfe4b649c15921f5799416dc906105129083906124e8565b6000808260cc60009054906101000a90046001600160a01b03166001600160a01b031663a85494026040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1457600080fd5b505afa158015610b28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4c9190612292565b019050620f424062ffffff82161115610b775760405162461bcd60e51b81526004016104d4906123a3565b92915050565b6034546001600160a01b031690565b610b94611ab5565b6001600160a01b0316610ba5610e35565b6001600160a01b031614610be9576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6033546040516000916001600160a01b031690600080516020612573833981519152908390a3603380546001600160a01b0319908116909155603480549091169055565b610c35611ab5565b6001600160a01b0316610c46610e35565b6001600160a01b031614610c8a576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610c9382611b64565b610ca5816001600160a01b0316611b8c565b610cc15760405162461bcd60e51b81526004016104d4906123e4565b6001600160a01b03828116600081815260cb60205260409081902080546001600160a01b0319169385169390931790925590517ff41a3b1d02012f65ae0013b820b751937676e06fe15550a1841ad88825d0b0dd90610d21908490612316565b60405180910390a25050565b610d35611ab5565b6001600160a01b0316610d46610e35565b6001600160a01b031614610d8a576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b61085f611b92565b6000610d9d82611b64565b6001600160a01b03808316600090815260cb602090815260409182902054825163313ce56760e01b8152925193169263313ce567926004808201939291829003018186803b158015610dee57600080fd5b505afa158015610e02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7791906122fa565b60cd546001600160a01b031690565b6033546001600160a01b031690565b80620f424062ffffff82161115610e6d5760405162461bcd60e51b81526004016104d490612405565b610e75611ab5565b6001600160a01b0316610e86610e35565b6001600160a01b031614610eca576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610ed383611b64565b6001600160a01b038316600081815260cb602052604090819020805462ffffff60b81b1916600160b81b62ffffff871602179055517f9076416b8e788b309c7463933dc842ba2699b241c3219ce8e072988529ff31a3906109529085906124e8565b60cc546001600160a01b031690565b60cf5490565b60cd54600160c01b900462ffffff1690565b6034546001600160a01b0316610fa1576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b610fa9611ab5565b6034546001600160a01b03908116911614610ff4576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6034546033546040516001600160a01b03928316929091169060008051602061257383398151915290600090a360348054603380546001600160a01b03199081166001600160a01b03841617909155169055565b600054610100900460ff16806110615750611061611c15565b8061106f575060005460ff16155b6110aa5760405162461bcd60e51b815260040180806020018281038252602e815260200180612545602e913960400191505060405180910390fd5b600054610100900460ff161580156110d5576000805460ff1961ff0019909116610100171660011790555b86620f424062ffffff821611156110fe5760405162461bcd60e51b81526004016104d490612405565b86620f424062ffffff821611156111275760405162461bcd60e51b81526004016104d490612405565b85620f424062ffffff821611156111505760405162461bcd60e51b81526004016104d490612405565b6111628d6001600160a01b0316611b8c565b61117e5760405162461bcd60e51b81526004016104d490612361565b6111908c6001600160a01b0316611b8c565b6111ac5760405162461bcd60e51b81526004016104d490612446565b6111b4611c26565b8c60cc60006101000a8154816001600160a01b0302191690836001600160a01b031602179055508b60cd60006101000a8154816001600160a01b0302191690836001600160a01b031602179055508a60cd60146101000a81548160ff021916908360ff1602179055508960cd60186101000a81548162ffffff021916908362ffffff1602179055508860cd601b6101000a81548162ffffff021916908362ffffff16021790555061126488610ac2565b5060cd805462ffffff60a81b1916600160a81b62ffffff8b8116919091029190911790915560ce805462ffffff191691891691909117905560cf86905560d08590556040516001600160a01b038e16907f5a7bac4c08e1022faaa1b1a89ae303af586a2f96a465f8b356666294886a891090600090a26040516001600160a01b038d16907fa49691f0dd6477ccef49962612a236d252e3a31c3be8b61fa6abeff3e74a757290600090a27ff784e61fb9b384cd875177b67fe0592f178875d26c6192b102750fedf87535798b60405161133d9190612501565b60405180910390a17f0c7e7d8787a51e904310208ff0d53d59e72cf969cfe4b649c15921f5799416dc8860405161137491906124e8565b60405180910390a17fa237b04e26233c5e5686a0757f3f5c54763d249df2415b1cd23ee3febfe486e38a6040516113ab91906124e8565b60405180910390a17fb876b9c251594d2497d6eee4d31f68c52ad0a4ee33de83fa4ae75a8517289964896040516113e291906124e8565b60405180910390a17f202cd03b2f9dc14bd41e38a741fa7f1fad98599419089f660e6b0692dd99b6458760405161141991906124e8565b60405180910390a17f6c5ec56528cb0cd679a4675fe0e05d839c9f0eaabcf07edae0156097860327d38660405161145091906124f8565b60405180910390a17f70c607d975120eebbca7ab6dcce0ead0b62780965d3dbb9d07626fbaacfeb09e8560405161148791906124f8565b60405180910390a150505080156114a4576000805461ff00191690555b50505050505050505050565b6114b8611ab5565b6001600160a01b03166114c9610e35565b6001600160a01b03161461150d576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60cd805460ff60a01b1916600160a01b60ff8416021790556040517ff784e61fb9b384cd875177b67fe0592f178875d26c6192b102750fedf875357990610512908390612501565b80620f424062ffffff8216111561157e5760405162461bcd60e51b81526004016104d490612405565b611586611ab5565b6001600160a01b0316611597610e35565b6001600160a01b0316146115db576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60cd805462ffffff60d81b1916600160d81b62ffffff8516021790556040517fb876b9c251594d2497d6eee4d31f68c52ad0a4ee33de83fa4ae75a85172899649061074a9084906124e8565b80620f424062ffffff821611156116505760405162461bcd60e51b81526004016104d490612405565b611658611ab5565b6001600160a01b0316611669610e35565b6001600160a01b0316146116ad576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60ce805462ffffff191662ffffff84161790556040517f202cd03b2f9dc14bd41e38a741fa7f1fad98599419089f660e6b0692dd99b6459061074a9084906124e8565b60ce5462ffffff1690565b6020810151620f424062ffffff821611156117285760405162461bcd60e51b81526004016104d490612405565b6040820151620f424062ffffff821611156117555760405162461bcd60e51b81526004016104d490612405565b61175d611ab5565b6001600160a01b031661176e610e35565b6001600160a01b0316146117b2576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6117bb8461043a565b156117d85760405162461bcd60e51b81526004016104d490612383565b6117ea846001600160a01b0316611b8c565b6118065760405162461bcd60e51b81526004016104d490612486565b825161181a906001600160a01b0316611b8c565b6118365760405162461bcd60e51b81526004016104d4906123e4565b60cd54604080516312803c7d60e01b815290516001600160a01b038088169316916312803c7d916004808301926020929190829003018186803b15801561187c57600080fd5b505afa158015611890573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b49190612086565b6001600160a01b031614156118db5760405162461bcd60e51b81526004016104d490612466565b6001600160a01b03848116600081815260cb60209081526040918290208751815492890151898501516001600160a01b03199094169682169690961762ffffff60a01b1916600160a01b62ffffff808916919091029190911762ffffff60b81b1916600160b81b9185169190910217825560608901516001909201829055925193947fd0389550217821f9cc5a0083667927af8975045b224a4d9b6e463fbb5d76c8439461198c949391929061232a565b60405180910390a250505050565b6119a2612043565b506001600160a01b03908116600090815260cb602090815260409182902082516080810184528154948516815262ffffff600160a01b8604811693820193909352600160b81b9094049091169183019190915260010154606082015290565b611a09611ab5565b6001600160a01b0316611a1a610e35565b6001600160a01b031614611a5e576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b611a6782611b64565b6001600160a01b038216600081815260cb602052604090819020600101839055517f22e062f893f21dc613f55d25ae4b077dfa32d888235a2fca0dfe7fb3ad60aa5e90610d219084906124f8565b6000611abf611cd7565b905090565b611acc610a06565b611b14576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b6067805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611b47611ab5565b604080516001600160a01b039092168252519081900360200190a1565b611b6d8161043a565b611b895760405162461bcd60e51b81526004016104d490612424565b50565b3b151590565b611b9a610a06565b15611bdf576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6067805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611b47611ab5565b6000611c2030611b8c565b15905090565b600054610100900460ff1680611c3f5750611c3f611c15565b80611c4d575060005460ff16155b611c885760405162461bcd60e51b815260040180806020018281038252602e815260200180612545602e913960400191505060405180910390fd5b600054610100900460ff16158015611cb3576000805460ff1961ff0019909116610100171660011790555b611cbb611cdb565b611cc3611dca565b8015611b89576000805461ff001916905550565b3390565b600054610100900460ff1680611cf45750611cf4611c15565b80611d02575060005460ff16155b611d3d5760405162461bcd60e51b815260040180806020018281038252602e815260200180612545602e913960400191505060405180910390fd5b600054610100900460ff16158015611d68576000805460ff1961ff0019909116610100171660011790555b611d70611e67565b6000611d7a611ab5565b603380546001600160a01b0319166001600160a01b03831690811790915560405191925090600090600080516020612573833981519152908290a3508015611b89576000805461ff001916905550565b600054610100900460ff1680611de35750611de3611c15565b80611df1575060005460ff16155b611e2c5760405162461bcd60e51b815260040180806020018281038252602e815260200180612545602e913960400191505060405180910390fd5b600054610100900460ff16158015611e57576000805460ff1961ff0019909116610100171660011790555b611e5f611ef8565b611cc3611f98565b600054610100900460ff1680611e805750611e80611c15565b80611e8e575060005460ff16155b611ec95760405162461bcd60e51b815260040180806020018281038252602e815260200180612545602e913960400191505060405180910390fd5b600054610100900460ff16158015611ef4576000805460ff1961ff0019909116610100171660011790555b611cc35b600054610100900460ff1680611f115750611f11611c15565b80611f1f575060005460ff16155b611f5a5760405162461bcd60e51b815260040180806020018281038252602e815260200180612545602e913960400191505060405180910390fd5b600054610100900460ff16158015611cc3576000805460ff1961ff0019909116610100171660011790558015611b89576000805461ff001916905550565b600054610100900460ff1680611fb15750611fb1611c15565b80611fbf575060005460ff16155b611ffa5760405162461bcd60e51b815260040180806020018281038252602e815260200180612545602e913960400191505060405180910390fd5b600054610100900460ff16158015612025576000805460ff1961ff0019909116610100171660011790555b6067805460ff191690558015611b89576000805461ff001916905550565b60408051608081018252600080825260208201819052918101829052606081019190915290565b60006020828403121561207b578081fd5b81356109f98161250f565b600060208284031215612097578081fd5b81516109f98161250f565b600080604083850312156120b4578081fd5b82356120bf8161250f565b915060208301356120cf8161250f565b809150509250929050565b60008060008060008060008060006101208a8c0312156120f8578485fd5b89356121038161250f565b985060208a01356121138161250f565b975060408a013561212381612535565b965060608a013561213381612524565b955060808a013561214381612524565b945060a08a013561215381612524565b935060c08a013561216381612524565b8093505060e08a013591506101008a013590509295985092959850929598565b60008082840360a0811215612196578283fd5b83356121a18161250f565b92506080601f19820112156121b4578182fd5b506040516080810181811067ffffffffffffffff821117156121d257fe5b60405260208401356121e38161250f565b815260408401356121f381612524565b6020820152606084013561220681612524565b60408201526080939093013560608401525092909150565b60008060408385031215612230578182fd5b823561223b8161250f565b915060208301356120cf81612524565b6000806040838503121561225d578182fd5b82356122688161250f565b946020939093013593505050565b600060208284031215612287578081fd5b81356109f981612524565b6000602082840312156122a3578081fd5b81516109f981612524565b6000602082840312156122bf578081fd5b5035919050565b6000602082840312156122d7578081fd5b5051919050565b6000602082840312156122ef578081fd5b81356109f981612535565b60006020828403121561230b578081fd5b81516109f981612535565b6001600160a01b0391909116815260200190565b6001600160a01b0394909416845262ffffff928316602085015291166040830152606082015260800190565b901515815260200190565b602080825260089082015267434d5f4348434e4360c01b604082015260600190565b602080825260069082015265434d5f43544560d01b604082015260600190565b60208082526007908201526621a6afa4a1a6a960c91b604082015260600190565b60208082526006908201526510d357d6911560d21b604082015260600190565b602080825260079082015266434d5f50464e4360c81b604082015260600190565b60208082526005908201526421a6afa4a960d91b604082015260600190565b602080825260089082015267434d5f54494e414360c01b604082015260600190565b602080825260069082015265434d5f564e4360d01b604082015260600190565b602080825260069082015265434d5f43495360d01b604082015260600190565b602080825260079082015266434d5f43544e4360c81b604082015260600190565b81516001600160a01b0316815260208083015162ffffff90811691830191909152604080840151909116908201526060918201519181019190915260800190565b62ffffff91909116815260200190565b90815260200190565b60ff91909116815260200190565b6001600160a01b0381168114611b8957600080fd5b62ffffff81168114611b8957600080fd5b60ff81168114611b8957600080fdfe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65648be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a26469706673582212205830246f5aa286f1f5c9fc17ed9b816e436e6ade69e5362c9a5bc0a34f1c63ec64736f6c63430007060033",
"bytecode": "0x608060405234801561001057600080fd5b50612834806100206000396000f3fe608060405234801561001057600080fd5b50600436106102125760003560e01c80638456cb5911610120578063b6113be6116100b8578063dcf492121161007c578063dcf4921214610426578063ddb1381314610439578063de8b54e614610441578063f6a44b3814610454578063f878369e1461047457610212565b8063b6113be6146103dd578063bc5920ba146103e5578063ce6d7f26146103ed578063d765f6e414610400578063dccbe8fe1461041357610212565b80638456cb591461037457806389f879db1461037c5780638c8557d9146103845780638d928af8146103975780638da5cb5b1461039f5780638facb54e146103a757806396659c7f146103ba578063aa2a8294146103cd578063b2eae838146103d557610212565b80633f4ba83a116101ae5780636237314e116101725780636237314e1461031e578063648cff3a146103315780636c8381f814610344578063715018a61461035957806376e112861461036157610212565b80633f4ba83a146102e057806341898b88146102e8578063449e815d146102fb57806348896fcd1461030e5780635c975abb1461031657610212565b806301b6a802146102175780630262771f146102355780630ee21e541461024a5780630f969b871461026a57806313af40351461027f57806324966a58146102925780632bc54f5b146102a557806334917794146102c55780633bc1d7ab146102d8575b600080fd5b61021f610487565b60405161022c9190612754565b60405180910390f35b61023d610499565b60405161022c919061276d565b61025d6102583660046122bd565b6104a9565b60405161022c91906125c2565b61027d610278366004612501565b6104c9565b005b61027d61028d3660046122bd565b61058c565b61027d6102a03660046124c9565b6106e7565b6102b86102b33660046122bd565b6107c5565b60405161022c9190612764565b61027d6102d3366004612501565b61080b565b61021f61089d565b61027d6108af565b61027d6102f6366004612471565b610916565b6102b861030936600461249e565b610a14565b6102b8610ab5565b61025d610abb565b61027d61032c3660046124c9565b610ac4565b61021f61033f3660046124c9565b610b77565b61034c610c2c565b60405161022c9190612569565b61027d610c3b565b61027d61036f3660046122f5565b610cdc565b61027d610ddc565b6102b8610e41565b61023d6103923660046122bd565b610e47565b61034c610edb565b61034c610eea565b61027d6103b5366004612471565b610ef9565b61027d6103c836600461249e565b610fea565b61034c6110d1565b6102b86110e0565b61021f6110e6565b61027d6110f8565b61027d6103fb36600461232d565b6111e4565b61027d61040e366004612531565b61164c565b61027d6104213660046124c9565b6116f1565b61027d6104343660046124c9565b6117c3565b61021f61188c565b61027d61044f3660046123d6565b611897565b6104676104623660046122bd565b611b36565b60405161022c9190612713565b61027d61048236600461249e565b611b9d565b60cd54600160d81b900462ffffff1690565b60cd54600160a01b900460ff1690565b6001600160a01b03908116600090815260cb602052604090205416151590565b6104d1611c51565b6001600160a01b03166104e2610eea565b6001600160a01b031614610526576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b8061054c5760405162461bcd60e51b815260040161054390612630565b60405180910390fd5b60cf8190556040517f6c5ec56528cb0cd679a4675fe0e05d839c9f0eaabcf07edae0156097860327d390610581908390612764565b60405180910390a150565b610594611c51565b6001600160a01b03166105a5610eea565b6001600160a01b0316146105e9576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b03811661062d576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6033546001600160a01b0382811691161415610679576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6034546001600160a01b03828116911614156106c5576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b603480546001600160a01b0319166001600160a01b0392909216919091179055565b80620f424062ffffff821611156107105760405162461bcd60e51b815260040161054390612671565b610718611c51565b6001600160a01b0316610729610eea565b6001600160a01b03161461076d576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60cd805462ffffff60c01b1916600160c01b62ffffff8516021790556040517fa237b04e26233c5e5686a0757f3f5c54763d249df2415b1cd23ee3febfe486e3906107b9908490612754565b60405180910390a15050565b6001600160a01b038116600090815260d1602052604081205415610801576001600160a01b038216600090815260d16020526040902054610805565b60cf545b92915050565b610813611c51565b6001600160a01b0316610824610eea565b6001600160a01b031614610868576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60d08190556040517f70c607d975120eebbca7ab6dcce0ead0b62780965d3dbb9d07626fbaacfeb09e90610581908390612764565b60cd54600160a81b900462ffffff1690565b6108b7611c51565b6001600160a01b03166108c8610eea565b6001600160a01b03161461090c576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610914611c60565b565b80620f424062ffffff8216111561093f5760405162461bcd60e51b815260040161054390612671565b610947611c51565b6001600160a01b0316610958610eea565b6001600160a01b03161461099c576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6109a583611d00565b6001600160a01b038316600081815260cb602052604090819020805462ffffff60a01b1916600160a01b62ffffff871602179055517ff5835a89fb1ddbf664427bb605f15cdab5c8138d96bf5548af663d80c586f86e90610a07908590612754565b60405180910390a2505050565b6000610a1f83611d00565b6001600160a01b03808416600090815260cb602052604090819020549051630e75722360e41b815291169063e757223090610a5e908590600401612764565b60206040518083038186803b158015610a7657600080fd5b505afa158015610a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aae9190612519565b9392505050565b60d05490565b60675460ff1690565b610acc611c51565b6001600160a01b0316610add610eea565b6001600160a01b031614610b21576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610b2a81610b77565b5060cd805462ffffff60a81b1916600160a81b62ffffff8416021790556040517f0c7e7d8787a51e904310208ff0d53d59e72cf969cfe4b649c15921f5799416dc90610581908390612754565b6000808260cc60009054906101000a90046001600160a01b03166001600160a01b031663a85494026040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc957600080fd5b505afa158015610bdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0191906124e5565b019050620f424062ffffff821611156108055760405162461bcd60e51b81526004016105439061260f565b6034546001600160a01b031690565b610c43611c51565b6001600160a01b0316610c54610eea565b6001600160a01b031614610c98576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6033546040516000916001600160a01b0316906000805160206127df833981519152908390a3603380546001600160a01b0319908116909155603480549091169055565b610ce4611c51565b6001600160a01b0316610cf5610eea565b6001600160a01b031614610d39576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610d4282611d00565b610d54816001600160a01b0316611d28565b610d705760405162461bcd60e51b815260040161054390612650565b6001600160a01b03828116600081815260cb60205260409081902080546001600160a01b0319169385169390931790925590517ff41a3b1d02012f65ae0013b820b751937676e06fe15550a1841ad88825d0b0dd90610dd0908490612569565b60405180910390a25050565b610de4611c51565b6001600160a01b0316610df5610eea565b6001600160a01b031614610e39576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610914611d2e565b60d25490565b6000610e5282611d00565b6001600160a01b03808316600090815260cb602090815260409182902054825163313ce56760e01b8152925193169263313ce567926004808201939291829003018186803b158015610ea357600080fd5b505afa158015610eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610805919061254d565b60cd546001600160a01b031690565b6033546001600160a01b031690565b80620f424062ffffff82161115610f225760405162461bcd60e51b815260040161054390612671565b610f2a611c51565b6001600160a01b0316610f3b610eea565b6001600160a01b031614610f7f576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610f8883611d00565b6001600160a01b038316600081815260cb602052604090819020805462ffffff60b81b1916600160b81b62ffffff871602179055517f9076416b8e788b309c7463933dc842ba2699b241c3219ce8e072988529ff31a390610a07908590612754565b610ff2611c51565b6001600160a01b0316611003610eea565b6001600160a01b031614611047576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b038216600090815260d1602052604090208054908290558181116110805760d25461107b90828403611db1565b61108f565b60d25461108f90838303611e0b565b60d2556040517f60657f45e262d8b0b273300fa67214347966e7752b429d822a8e22e5fd8709ae906110c490859085906125a9565b60405180910390a1505050565b60cc546001600160a01b031690565b60cf5490565b60cd54600160c01b900462ffffff1690565b6034546001600160a01b031661113d576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b611145611c51565b6034546001600160a01b03908116911614611190576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6034546033546040516001600160a01b0392831692909116906000805160206127df83398151915290600090a360348054603380546001600160a01b03199081166001600160a01b03841617909155169055565b600054610100900460ff16806111fd57506111fd611e68565b8061120b575060005460ff16155b6112465760405162461bcd60e51b815260040180806020018281038252602e8152602001806127b1602e913960400191505060405180910390fd5b600054610100900460ff16158015611271576000805460ff1961ff0019909116610100171660011790555b86620f424062ffffff8216111561129a5760405162461bcd60e51b815260040161054390612671565b86620f424062ffffff821611156112c35760405162461bcd60e51b815260040161054390612671565b85620f424062ffffff821611156112ec5760405162461bcd60e51b815260040161054390612671565b6112fe8d6001600160a01b0316611d28565b61131a5760405162461bcd60e51b8152600401610543906125cd565b61132c8c6001600160a01b0316611d28565b6113485760405162461bcd60e51b8152600401610543906126b2565b611350611e79565b8c60cc60006101000a8154816001600160a01b0302191690836001600160a01b031602179055508b60cd60006101000a8154816001600160a01b0302191690836001600160a01b031602179055508a60cd60146101000a81548160ff021916908360ff1602179055508960cd60186101000a81548162ffffff021916908362ffffff1602179055508860cd601b6101000a81548162ffffff021916908362ffffff16021790555061140088610b77565b5060cd805462ffffff60a81b1916600160a81b62ffffff8b8116919091029190911790915560ce805462ffffff191691891691909117905560cf86905560d08590556040516001600160a01b038e16907f5a7bac4c08e1022faaa1b1a89ae303af586a2f96a465f8b356666294886a891090600090a26040516001600160a01b038d16907fa49691f0dd6477ccef49962612a236d252e3a31c3be8b61fa6abeff3e74a757290600090a27ff784e61fb9b384cd875177b67fe0592f178875d26c6192b102750fedf87535798b6040516114d9919061276d565b60405180910390a17f0c7e7d8787a51e904310208ff0d53d59e72cf969cfe4b649c15921f5799416dc886040516115109190612754565b60405180910390a17fa237b04e26233c5e5686a0757f3f5c54763d249df2415b1cd23ee3febfe486e38a6040516115479190612754565b60405180910390a17fb876b9c251594d2497d6eee4d31f68c52ad0a4ee33de83fa4ae75a85172899648960405161157e9190612754565b60405180910390a17f202cd03b2f9dc14bd41e38a741fa7f1fad98599419089f660e6b0692dd99b645876040516115b59190612754565b60405180910390a17f6c5ec56528cb0cd679a4675fe0e05d839c9f0eaabcf07edae0156097860327d3866040516115ec9190612764565b60405180910390a17f70c607d975120eebbca7ab6dcce0ead0b62780965d3dbb9d07626fbaacfeb09e856040516116239190612764565b60405180910390a15050508015611640576000805461ff00191690555b50505050505050505050565b611654611c51565b6001600160a01b0316611665610eea565b6001600160a01b0316146116a9576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60cd805460ff60a01b1916600160a01b60ff8416021790556040517ff784e61fb9b384cd875177b67fe0592f178875d26c6192b102750fedf87535799061058190839061276d565b80620f424062ffffff8216111561171a5760405162461bcd60e51b815260040161054390612671565b611722611c51565b6001600160a01b0316611733610eea565b6001600160a01b031614611777576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60cd805462ffffff60d81b1916600160d81b62ffffff8516021790556040517fb876b9c251594d2497d6eee4d31f68c52ad0a4ee33de83fa4ae75a8517289964906107b9908490612754565b80620f424062ffffff821611156117ec5760405162461bcd60e51b815260040161054390612671565b6117f4611c51565b6001600160a01b0316611805610eea565b6001600160a01b031614611849576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60ce805462ffffff191662ffffff84161790556040517f202cd03b2f9dc14bd41e38a741fa7f1fad98599419089f660e6b0692dd99b645906107b9908490612754565b60ce5462ffffff1690565b6020810151620f424062ffffff821611156118c45760405162461bcd60e51b815260040161054390612671565b6040820151620f424062ffffff821611156118f15760405162461bcd60e51b815260040161054390612671565b6118f9611c51565b6001600160a01b031661190a610eea565b6001600160a01b03161461194e576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b611957846104a9565b156119745760405162461bcd60e51b8152600401610543906125ef565b611986846001600160a01b0316611d28565b6119a25760405162461bcd60e51b8152600401610543906126f2565b82516119b6906001600160a01b0316611d28565b6119d25760405162461bcd60e51b815260040161054390612650565b60cd54604080516312803c7d60e01b815290516001600160a01b038088169316916312803c7d916004808301926020929190829003018186803b158015611a1857600080fd5b505afa158015611a2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5091906122d9565b6001600160a01b03161415611a775760405162461bcd60e51b8152600401610543906126d2565b6001600160a01b03848116600081815260cb60209081526040918290208751815492890151898501516001600160a01b03199094169682169690961762ffffff60a01b1916600160a01b62ffffff808916919091029190911762ffffff60b81b1916600160b81b9185169190910217825560608901516001909201829055925193947fd0389550217821f9cc5a0083667927af8975045b224a4d9b6e463fbb5d76c84394611b28949391929061257d565b60405180910390a250505050565b611b3e612296565b506001600160a01b03908116600090815260cb602090815260409182902082516080810184528154948516815262ffffff600160a01b8604811693820193909352600160b81b9094049091169183019190915260010154606082015290565b611ba5611c51565b6001600160a01b0316611bb6610eea565b6001600160a01b031614611bfa576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b611c0382611d00565b6001600160a01b038216600081815260cb602052604090819020600101839055517f22e062f893f21dc613f55d25ae4b077dfa32d888235a2fca0dfe7fb3ad60aa5e90610dd0908490612764565b6000611c5b611f2a565b905090565b611c68610abb565b611cb0576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b6067805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611ce3611c51565b604080516001600160a01b039092168252519081900360200190a1565b611d09816104a9565b611d255760405162461bcd60e51b815260040161054390612690565b50565b3b151590565b611d36610abb565b15611d7b576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6067805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611ce3611c51565b600082820183811015610aae576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115611e62576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000611e7330611d28565b15905090565b600054610100900460ff1680611e925750611e92611e68565b80611ea0575060005460ff16155b611edb5760405162461bcd60e51b815260040180806020018281038252602e8152602001806127b1602e913960400191505060405180910390fd5b600054610100900460ff16158015611f06576000805460ff1961ff0019909116610100171660011790555b611f0e611f2e565b611f1661201d565b8015611d25576000805461ff001916905550565b3390565b600054610100900460ff1680611f475750611f47611e68565b80611f55575060005460ff16155b611f905760405162461bcd60e51b815260040180806020018281038252602e8152602001806127b1602e913960400191505060405180910390fd5b600054610100900460ff16158015611fbb576000805460ff1961ff0019909116610100171660011790555b611fc36120ba565b6000611fcd611c51565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000906000805160206127df833981519152908290a3508015611d25576000805461ff001916905550565b600054610100900460ff16806120365750612036611e68565b80612044575060005460ff16155b61207f5760405162461bcd60e51b815260040180806020018281038252602e8152602001806127b1602e913960400191505060405180910390fd5b600054610100900460ff161580156120aa576000805460ff1961ff0019909116610100171660011790555b6120b261214b565b611f166121eb565b600054610100900460ff16806120d357506120d3611e68565b806120e1575060005460ff16155b61211c5760405162461bcd60e51b815260040180806020018281038252602e8152602001806127b1602e913960400191505060405180910390fd5b600054610100900460ff16158015612147576000805460ff1961ff0019909116610100171660011790555b611f165b600054610100900460ff16806121645750612164611e68565b80612172575060005460ff16155b6121ad5760405162461bcd60e51b815260040180806020018281038252602e8152602001806127b1602e913960400191505060405180910390fd5b600054610100900460ff16158015611f16576000805460ff1961ff0019909116610100171660011790558015611d25576000805461ff001916905550565b600054610100900460ff16806122045750612204611e68565b80612212575060005460ff16155b61224d5760405162461bcd60e51b815260040180806020018281038252602e8152602001806127b1602e913960400191505060405180910390fd5b600054610100900460ff16158015612278576000805460ff1961ff0019909116610100171660011790555b6067805460ff191690558015611d25576000805461ff001916905550565b60408051608081018252600080825260208201819052918101829052606081019190915290565b6000602082840312156122ce578081fd5b8135610aae8161277b565b6000602082840312156122ea578081fd5b8151610aae8161277b565b60008060408385031215612307578081fd5b82356123128161277b565b915060208301356123228161277b565b809150509250929050565b60008060008060008060008060006101208a8c03121561234b578485fd5b89356123568161277b565b985060208a01356123668161277b565b975060408a0135612376816127a1565b965060608a013561238681612790565b955060808a013561239681612790565b945060a08a01356123a681612790565b935060c08a01356123b681612790565b8093505060e08a013591506101008a013590509295985092959850929598565b60008082840360a08112156123e9578283fd5b83356123f48161277b565b92506080601f1982011215612407578182fd5b506040516080810181811067ffffffffffffffff8211171561242557fe5b60405260208401356124368161277b565b8152604084013561244681612790565b6020820152606084013561245981612790565b60408201526080939093013560608401525092909150565b60008060408385031215612483578182fd5b823561248e8161277b565b9150602083013561232281612790565b600080604083850312156124b0578182fd5b82356124bb8161277b565b946020939093013593505050565b6000602082840312156124da578081fd5b8135610aae81612790565b6000602082840312156124f6578081fd5b8151610aae81612790565b600060208284031215612512578081fd5b5035919050565b60006020828403121561252a578081fd5b5051919050565b600060208284031215612542578081fd5b8135610aae816127a1565b60006020828403121561255e578081fd5b8151610aae816127a1565b6001600160a01b0391909116815260200190565b6001600160a01b0394909416845262ffffff928316602085015291166040830152606082015260800190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b602080825260089082015267434d5f4348434e4360c01b604082015260600190565b602080825260069082015265434d5f43544560d01b604082015260600190565b60208082526007908201526621a6afa4a1a6a960c91b604082015260600190565b60208082526006908201526510d357d6911560d21b604082015260600190565b602080825260079082015266434d5f50464e4360c81b604082015260600190565b60208082526005908201526421a6afa4a960d91b604082015260600190565b602080825260089082015267434d5f54494e414360c01b604082015260600190565b602080825260069082015265434d5f564e4360d01b604082015260600190565b602080825260069082015265434d5f43495360d01b604082015260600190565b602080825260079082015266434d5f43544e4360c81b604082015260600190565b81516001600160a01b0316815260208083015162ffffff90811691830191909152604080840151909116908201526060918201519181019190915260800190565b62ffffff91909116815260200190565b90815260200190565b60ff91909116815260200190565b6001600160a01b0381168114611d2557600080fd5b62ffffff81168114611d2557600080fd5b60ff81168114611d2557600080fdfe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65648be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220b7f221200f1eecad7422c9adf66fcad0288b5c96c3d5909ffd309e9b7c81f03a64736f6c63430007060033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102125760003560e01c80638456cb5911610120578063b6113be6116100b8578063dcf492121161007c578063dcf4921214610426578063ddb1381314610439578063de8b54e614610441578063f6a44b3814610454578063f878369e1461047457610212565b8063b6113be6146103dd578063bc5920ba146103e5578063ce6d7f26146103ed578063d765f6e414610400578063dccbe8fe1461041357610212565b80638456cb591461037457806389f879db1461037c5780638c8557d9146103845780638d928af8146103975780638da5cb5b1461039f5780638facb54e146103a757806396659c7f146103ba578063aa2a8294146103cd578063b2eae838146103d557610212565b80633f4ba83a116101ae5780636237314e116101725780636237314e1461031e578063648cff3a146103315780636c8381f814610344578063715018a61461035957806376e112861461036157610212565b80633f4ba83a146102e057806341898b88146102e8578063449e815d146102fb57806348896fcd1461030e5780635c975abb1461031657610212565b806301b6a802146102175780630262771f146102355780630ee21e541461024a5780630f969b871461026a57806313af40351461027f57806324966a58146102925780632bc54f5b146102a557806334917794146102c55780633bc1d7ab146102d8575b600080fd5b61021f610487565b60405161022c9190612754565b60405180910390f35b61023d610499565b60405161022c919061276d565b61025d6102583660046122bd565b6104a9565b60405161022c91906125c2565b61027d610278366004612501565b6104c9565b005b61027d61028d3660046122bd565b61058c565b61027d6102a03660046124c9565b6106e7565b6102b86102b33660046122bd565b6107c5565b60405161022c9190612764565b61027d6102d3366004612501565b61080b565b61021f61089d565b61027d6108af565b61027d6102f6366004612471565b610916565b6102b861030936600461249e565b610a14565b6102b8610ab5565b61025d610abb565b61027d61032c3660046124c9565b610ac4565b61021f61033f3660046124c9565b610b77565b61034c610c2c565b60405161022c9190612569565b61027d610c3b565b61027d61036f3660046122f5565b610cdc565b61027d610ddc565b6102b8610e41565b61023d6103923660046122bd565b610e47565b61034c610edb565b61034c610eea565b61027d6103b5366004612471565b610ef9565b61027d6103c836600461249e565b610fea565b61034c6110d1565b6102b86110e0565b61021f6110e6565b61027d6110f8565b61027d6103fb36600461232d565b6111e4565b61027d61040e366004612531565b61164c565b61027d6104213660046124c9565b6116f1565b61027d6104343660046124c9565b6117c3565b61021f61188c565b61027d61044f3660046123d6565b611897565b6104676104623660046122bd565b611b36565b60405161022c9190612713565b61027d61048236600461249e565b611b9d565b60cd54600160d81b900462ffffff1690565b60cd54600160a01b900460ff1690565b6001600160a01b03908116600090815260cb602052604090205416151590565b6104d1611c51565b6001600160a01b03166104e2610eea565b6001600160a01b031614610526576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b8061054c5760405162461bcd60e51b815260040161054390612630565b60405180910390fd5b60cf8190556040517f6c5ec56528cb0cd679a4675fe0e05d839c9f0eaabcf07edae0156097860327d390610581908390612764565b60405180910390a150565b610594611c51565b6001600160a01b03166105a5610eea565b6001600160a01b0316146105e9576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b03811661062d576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6033546001600160a01b0382811691161415610679576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6034546001600160a01b03828116911614156106c5576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b603480546001600160a01b0319166001600160a01b0392909216919091179055565b80620f424062ffffff821611156107105760405162461bcd60e51b815260040161054390612671565b610718611c51565b6001600160a01b0316610729610eea565b6001600160a01b03161461076d576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60cd805462ffffff60c01b1916600160c01b62ffffff8516021790556040517fa237b04e26233c5e5686a0757f3f5c54763d249df2415b1cd23ee3febfe486e3906107b9908490612754565b60405180910390a15050565b6001600160a01b038116600090815260d1602052604081205415610801576001600160a01b038216600090815260d16020526040902054610805565b60cf545b92915050565b610813611c51565b6001600160a01b0316610824610eea565b6001600160a01b031614610868576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60d08190556040517f70c607d975120eebbca7ab6dcce0ead0b62780965d3dbb9d07626fbaacfeb09e90610581908390612764565b60cd54600160a81b900462ffffff1690565b6108b7611c51565b6001600160a01b03166108c8610eea565b6001600160a01b03161461090c576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610914611c60565b565b80620f424062ffffff8216111561093f5760405162461bcd60e51b815260040161054390612671565b610947611c51565b6001600160a01b0316610958610eea565b6001600160a01b03161461099c576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6109a583611d00565b6001600160a01b038316600081815260cb602052604090819020805462ffffff60a01b1916600160a01b62ffffff871602179055517ff5835a89fb1ddbf664427bb605f15cdab5c8138d96bf5548af663d80c586f86e90610a07908590612754565b60405180910390a2505050565b6000610a1f83611d00565b6001600160a01b03808416600090815260cb602052604090819020549051630e75722360e41b815291169063e757223090610a5e908590600401612764565b60206040518083038186803b158015610a7657600080fd5b505afa158015610a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aae9190612519565b9392505050565b60d05490565b60675460ff1690565b610acc611c51565b6001600160a01b0316610add610eea565b6001600160a01b031614610b21576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610b2a81610b77565b5060cd805462ffffff60a81b1916600160a81b62ffffff8416021790556040517f0c7e7d8787a51e904310208ff0d53d59e72cf969cfe4b649c15921f5799416dc90610581908390612754565b6000808260cc60009054906101000a90046001600160a01b03166001600160a01b031663a85494026040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc957600080fd5b505afa158015610bdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0191906124e5565b019050620f424062ffffff821611156108055760405162461bcd60e51b81526004016105439061260f565b6034546001600160a01b031690565b610c43611c51565b6001600160a01b0316610c54610eea565b6001600160a01b031614610c98576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6033546040516000916001600160a01b0316906000805160206127df833981519152908390a3603380546001600160a01b0319908116909155603480549091169055565b610ce4611c51565b6001600160a01b0316610cf5610eea565b6001600160a01b031614610d39576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610d4282611d00565b610d54816001600160a01b0316611d28565b610d705760405162461bcd60e51b815260040161054390612650565b6001600160a01b03828116600081815260cb60205260409081902080546001600160a01b0319169385169390931790925590517ff41a3b1d02012f65ae0013b820b751937676e06fe15550a1841ad88825d0b0dd90610dd0908490612569565b60405180910390a25050565b610de4611c51565b6001600160a01b0316610df5610eea565b6001600160a01b031614610e39576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610914611d2e565b60d25490565b6000610e5282611d00565b6001600160a01b03808316600090815260cb602090815260409182902054825163313ce56760e01b8152925193169263313ce567926004808201939291829003018186803b158015610ea357600080fd5b505afa158015610eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610805919061254d565b60cd546001600160a01b031690565b6033546001600160a01b031690565b80620f424062ffffff82161115610f225760405162461bcd60e51b815260040161054390612671565b610f2a611c51565b6001600160a01b0316610f3b610eea565b6001600160a01b031614610f7f576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610f8883611d00565b6001600160a01b038316600081815260cb602052604090819020805462ffffff60b81b1916600160b81b62ffffff871602179055517f9076416b8e788b309c7463933dc842ba2699b241c3219ce8e072988529ff31a390610a07908590612754565b610ff2611c51565b6001600160a01b0316611003610eea565b6001600160a01b031614611047576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b038216600090815260d1602052604090208054908290558181116110805760d25461107b90828403611db1565b61108f565b60d25461108f90838303611e0b565b60d2556040517f60657f45e262d8b0b273300fa67214347966e7752b429d822a8e22e5fd8709ae906110c490859085906125a9565b60405180910390a1505050565b60cc546001600160a01b031690565b60cf5490565b60cd54600160c01b900462ffffff1690565b6034546001600160a01b031661113d576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b611145611c51565b6034546001600160a01b03908116911614611190576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6034546033546040516001600160a01b0392831692909116906000805160206127df83398151915290600090a360348054603380546001600160a01b03199081166001600160a01b03841617909155169055565b600054610100900460ff16806111fd57506111fd611e68565b8061120b575060005460ff16155b6112465760405162461bcd60e51b815260040180806020018281038252602e8152602001806127b1602e913960400191505060405180910390fd5b600054610100900460ff16158015611271576000805460ff1961ff0019909116610100171660011790555b86620f424062ffffff8216111561129a5760405162461bcd60e51b815260040161054390612671565b86620f424062ffffff821611156112c35760405162461bcd60e51b815260040161054390612671565b85620f424062ffffff821611156112ec5760405162461bcd60e51b815260040161054390612671565b6112fe8d6001600160a01b0316611d28565b61131a5760405162461bcd60e51b8152600401610543906125cd565b61132c8c6001600160a01b0316611d28565b6113485760405162461bcd60e51b8152600401610543906126b2565b611350611e79565b8c60cc60006101000a8154816001600160a01b0302191690836001600160a01b031602179055508b60cd60006101000a8154816001600160a01b0302191690836001600160a01b031602179055508a60cd60146101000a81548160ff021916908360ff1602179055508960cd60186101000a81548162ffffff021916908362ffffff1602179055508860cd601b6101000a81548162ffffff021916908362ffffff16021790555061140088610b77565b5060cd805462ffffff60a81b1916600160a81b62ffffff8b8116919091029190911790915560ce805462ffffff191691891691909117905560cf86905560d08590556040516001600160a01b038e16907f5a7bac4c08e1022faaa1b1a89ae303af586a2f96a465f8b356666294886a891090600090a26040516001600160a01b038d16907fa49691f0dd6477ccef49962612a236d252e3a31c3be8b61fa6abeff3e74a757290600090a27ff784e61fb9b384cd875177b67fe0592f178875d26c6192b102750fedf87535798b6040516114d9919061276d565b60405180910390a17f0c7e7d8787a51e904310208ff0d53d59e72cf969cfe4b649c15921f5799416dc886040516115109190612754565b60405180910390a17fa237b04e26233c5e5686a0757f3f5c54763d249df2415b1cd23ee3febfe486e38a6040516115479190612754565b60405180910390a17fb876b9c251594d2497d6eee4d31f68c52ad0a4ee33de83fa4ae75a85172899648960405161157e9190612754565b60405180910390a17f202cd03b2f9dc14bd41e38a741fa7f1fad98599419089f660e6b0692dd99b645876040516115b59190612754565b60405180910390a17f6c5ec56528cb0cd679a4675fe0e05d839c9f0eaabcf07edae0156097860327d3866040516115ec9190612764565b60405180910390a17f70c607d975120eebbca7ab6dcce0ead0b62780965d3dbb9d07626fbaacfeb09e856040516116239190612764565b60405180910390a15050508015611640576000805461ff00191690555b50505050505050505050565b611654611c51565b6001600160a01b0316611665610eea565b6001600160a01b0316146116a9576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60cd805460ff60a01b1916600160a01b60ff8416021790556040517ff784e61fb9b384cd875177b67fe0592f178875d26c6192b102750fedf87535799061058190839061276d565b80620f424062ffffff8216111561171a5760405162461bcd60e51b815260040161054390612671565b611722611c51565b6001600160a01b0316611733610eea565b6001600160a01b031614611777576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60cd805462ffffff60d81b1916600160d81b62ffffff8516021790556040517fb876b9c251594d2497d6eee4d31f68c52ad0a4ee33de83fa4ae75a8517289964906107b9908490612754565b80620f424062ffffff821611156117ec5760405162461bcd60e51b815260040161054390612671565b6117f4611c51565b6001600160a01b0316611805610eea565b6001600160a01b031614611849576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b60ce805462ffffff191662ffffff84161790556040517f202cd03b2f9dc14bd41e38a741fa7f1fad98599419089f660e6b0692dd99b645906107b9908490612754565b60ce5462ffffff1690565b6020810151620f424062ffffff821611156118c45760405162461bcd60e51b815260040161054390612671565b6040820151620f424062ffffff821611156118f15760405162461bcd60e51b815260040161054390612671565b6118f9611c51565b6001600160a01b031661190a610eea565b6001600160a01b03161461194e576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b611957846104a9565b156119745760405162461bcd60e51b8152600401610543906125ef565b611986846001600160a01b0316611d28565b6119a25760405162461bcd60e51b8152600401610543906126f2565b82516119b6906001600160a01b0316611d28565b6119d25760405162461bcd60e51b815260040161054390612650565b60cd54604080516312803c7d60e01b815290516001600160a01b038088169316916312803c7d916004808301926020929190829003018186803b158015611a1857600080fd5b505afa158015611a2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5091906122d9565b6001600160a01b03161415611a775760405162461bcd60e51b8152600401610543906126d2565b6001600160a01b03848116600081815260cb60209081526040918290208751815492890151898501516001600160a01b03199094169682169690961762ffffff60a01b1916600160a01b62ffffff808916919091029190911762ffffff60b81b1916600160b81b9185169190910217825560608901516001909201829055925193947fd0389550217821f9cc5a0083667927af8975045b224a4d9b6e463fbb5d76c84394611b28949391929061257d565b60405180910390a250505050565b611b3e612296565b506001600160a01b03908116600090815260cb602090815260409182902082516080810184528154948516815262ffffff600160a01b8604811693820193909352600160b81b9094049091169183019190915260010154606082015290565b611ba5611c51565b6001600160a01b0316611bb6610eea565b6001600160a01b031614611bfa576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b611c0382611d00565b6001600160a01b038216600081815260cb602052604090819020600101839055517f22e062f893f21dc613f55d25ae4b077dfa32d888235a2fca0dfe7fb3ad60aa5e90610dd0908490612764565b6000611c5b611f2a565b905090565b611c68610abb565b611cb0576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b6067805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611ce3611c51565b604080516001600160a01b039092168252519081900360200190a1565b611d09816104a9565b611d255760405162461bcd60e51b815260040161054390612690565b50565b3b151590565b611d36610abb565b15611d7b576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6067805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611ce3611c51565b600082820183811015610aae576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115611e62576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000611e7330611d28565b15905090565b600054610100900460ff1680611e925750611e92611e68565b80611ea0575060005460ff16155b611edb5760405162461bcd60e51b815260040180806020018281038252602e8152602001806127b1602e913960400191505060405180910390fd5b600054610100900460ff16158015611f06576000805460ff1961ff0019909116610100171660011790555b611f0e611f2e565b611f1661201d565b8015611d25576000805461ff001916905550565b3390565b600054610100900460ff1680611f475750611f47611e68565b80611f55575060005460ff16155b611f905760405162461bcd60e51b815260040180806020018281038252602e8152602001806127b1602e913960400191505060405180910390fd5b600054610100900460ff16158015611fbb576000805460ff1961ff0019909116610100171660011790555b611fc36120ba565b6000611fcd611c51565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000906000805160206127df833981519152908290a3508015611d25576000805461ff001916905550565b600054610100900460ff16806120365750612036611e68565b80612044575060005460ff16155b61207f5760405162461bcd60e51b815260040180806020018281038252602e8152602001806127b1602e913960400191505060405180910390fd5b600054610100900460ff161580156120aa576000805460ff1961ff0019909116610100171660011790555b6120b261214b565b611f166121eb565b600054610100900460ff16806120d357506120d3611e68565b806120e1575060005460ff16155b61211c5760405162461bcd60e51b815260040180806020018281038252602e8152602001806127b1602e913960400191505060405180910390fd5b600054610100900460ff16158015612147576000805460ff1961ff0019909116610100171660011790555b611f165b600054610100900460ff16806121645750612164611e68565b80612172575060005460ff16155b6121ad5760405162461bcd60e51b815260040180806020018281038252602e8152602001806127b1602e913960400191505060405180910390fd5b600054610100900460ff16158015611f16576000805460ff1961ff0019909116610100171660011790558015611d25576000805461ff001916905550565b600054610100900460ff16806122045750612204611e68565b80612212575060005460ff16155b61224d5760405162461bcd60e51b815260040180806020018281038252602e8152602001806127b1602e913960400191505060405180910390fd5b600054610100900460ff16158015612278576000805460ff1961ff0019909116610100171660011790555b6067805460ff191690558015611d25576000805461ff001916905550565b60408051608081018252600080825260208201819052918101829052606081019190915290565b6000602082840312156122ce578081fd5b8135610aae8161277b565b6000602082840312156122ea578081fd5b8151610aae8161277b565b60008060408385031215612307578081fd5b82356123128161277b565b915060208301356123228161277b565b809150509250929050565b60008060008060008060008060006101208a8c03121561234b578485fd5b89356123568161277b565b985060208a01356123668161277b565b975060408a0135612376816127a1565b965060608a013561238681612790565b955060808a013561239681612790565b945060a08a01356123a681612790565b935060c08a01356123b681612790565b8093505060e08a013591506101008a013590509295985092959850929598565b60008082840360a08112156123e9578283fd5b83356123f48161277b565b92506080601f1982011215612407578182fd5b506040516080810181811067ffffffffffffffff8211171561242557fe5b60405260208401356124368161277b565b8152604084013561244681612790565b6020820152606084013561245981612790565b60408201526080939093013560608401525092909150565b60008060408385031215612483578182fd5b823561248e8161277b565b9150602083013561232281612790565b600080604083850312156124b0578182fd5b82356124bb8161277b565b946020939093013593505050565b6000602082840312156124da578081fd5b8135610aae81612790565b6000602082840312156124f6578081fd5b8151610aae81612790565b600060208284031215612512578081fd5b5035919050565b60006020828403121561252a578081fd5b5051919050565b600060208284031215612542578081fd5b8135610aae816127a1565b60006020828403121561255e578081fd5b8151610aae816127a1565b6001600160a01b0391909116815260200190565b6001600160a01b0394909416845262ffffff928316602085015291166040830152606082015260800190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b602080825260089082015267434d5f4348434e4360c01b604082015260600190565b602080825260069082015265434d5f43544560d01b604082015260600190565b60208082526007908201526621a6afa4a1a6a960c91b604082015260600190565b60208082526006908201526510d357d6911560d21b604082015260600190565b602080825260079082015266434d5f50464e4360c81b604082015260600190565b60208082526005908201526421a6afa4a960d91b604082015260600190565b602080825260089082015267434d5f54494e414360c01b604082015260600190565b602080825260069082015265434d5f564e4360d01b604082015260600190565b602080825260069082015265434d5f43495360d01b604082015260600190565b602080825260079082015266434d5f43544e4360c81b604082015260600190565b81516001600160a01b0316815260208083015162ffffff90811691830191909152604080840151909116908201526060918201519181019190915260800190565b62ffffff91909116815260200190565b90815260200190565b60ff91909116815260200190565b6001600160a01b0381168114611d2557600080fd5b62ffffff81168114611d2557600080fd5b60ff81168114611d2557600080fdfe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65648be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220b7f221200f1eecad7422c9adf66fcad0288b5c96c3d5909ffd309e9b7c81f03a64736f6c63430007060033",
"linkReferences": {},
"deployedLinkReferences": {}
}

68

optimism-goerli-dev1/core/artifacts/contracts/InsuranceFund.sol/InsuranceFund.json

@@ -25,2 +25,15 @@ {

"internalType": "uint256",
"name": "distributionThreshold",
"type": "uint256"
}
],
"name": "DistributionThresholdChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "surplus",

@@ -44,3 +57,3 @@ "type": "uint256"

"internalType": "uint256",
"name": "threshold",
"name": "distributionThreshold",
"type": "uint256"

@@ -121,8 +134,8 @@ }

"indexed": false,
"internalType": "uint256",
"name": "threshold",
"type": "uint256"
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "ThresholdChanged",
"name": "Unpaused",
"type": "event"

@@ -136,7 +149,7 @@ },

"internalType": "address",
"name": "account",
"name": "vault",
"type": "address"
}
],
"name": "Unpaused",
"name": "VaultChanged",
"type": "event"

@@ -185,2 +198,15 @@ },

"inputs": [],
"name": "getDistributionThreshold",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getInsuranceFundCapacity",

@@ -212,8 +238,8 @@ "outputs": [

"inputs": [],
"name": "getThreshold",
"name": "getToken",
"outputs": [
{
"internalType": "uint256",
"internalType": "address",
"name": "",
"type": "uint256"
"type": "address"
}

@@ -226,3 +252,3 @@ ],

"inputs": [],
"name": "getToken",
"name": "getVault",
"outputs": [

@@ -301,8 +327,8 @@ {

{
"internalType": "address",
"name": "borrowerArg",
"type": "address"
"internalType": "uint256",
"name": "distributionThreshold",
"type": "uint256"
}
],
"name": "setBorrower",
"name": "setDistributionThreshold",
"outputs": [],

@@ -341,8 +367,8 @@ "stateMutability": "nonpayable",

{
"internalType": "uint256",
"name": "threshold",
"type": "uint256"
"internalType": "address",
"name": "vaultArg",
"type": "address"
}
],
"name": "setThreshold",
"name": "setVault",
"outputs": [],

@@ -367,6 +393,6 @@ "stateMutability": "nonpayable",

],
"bytecode": "0x608060405234801561001057600080fd5b50611fe9806100206000396000f3fe608060405234801561001057600080fd5b50600436106101115760003560e01c80636c8381f8116100ad578063bc5920ba11610071578063bc5920ba146101fd578063c4d66de814610205578063c762d5f71461022b578063d8ab17b514610251578063e75235b81461027757610111565b80636c8381f8146101c0578063715018a6146101c85780638456cb59146101d05780638da5cb5b146101d8578063960bfe04146101e057610111565b806313af4035146101165780631cb0c3e71461013e578063213037c41461016257806321df0da71461017c578063258d8e6a1461018457806326c4e60d1461018c5780633f4ba83a14610194578063402d88831461019c5780635c975abb146101a4575b600080fd5b61013c6004803603602081101561012c57600080fd5b50356001600160a01b031661027f565b005b6101466103da565b604080516001600160a01b039092168252519081900360200190f35b61016a6103e9565b60408051918252519081900360200190f35b610146610502565b610146610511565b61016a610520565b61013c61080f565b61013c610876565b6101ac610c35565b604080519115158252519081900360200190f35b610146610c3e565b61013c610c4d565b61013c610cee565b610146610d53565b61013c600480360360208110156101f657600080fd5b5035610d62565b61013c610dfb565b61013c6004803603602081101561021b57600080fd5b50356001600160a01b0316610ee7565b61013c6004803603602081101561024157600080fd5b50356001600160a01b0316611001565b61013c6004803603602081101561026757600080fd5b50356001600160a01b03166110fe565b61016a6112b2565b6102876112b9565b6001600160a01b0316610298610d53565b6001600160a01b0316146102dc576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b038116610320576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6065546001600160a01b038281169116141561036c576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6066546001600160a01b03828116911614156103b8576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b606680546001600160a01b0319166001600160a01b0392909216919091179055565b60fe546001600160a01b031690565b60fe5460fd546040805163c3b66b3160e01b815230600482015290516000936001600160a01b039081169316918491849163c3b66b31916024808301926020929190829003018186803b15801561043f57600080fd5b505afa158015610453573d6000803e3d6000fd5b505050506040513d602081101561046957600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916104ed916001600160a01b038616916370a0823191602480820192602092909190829003018186803b1580156104bc57600080fd5b505afa1580156104d0573d6000803e3d6000fd5b505050506040513d60208110156104e657600080fd5b50516112c8565b90506104f98282611314565b94505050505090565b60fd546001600160a01b031690565b60ff546001600160a01b031690565b60006002600154141561057a576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600155610587610c35565b156105cc576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b60fe5460fd5460ff54610100546001600160a01b039384169392831692909116906000906105f9906112c8565b90506001600160a01b03821661063f576040805162461bcd60e51b815260206004820152600660248201526549465f534e5360d01b604482015290519081900360640190fd5b6000811361067d576040805162461bcd60e51b815260206004820152600660248201526524a32faa22ad60d11b604482015290519081900360640190fd5b60006106e0856001600160a01b03166312ca1d1730876040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b1580156104bc57600080fd5b905060006106ec6103e9565b905060006107046106fd8386611380565b60006113e5565b9050600061071a61071583866113fc565b61140b565b905080156107ff57876001600160a01b031663f3fef3a388836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561077957600080fd5b505af115801561078d573d6000803e3d6000fd5b5050505061079c878783611462565b7f5b3735d487e9342fbcf11df79c2146f60ffabadb4d2e31ced107fe4346cd21ef816107c78561140b565b6107d08761140b565b6107d98961140b565b604080519485526020850193909352838301919091526060830152519081900360800190a15b9750505050505050506001805590565b6108176112b9565b6001600160a01b0316610828610d53565b6001600160a01b03161461086c576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6108746114b9565b565b600260015414156108ce576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026001556108db610c35565b15610920576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b60fe5460fd546040805163c3b66b3160e01b815230600482015290516001600160a01b039384169390921691600091849163c3b66b3191602480820192602092909190829003018186803b15801561097757600080fd5b505afa15801561098b573d6000803e3d6000fd5b505050506040513d60208110156109a157600080fd5b50519050600081126109e4576040805162461bcd60e51b815260206004820152600760248201526624a32fa92ba72760c91b604482015290519081900360640190fd5b6000826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a3357600080fd5b505afa158015610a47573d6000803e3d6000fd5b505050506040513d6020811015610a5d57600080fd5b505190506000610a6c83611559565b9050600081831015610a7e5782610a80565b815b9050846001600160a01b031663095ea7b387836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610ad957600080fd5b505af1158015610aed573d6000803e3d6000fd5b505050506040513d6020811015610b0357600080fd5b5050604080516311f9fbc960e21b81526001600160a01b038781166004830152602482018490529151918816916347e7ef249160448082019260009290919082900301818387803b158015610b5757600080fd5b505af1158015610b6b573d6000803e3d6000fd5b505050506000856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610bbe57600080fd5b505afa158015610bd2573d6000803e3d6000fd5b505050506040513d6020811015610be857600080fd5b5051604080518481526020810183905281519293507f81472a96709c8315c82af40d41ef624a642ad53864b097e53af675593bb4e035929081900390910190a15050600180555050505050565b60995460ff1690565b6066546001600160a01b031690565b610c556112b9565b6001600160a01b0316610c66610d53565b6001600160a01b031614610caa576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6065546040516000916001600160a01b031690600080516020611f1e833981519152908390a3606580546001600160a01b0319908116909155606680549091169055565b610cf66112b9565b6001600160a01b0316610d07610d53565b6001600160a01b031614610d4b576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610874611583565b6065546001600160a01b031690565b610d6a6112b9565b6001600160a01b0316610d7b610d53565b6001600160a01b031614610dbf576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6101008190556040805182815290517f6c4ce60fd690e1216286a10b875c5662555f10774484e58142cedd7a90781baa9181900360200190a150565b6066546001600160a01b0316610e40576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b610e486112b9565b6066546001600160a01b03908116911614610e93576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6066546065546040516001600160a01b039283169290911690600080516020611f1e83398151915290600090a360668054606580546001600160a01b03199081166001600160a01b03841617909155169055565b600054610100900460ff1680610f005750610f00611606565b80610f0e575060005460ff16155b610f495760405162461bcd60e51b815260040180806020018281038252602e815260200180611ef0602e913960400191505060405180910390fd5b600054610100900460ff16158015610f74576000805460ff1961ff0019909116610100171660011790555b610f86826001600160a01b0316611617565b610fc0576040805162461bcd60e51b815260206004820152600660248201526549465f544e4360d01b604482015290519081900360640190fd5b610fc861161d565b610fd06116c7565b60fd80546001600160a01b0319166001600160a01b0384161790558015610ffd576000805461ff00191690555b5050565b6110096112b9565b6001600160a01b031661101a610d53565b6001600160a01b03161461105e576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b611070816001600160a01b0316611617565b6110aa576040805162461bcd60e51b815260206004820152600660248201526549465f424e4360d01b604482015290519081900360640190fd5b60fe80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fa1cc029f3440726d0dd25b6385e24d209e5bf7817d6662d6e4bfdfbc621c1cf29181900360200190a150565b6111066112b9565b6001600160a01b0316611117610d53565b6001600160a01b03161461115b576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b61116d816001600160a01b0316611617565b6111a7576040805162461bcd60e51b815260206004820152600660248201526549465f534e4360d01b604482015290519081900360640190fd5b60fd54604080516321df0da760e01b815290516001600160a01b03928316928416916321df0da7916004808301926020929190829003018186803b1580156111ee57600080fd5b505afa158015611202573d6000803e3d6000fd5b505050506040513d602081101561121857600080fd5b50516001600160a01b03161461125e576040805162461bcd60e51b815260206004820152600660248201526549465f544e4d60d01b604482015290519081900360640190fd5b60ff80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f6d932b1f34b8232aeb85a714eecbab101e949e9df57611b94a68ccc68df23fa89181900360200190a150565b6101005490565b60006112c3611764565b905090565b60006001600160ff1b038211156113105760405162461bcd60e51b8152600401808060200182810382526028815260200180611f3e6028913960400191505060405180910390fd5b5090565b60008282018183128015906113295750838112155b8061133e575060008312801561133e57508381125b6113795760405162461bcd60e51b8152600401808060200182810382526021815260200180611ea96021913960400191505060405180910390fd5b9392505050565b60008183038183128015906113955750838113155b806113aa57506000831280156113aa57508381135b6113795760405162461bcd60e51b8152600401808060200182810382526024815260200180611f666024913960400191505060405180910390fd5b6000818312156113f55781611379565b5090919050565b60008183126113f55781611379565b600080821215611310576040805162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526114b4908490611768565b505050565b6114c1610c35565b611509576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b6099805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61153c6112b9565b604080516001600160a01b039092168252519081900360200190a1565b6000808212156115745761156f61071583611819565b61157d565b61157d8261140b565b92915050565b61158b610c35565b156115d0576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6099805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861153c6112b9565b600061161130611617565b15905090565b3b151590565b600054610100900460ff16806116365750611636611606565b80611644575060005460ff16155b61167f5760405162461bcd60e51b815260040180806020018281038252602e815260200180611ef0602e913960400191505060405180910390fd5b600054610100900460ff161580156116aa576000805460ff1961ff0019909116610100171660011790555b6116b261184e565b80156116c4576000805461ff00191690555b50565b600054610100900460ff16806116e057506116e0611606565b806116ee575060005460ff16155b6117295760405162461bcd60e51b815260040180806020018281038252602e815260200180611ef0602e913960400191505060405180910390fd5b600054610100900460ff16158015611754576000805460ff1961ff0019909116610100171660011790555b61175c6118f3565b6116b26119e2565b3390565b60006117bd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611a7f9092919063ffffffff16565b8051909150156114b4578080602001905160208110156117dc57600080fd5b50516114b45760405162461bcd60e51b815260040180806020018281038252602a815260200180611f8a602a913960400191505060405180910390fd5b6000600160ff1b82136118475760405162461bcd60e51b815260040161183e90611e71565b60405180910390fd5b5060000390565b600054610100900460ff16806118675750611867611606565b80611875575060005460ff16155b6118b05760405162461bcd60e51b815260040180806020018281038252602e815260200180611ef0602e913960400191505060405180910390fd5b600054610100900460ff161580156118db576000805460ff1961ff0019909116610100171660011790555b6001805580156116c4576000805461ff001916905550565b600054610100900460ff168061190c575061190c611606565b8061191a575060005460ff16155b6119555760405162461bcd60e51b815260040180806020018281038252602e815260200180611ef0602e913960400191505060405180910390fd5b600054610100900460ff16158015611980576000805460ff1961ff0019909116610100171660011790555b611988611a96565b60006119926112b9565b606580546001600160a01b0319166001600160a01b03831690811790915560405191925090600090600080516020611f1e833981519152908290a35080156116c4576000805461ff001916905550565b600054610100900460ff16806119fb57506119fb611606565b80611a09575060005460ff16155b611a445760405162461bcd60e51b815260040180806020018281038252602e815260200180611ef0602e913960400191505060405180910390fd5b600054610100900460ff16158015611a6f576000805460ff1961ff0019909116610100171660011790555b611a77611b27565b6116b2611bc7565b6060611a8e8484600085611c72565b949350505050565b600054610100900460ff1680611aaf5750611aaf611606565b80611abd575060005460ff16155b611af85760405162461bcd60e51b815260040180806020018281038252602e815260200180611ef0602e913960400191505060405180910390fd5b600054610100900460ff16158015611b23576000805460ff1961ff0019909116610100171660011790555b6116b25b600054610100900460ff1680611b405750611b40611606565b80611b4e575060005460ff16155b611b895760405162461bcd60e51b815260040180806020018281038252602e815260200180611ef0602e913960400191505060405180910390fd5b600054610100900460ff161580156116b2576000805460ff1961ff00199091166101001716600117905580156116c4576000805461ff001916905550565b600054610100900460ff1680611be05750611be0611606565b80611bee575060005460ff16155b611c295760405162461bcd60e51b815260040180806020018281038252602e815260200180611ef0602e913960400191505060405180910390fd5b600054610100900460ff16158015611c54576000805460ff1961ff0019909116610100171660011790555b6099805460ff1916905580156116c4576000805461ff001916905550565b606082471015611cb35760405162461bcd60e51b8152600401808060200182810382526026815260200180611eca6026913960400191505060405180910390fd5b611cbc85611617565b611d0d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b60208310611d4b5780518252601f199092019160209182019101611d2c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611dad576040519150601f19603f3d011682016040523d82523d6000602084013e611db2565b606091505b5091509150611dc2828286611dcd565b979650505050505050565b60608315611ddc575081611379565b825115611dec5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e36578181015183820152602001611e1e565b50505050905090810190601f168015611e635780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6020808252601c908201527f506572704d6174683a20696e76657273696f6e206f766572666c6f770000000060408201526060019056fe5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f77416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65648be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e053616665436173743a2076616c756520646f65736e27742066697420696e20616e20696e743235365369676e6564536166654d6174683a207375627472616374696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220c1fb3e4a0da4f4a27629e7757a9ae2a6f25bf063583dc6ebe79195ecf2fa69ea64736f6c63430007060033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101115760003560e01c80636c8381f8116100ad578063bc5920ba11610071578063bc5920ba146101fd578063c4d66de814610205578063c762d5f71461022b578063d8ab17b514610251578063e75235b81461027757610111565b80636c8381f8146101c0578063715018a6146101c85780638456cb59146101d05780638da5cb5b146101d8578063960bfe04146101e057610111565b806313af4035146101165780631cb0c3e71461013e578063213037c41461016257806321df0da71461017c578063258d8e6a1461018457806326c4e60d1461018c5780633f4ba83a14610194578063402d88831461019c5780635c975abb146101a4575b600080fd5b61013c6004803603602081101561012c57600080fd5b50356001600160a01b031661027f565b005b6101466103da565b604080516001600160a01b039092168252519081900360200190f35b61016a6103e9565b60408051918252519081900360200190f35b610146610502565b610146610511565b61016a610520565b61013c61080f565b61013c610876565b6101ac610c35565b604080519115158252519081900360200190f35b610146610c3e565b61013c610c4d565b61013c610cee565b610146610d53565b61013c600480360360208110156101f657600080fd5b5035610d62565b61013c610dfb565b61013c6004803603602081101561021b57600080fd5b50356001600160a01b0316610ee7565b61013c6004803603602081101561024157600080fd5b50356001600160a01b0316611001565b61013c6004803603602081101561026757600080fd5b50356001600160a01b03166110fe565b61016a6112b2565b6102876112b9565b6001600160a01b0316610298610d53565b6001600160a01b0316146102dc576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b038116610320576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6065546001600160a01b038281169116141561036c576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6066546001600160a01b03828116911614156103b8576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b606680546001600160a01b0319166001600160a01b0392909216919091179055565b60fe546001600160a01b031690565b60fe5460fd546040805163c3b66b3160e01b815230600482015290516000936001600160a01b039081169316918491849163c3b66b31916024808301926020929190829003018186803b15801561043f57600080fd5b505afa158015610453573d6000803e3d6000fd5b505050506040513d602081101561046957600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916104ed916001600160a01b038616916370a0823191602480820192602092909190829003018186803b1580156104bc57600080fd5b505afa1580156104d0573d6000803e3d6000fd5b505050506040513d60208110156104e657600080fd5b50516112c8565b90506104f98282611314565b94505050505090565b60fd546001600160a01b031690565b60ff546001600160a01b031690565b60006002600154141561057a576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600155610587610c35565b156105cc576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b60fe5460fd5460ff54610100546001600160a01b039384169392831692909116906000906105f9906112c8565b90506001600160a01b03821661063f576040805162461bcd60e51b815260206004820152600660248201526549465f534e5360d01b604482015290519081900360640190fd5b6000811361067d576040805162461bcd60e51b815260206004820152600660248201526524a32faa22ad60d11b604482015290519081900360640190fd5b60006106e0856001600160a01b03166312ca1d1730876040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b1580156104bc57600080fd5b905060006106ec6103e9565b905060006107046106fd8386611380565b60006113e5565b9050600061071a61071583866113fc565b61140b565b905080156107ff57876001600160a01b031663f3fef3a388836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561077957600080fd5b505af115801561078d573d6000803e3d6000fd5b5050505061079c878783611462565b7f5b3735d487e9342fbcf11df79c2146f60ffabadb4d2e31ced107fe4346cd21ef816107c78561140b565b6107d08761140b565b6107d98961140b565b604080519485526020850193909352838301919091526060830152519081900360800190a15b9750505050505050506001805590565b6108176112b9565b6001600160a01b0316610828610d53565b6001600160a01b03161461086c576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6108746114b9565b565b600260015414156108ce576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026001556108db610c35565b15610920576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b60fe5460fd546040805163c3b66b3160e01b815230600482015290516001600160a01b039384169390921691600091849163c3b66b3191602480820192602092909190829003018186803b15801561097757600080fd5b505afa15801561098b573d6000803e3d6000fd5b505050506040513d60208110156109a157600080fd5b50519050600081126109e4576040805162461bcd60e51b815260206004820152600760248201526624a32fa92ba72760c91b604482015290519081900360640190fd5b6000826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a3357600080fd5b505afa158015610a47573d6000803e3d6000fd5b505050506040513d6020811015610a5d57600080fd5b505190506000610a6c83611559565b9050600081831015610a7e5782610a80565b815b9050846001600160a01b031663095ea7b387836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610ad957600080fd5b505af1158015610aed573d6000803e3d6000fd5b505050506040513d6020811015610b0357600080fd5b5050604080516311f9fbc960e21b81526001600160a01b038781166004830152602482018490529151918816916347e7ef249160448082019260009290919082900301818387803b158015610b5757600080fd5b505af1158015610b6b573d6000803e3d6000fd5b505050506000856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610bbe57600080fd5b505afa158015610bd2573d6000803e3d6000fd5b505050506040513d6020811015610be857600080fd5b5051604080518481526020810183905281519293507f81472a96709c8315c82af40d41ef624a642ad53864b097e53af675593bb4e035929081900390910190a15050600180555050505050565b60995460ff1690565b6066546001600160a01b031690565b610c556112b9565b6001600160a01b0316610c66610d53565b6001600160a01b031614610caa576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6065546040516000916001600160a01b031690600080516020611f1e833981519152908390a3606580546001600160a01b0319908116909155606680549091169055565b610cf66112b9565b6001600160a01b0316610d07610d53565b6001600160a01b031614610d4b576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610874611583565b6065546001600160a01b031690565b610d6a6112b9565b6001600160a01b0316610d7b610d53565b6001600160a01b031614610dbf576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6101008190556040805182815290517f6c4ce60fd690e1216286a10b875c5662555f10774484e58142cedd7a90781baa9181900360200190a150565b6066546001600160a01b0316610e40576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b610e486112b9565b6066546001600160a01b03908116911614610e93576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6066546065546040516001600160a01b039283169290911690600080516020611f1e83398151915290600090a360668054606580546001600160a01b03199081166001600160a01b03841617909155169055565b600054610100900460ff1680610f005750610f00611606565b80610f0e575060005460ff16155b610f495760405162461bcd60e51b815260040180806020018281038252602e815260200180611ef0602e913960400191505060405180910390fd5b600054610100900460ff16158015610f74576000805460ff1961ff0019909116610100171660011790555b610f86826001600160a01b0316611617565b610fc0576040805162461bcd60e51b815260206004820152600660248201526549465f544e4360d01b604482015290519081900360640190fd5b610fc861161d565b610fd06116c7565b60fd80546001600160a01b0319166001600160a01b0384161790558015610ffd576000805461ff00191690555b5050565b6110096112b9565b6001600160a01b031661101a610d53565b6001600160a01b03161461105e576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b611070816001600160a01b0316611617565b6110aa576040805162461bcd60e51b815260206004820152600660248201526549465f424e4360d01b604482015290519081900360640190fd5b60fe80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fa1cc029f3440726d0dd25b6385e24d209e5bf7817d6662d6e4bfdfbc621c1cf29181900360200190a150565b6111066112b9565b6001600160a01b0316611117610d53565b6001600160a01b03161461115b576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b61116d816001600160a01b0316611617565b6111a7576040805162461bcd60e51b815260206004820152600660248201526549465f534e4360d01b604482015290519081900360640190fd5b60fd54604080516321df0da760e01b815290516001600160a01b03928316928416916321df0da7916004808301926020929190829003018186803b1580156111ee57600080fd5b505afa158015611202573d6000803e3d6000fd5b505050506040513d602081101561121857600080fd5b50516001600160a01b03161461125e576040805162461bcd60e51b815260206004820152600660248201526549465f544e4d60d01b604482015290519081900360640190fd5b60ff80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f6d932b1f34b8232aeb85a714eecbab101e949e9df57611b94a68ccc68df23fa89181900360200190a150565b6101005490565b60006112c3611764565b905090565b60006001600160ff1b038211156113105760405162461bcd60e51b8152600401808060200182810382526028815260200180611f3e6028913960400191505060405180910390fd5b5090565b60008282018183128015906113295750838112155b8061133e575060008312801561133e57508381125b6113795760405162461bcd60e51b8152600401808060200182810382526021815260200180611ea96021913960400191505060405180910390fd5b9392505050565b60008183038183128015906113955750838113155b806113aa57506000831280156113aa57508381135b6113795760405162461bcd60e51b8152600401808060200182810382526024815260200180611f666024913960400191505060405180910390fd5b6000818312156113f55781611379565b5090919050565b60008183126113f55781611379565b600080821215611310576040805162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526114b4908490611768565b505050565b6114c1610c35565b611509576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b6099805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61153c6112b9565b604080516001600160a01b039092168252519081900360200190a1565b6000808212156115745761156f61071583611819565b61157d565b61157d8261140b565b92915050565b61158b610c35565b156115d0576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6099805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861153c6112b9565b600061161130611617565b15905090565b3b151590565b600054610100900460ff16806116365750611636611606565b80611644575060005460ff16155b61167f5760405162461bcd60e51b815260040180806020018281038252602e815260200180611ef0602e913960400191505060405180910390fd5b600054610100900460ff161580156116aa576000805460ff1961ff0019909116610100171660011790555b6116b261184e565b80156116c4576000805461ff00191690555b50565b600054610100900460ff16806116e057506116e0611606565b806116ee575060005460ff16155b6117295760405162461bcd60e51b815260040180806020018281038252602e815260200180611ef0602e913960400191505060405180910390fd5b600054610100900460ff16158015611754576000805460ff1961ff0019909116610100171660011790555b61175c6118f3565b6116b26119e2565b3390565b60006117bd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611a7f9092919063ffffffff16565b8051909150156114b4578080602001905160208110156117dc57600080fd5b50516114b45760405162461bcd60e51b815260040180806020018281038252602a815260200180611f8a602a913960400191505060405180910390fd5b6000600160ff1b82136118475760405162461bcd60e51b815260040161183e90611e71565b60405180910390fd5b5060000390565b600054610100900460ff16806118675750611867611606565b80611875575060005460ff16155b6118b05760405162461bcd60e51b815260040180806020018281038252602e815260200180611ef0602e913960400191505060405180910390fd5b600054610100900460ff161580156118db576000805460ff1961ff0019909116610100171660011790555b6001805580156116c4576000805461ff001916905550565b600054610100900460ff168061190c575061190c611606565b8061191a575060005460ff16155b6119555760405162461bcd60e51b815260040180806020018281038252602e815260200180611ef0602e913960400191505060405180910390fd5b600054610100900460ff16158015611980576000805460ff1961ff0019909116610100171660011790555b611988611a96565b60006119926112b9565b606580546001600160a01b0319166001600160a01b03831690811790915560405191925090600090600080516020611f1e833981519152908290a35080156116c4576000805461ff001916905550565b600054610100900460ff16806119fb57506119fb611606565b80611a09575060005460ff16155b611a445760405162461bcd60e51b815260040180806020018281038252602e815260200180611ef0602e913960400191505060405180910390fd5b600054610100900460ff16158015611a6f576000805460ff1961ff0019909116610100171660011790555b611a77611b27565b6116b2611bc7565b6060611a8e8484600085611c72565b949350505050565b600054610100900460ff1680611aaf5750611aaf611606565b80611abd575060005460ff16155b611af85760405162461bcd60e51b815260040180806020018281038252602e815260200180611ef0602e913960400191505060405180910390fd5b600054610100900460ff16158015611b23576000805460ff1961ff0019909116610100171660011790555b6116b25b600054610100900460ff1680611b405750611b40611606565b80611b4e575060005460ff16155b611b895760405162461bcd60e51b815260040180806020018281038252602e815260200180611ef0602e913960400191505060405180910390fd5b600054610100900460ff161580156116b2576000805460ff1961ff00199091166101001716600117905580156116c4576000805461ff001916905550565b600054610100900460ff1680611be05750611be0611606565b80611bee575060005460ff16155b611c295760405162461bcd60e51b815260040180806020018281038252602e815260200180611ef0602e913960400191505060405180910390fd5b600054610100900460ff16158015611c54576000805460ff1961ff0019909116610100171660011790555b6099805460ff1916905580156116c4576000805461ff001916905550565b606082471015611cb35760405162461bcd60e51b8152600401808060200182810382526026815260200180611eca6026913960400191505060405180910390fd5b611cbc85611617565b611d0d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b60208310611d4b5780518252601f199092019160209182019101611d2c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611dad576040519150601f19603f3d011682016040523d82523d6000602084013e611db2565b606091505b5091509150611dc2828286611dcd565b979650505050505050565b60608315611ddc575081611379565b825115611dec5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e36578181015183820152602001611e1e565b50505050905090810190601f168015611e635780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6020808252601c908201527f506572704d6174683a20696e76657273696f6e206f766572666c6f770000000060408201526060019056fe5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f77416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65648be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e053616665436173743a2076616c756520646f65736e27742066697420696e20616e20696e743235365369676e6564536166654d6174683a207375627472616374696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220c1fb3e4a0da4f4a27629e7757a9ae2a6f25bf063583dc6ebe79195ecf2fa69ea64736f6c63430007060033",
"bytecode": "0x608060405234801561001057600080fd5b50612005806100206000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80636c8381f8116100ad578063b9b4744a11610071578063b9b4744a14610221578063bc5920ba1461023e578063c4d66de814610246578063d8ab17b51461026c578063efeb8e69146102925761012c565b80636c8381f814610201578063715018a6146102095780638456cb59146102115780638d928af8146101595780638da5cb5b146102195761012c565b806326c4e60d116100f457806326c4e60d146101a75780633f4ba83a146101af578063402d8883146101b75780635c975abb146101bf5780636817031b146101db5761012c565b806313af4035146101315780631cb0c3e714610159578063213037c41461017d57806321df0da714610197578063258d8e6a1461019f575b600080fd5b6101576004803603602081101561014757600080fd5b50356001600160a01b031661029a565b005b6101616103f5565b604080516001600160a01b039092168252519081900360200190f35b610185610404565b60408051918252519081900360200190f35b61016161051d565b61016161052c565b61018561053b565b61015761082b565b610157610892565b6101c7610c51565b604080519115158252519081900360200190f35b610157600480360360208110156101f157600080fd5b50356001600160a01b0316610c5a565b610161610d57565b610157610d66565b610157610e07565b610161610e6c565b6101576004803603602081101561023757600080fd5b5035610e7b565b610157610f14565b6101576004803603602081101561025c57600080fd5b50356001600160a01b0316611000565b6101576004803603602081101561028257600080fd5b50356001600160a01b031661111a565b6101856112ce565b6102a26112d5565b6001600160a01b03166102b3610e6c565b6001600160a01b0316146102f7576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b03811661033b576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6065546001600160a01b0382811691161415610387576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6066546001600160a01b03828116911614156103d3576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b606680546001600160a01b0319166001600160a01b0392909216919091179055565b60fe546001600160a01b031690565b60fe5460fd546040805163c3b66b3160e01b815230600482015290516000936001600160a01b039081169316918491849163c3b66b31916024808301926020929190829003018186803b15801561045a57600080fd5b505afa15801561046e573d6000803e3d6000fd5b505050506040513d602081101561048457600080fd5b5051604080516370a0823160e01b81523060048201529051919250600091610508916001600160a01b038616916370a0823191602480820192602092909190829003018186803b1580156104d757600080fd5b505afa1580156104eb573d6000803e3d6000fd5b505050506040513d602081101561050157600080fd5b50516112e4565b90506105148282611330565b94505050505090565b60fd546001600160a01b031690565b60ff546001600160a01b031690565b600060026001541415610595576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026001556105a2610c51565b156105e7576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b60fe5460fd5460ff54610100546001600160a01b03938416939283169290911690600090610614906112e4565b90506001600160a01b03821661065a576040805162461bcd60e51b815260206004820152600660248201526549465f534e5360d01b604482015290519081900360640190fd5b60008113610699576040805162461bcd60e51b815260206004820152600760248201526624a32fa22a22ad60c91b604482015290519081900360640190fd5b60006106fc856001600160a01b03166312ca1d1730876040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b1580156104d757600080fd5b90506000610708610404565b90506000610720610719838661139c565b6000611401565b905060006107366107318386611418565b611427565b9050801561081b57876001600160a01b031663f3fef3a388836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561079557600080fd5b505af11580156107a9573d6000803e3d6000fd5b505050506107b887878361147e565b7f5b3735d487e9342fbcf11df79c2146f60ffabadb4d2e31ced107fe4346cd21ef816107e385611427565b6107ec87611427565b6107f589611427565b604080519485526020850193909352838301919091526060830152519081900360800190a15b9750505050505050506001805590565b6108336112d5565b6001600160a01b0316610844610e6c565b6001600160a01b031614610888576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6108906114d5565b565b600260015414156108ea576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026001556108f7610c51565b1561093c576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b60fe5460fd546040805163c3b66b3160e01b815230600482015290516001600160a01b039384169390921691600091849163c3b66b3191602480820192602092909190829003018186803b15801561099357600080fd5b505afa1580156109a7573d6000803e3d6000fd5b505050506040513d60208110156109bd57600080fd5b5051905060008112610a00576040805162461bcd60e51b815260206004820152600760248201526624a32fa92ba72760c91b604482015290519081900360640190fd5b6000826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a4f57600080fd5b505afa158015610a63573d6000803e3d6000fd5b505050506040513d6020811015610a7957600080fd5b505190506000610a8883611575565b9050600081831015610a9a5782610a9c565b815b9050846001600160a01b031663095ea7b387836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610af557600080fd5b505af1158015610b09573d6000803e3d6000fd5b505050506040513d6020811015610b1f57600080fd5b5050604080516311f9fbc960e21b81526001600160a01b038781166004830152602482018490529151918816916347e7ef249160448082019260009290919082900301818387803b158015610b7357600080fd5b505af1158015610b87573d6000803e3d6000fd5b505050506000856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610bda57600080fd5b505afa158015610bee573d6000803e3d6000fd5b505050506040513d6020811015610c0457600080fd5b5051604080518481526020810183905281519293507f81472a96709c8315c82af40d41ef624a642ad53864b097e53af675593bb4e035929081900390910190a15050600180555050505050565b60995460ff1690565b610c626112d5565b6001600160a01b0316610c73610e6c565b6001600160a01b031614610cb7576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610cc9816001600160a01b031661159f565b610d03576040805162461bcd60e51b815260206004820152600660248201526549465f564e4360d01b604482015290519081900360640190fd5b60fe80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fa49691f0dd6477ccef49962612a236d252e3a31c3be8b61fa6abeff3e74a75729181900360200190a150565b6066546001600160a01b031690565b610d6e6112d5565b6001600160a01b0316610d7f610e6c565b6001600160a01b031614610dc3576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6065546040516000916001600160a01b031690600080516020611f3a833981519152908390a3606580546001600160a01b0319908116909155606680549091169055565b610e0f6112d5565b6001600160a01b0316610e20610e6c565b6001600160a01b031614610e64576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6108906115a5565b6065546001600160a01b031690565b610e836112d5565b6001600160a01b0316610e94610e6c565b6001600160a01b031614610ed8576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6101008190556040805182815290517f826e0631e894a92cd7dee323bccc25ed3a6bee87e9bd0cbc957767dc44ad4a659181900360200190a150565b6066546001600160a01b0316610f59576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b610f616112d5565b6066546001600160a01b03908116911614610fac576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6066546065546040516001600160a01b039283169290911690600080516020611f3a83398151915290600090a360668054606580546001600160a01b03199081166001600160a01b03841617909155169055565b600054610100900460ff16806110195750611019611628565b80611027575060005460ff16155b6110625760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff1615801561108d576000805460ff1961ff0019909116610100171660011790555b61109f826001600160a01b031661159f565b6110d9576040805162461bcd60e51b815260206004820152600660248201526549465f544e4360d01b604482015290519081900360640190fd5b6110e1611639565b6110e96116e3565b60fd80546001600160a01b0319166001600160a01b0384161790558015611116576000805461ff00191690555b5050565b6111226112d5565b6001600160a01b0316611133610e6c565b6001600160a01b031614611177576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b611189816001600160a01b031661159f565b6111c3576040805162461bcd60e51b815260206004820152600660248201526549465f534e4360d01b604482015290519081900360640190fd5b60fd54604080516321df0da760e01b815290516001600160a01b03928316928416916321df0da7916004808301926020929190829003018186803b15801561120a57600080fd5b505afa15801561121e573d6000803e3d6000fd5b505050506040513d602081101561123457600080fd5b50516001600160a01b03161461127a576040805162461bcd60e51b815260206004820152600660248201526549465f544e4d60d01b604482015290519081900360640190fd5b60ff80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f6d932b1f34b8232aeb85a714eecbab101e949e9df57611b94a68ccc68df23fa89181900360200190a150565b6101005490565b60006112df611780565b905090565b60006001600160ff1b0382111561132c5760405162461bcd60e51b8152600401808060200182810382526028815260200180611f5a6028913960400191505060405180910390fd5b5090565b60008282018183128015906113455750838112155b8061135a575060008312801561135a57508381125b6113955760405162461bcd60e51b8152600401808060200182810382526021815260200180611ec56021913960400191505060405180910390fd5b9392505050565b60008183038183128015906113b15750838113155b806113c657506000831280156113c657508381135b6113955760405162461bcd60e51b8152600401808060200182810382526024815260200180611f826024913960400191505060405180910390fd5b6000818312156114115781611395565b5090919050565b60008183126114115781611395565b60008082121561132c576040805162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526114d0908490611784565b505050565b6114dd610c51565b611525576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b6099805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6115586112d5565b604080516001600160a01b039092168252519081900360200190a1565b6000808212156115905761158b61073183611835565b611599565b61159982611427565b92915050565b3b151590565b6115ad610c51565b156115f2576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6099805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586115586112d5565b60006116333061159f565b15905090565b600054610100900460ff16806116525750611652611628565b80611660575060005460ff16155b61169b5760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff161580156116c6576000805460ff1961ff0019909116610100171660011790555b6116ce61186a565b80156116e0576000805461ff00191690555b50565b600054610100900460ff16806116fc57506116fc611628565b8061170a575060005460ff16155b6117455760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff16158015611770576000805460ff1961ff0019909116610100171660011790555b61177861190f565b6116ce6119fe565b3390565b60006117d9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611a9b9092919063ffffffff16565b8051909150156114d0578080602001905160208110156117f857600080fd5b50516114d05760405162461bcd60e51b815260040180806020018281038252602a815260200180611fa6602a913960400191505060405180910390fd5b6000600160ff1b82136118635760405162461bcd60e51b815260040161185a90611e8d565b60405180910390fd5b5060000390565b600054610100900460ff16806118835750611883611628565b80611891575060005460ff16155b6118cc5760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff161580156118f7576000805460ff1961ff0019909116610100171660011790555b6001805580156116e0576000805461ff001916905550565b600054610100900460ff16806119285750611928611628565b80611936575060005460ff16155b6119715760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff1615801561199c576000805460ff1961ff0019909116610100171660011790555b6119a4611ab2565b60006119ae6112d5565b606580546001600160a01b0319166001600160a01b03831690811790915560405191925090600090600080516020611f3a833981519152908290a35080156116e0576000805461ff001916905550565b600054610100900460ff1680611a175750611a17611628565b80611a25575060005460ff16155b611a605760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff16158015611a8b576000805460ff1961ff0019909116610100171660011790555b611a93611b43565b6116ce611be3565b6060611aaa8484600085611c8e565b949350505050565b600054610100900460ff1680611acb5750611acb611628565b80611ad9575060005460ff16155b611b145760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff16158015611b3f576000805460ff1961ff0019909116610100171660011790555b6116ce5b600054610100900460ff1680611b5c5750611b5c611628565b80611b6a575060005460ff16155b611ba55760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff161580156116ce576000805460ff1961ff00199091166101001716600117905580156116e0576000805461ff001916905550565b600054610100900460ff1680611bfc5750611bfc611628565b80611c0a575060005460ff16155b611c455760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff16158015611c70576000805460ff1961ff0019909116610100171660011790555b6099805460ff1916905580156116e0576000805461ff001916905550565b606082471015611ccf5760405162461bcd60e51b8152600401808060200182810382526026815260200180611ee66026913960400191505060405180910390fd5b611cd88561159f565b611d29576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b60208310611d675780518252601f199092019160209182019101611d48565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611dc9576040519150601f19603f3d011682016040523d82523d6000602084013e611dce565b606091505b5091509150611dde828286611de9565b979650505050505050565b60608315611df8575081611395565b825115611e085782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e52578181015183820152602001611e3a565b50505050905090810190601f168015611e7f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6020808252601c908201527f506572704d6174683a20696e76657273696f6e206f766572666c6f770000000060408201526060019056fe5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f77416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65648be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e053616665436173743a2076616c756520646f65736e27742066697420696e20616e20696e743235365369676e6564536166654d6174683a207375627472616374696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212205f0591f606d56f1c5aed3814d9c9a9668b79ab0324e3676e6433b927ac2425af64736f6c63430007060033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c80636c8381f8116100ad578063b9b4744a11610071578063b9b4744a14610221578063bc5920ba1461023e578063c4d66de814610246578063d8ab17b51461026c578063efeb8e69146102925761012c565b80636c8381f814610201578063715018a6146102095780638456cb59146102115780638d928af8146101595780638da5cb5b146102195761012c565b806326c4e60d116100f457806326c4e60d146101a75780633f4ba83a146101af578063402d8883146101b75780635c975abb146101bf5780636817031b146101db5761012c565b806313af4035146101315780631cb0c3e714610159578063213037c41461017d57806321df0da714610197578063258d8e6a1461019f575b600080fd5b6101576004803603602081101561014757600080fd5b50356001600160a01b031661029a565b005b6101616103f5565b604080516001600160a01b039092168252519081900360200190f35b610185610404565b60408051918252519081900360200190f35b61016161051d565b61016161052c565b61018561053b565b61015761082b565b610157610892565b6101c7610c51565b604080519115158252519081900360200190f35b610157600480360360208110156101f157600080fd5b50356001600160a01b0316610c5a565b610161610d57565b610157610d66565b610157610e07565b610161610e6c565b6101576004803603602081101561023757600080fd5b5035610e7b565b610157610f14565b6101576004803603602081101561025c57600080fd5b50356001600160a01b0316611000565b6101576004803603602081101561028257600080fd5b50356001600160a01b031661111a565b6101856112ce565b6102a26112d5565b6001600160a01b03166102b3610e6c565b6001600160a01b0316146102f7576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6001600160a01b03811661033b576040805162461bcd60e51b81526020600482015260066024820152650534f5f4e57360d41b604482015290519081900360640190fd5b6065546001600160a01b0382811691161415610387576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414f60d01b604482015290519081900360640190fd5b6066546001600160a01b03828116911614156103d3576040805162461bcd60e51b8152602060048201526006602482015265534f5f53414360d01b604482015290519081900360640190fd5b606680546001600160a01b0319166001600160a01b0392909216919091179055565b60fe546001600160a01b031690565b60fe5460fd546040805163c3b66b3160e01b815230600482015290516000936001600160a01b039081169316918491849163c3b66b31916024808301926020929190829003018186803b15801561045a57600080fd5b505afa15801561046e573d6000803e3d6000fd5b505050506040513d602081101561048457600080fd5b5051604080516370a0823160e01b81523060048201529051919250600091610508916001600160a01b038616916370a0823191602480820192602092909190829003018186803b1580156104d757600080fd5b505afa1580156104eb573d6000803e3d6000fd5b505050506040513d602081101561050157600080fd5b50516112e4565b90506105148282611330565b94505050505090565b60fd546001600160a01b031690565b60ff546001600160a01b031690565b600060026001541415610595576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026001556105a2610c51565b156105e7576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b60fe5460fd5460ff54610100546001600160a01b03938416939283169290911690600090610614906112e4565b90506001600160a01b03821661065a576040805162461bcd60e51b815260206004820152600660248201526549465f534e5360d01b604482015290519081900360640190fd5b60008113610699576040805162461bcd60e51b815260206004820152600760248201526624a32fa22a22ad60c91b604482015290519081900360640190fd5b60006106fc856001600160a01b03166312ca1d1730876040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b1580156104d757600080fd5b90506000610708610404565b90506000610720610719838661139c565b6000611401565b905060006107366107318386611418565b611427565b9050801561081b57876001600160a01b031663f3fef3a388836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561079557600080fd5b505af11580156107a9573d6000803e3d6000fd5b505050506107b887878361147e565b7f5b3735d487e9342fbcf11df79c2146f60ffabadb4d2e31ced107fe4346cd21ef816107e385611427565b6107ec87611427565b6107f589611427565b604080519485526020850193909352838301919091526060830152519081900360800190a15b9750505050505050506001805590565b6108336112d5565b6001600160a01b0316610844610e6c565b6001600160a01b031614610888576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6108906114d5565b565b600260015414156108ea576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026001556108f7610c51565b1561093c576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b60fe5460fd546040805163c3b66b3160e01b815230600482015290516001600160a01b039384169390921691600091849163c3b66b3191602480820192602092909190829003018186803b15801561099357600080fd5b505afa1580156109a7573d6000803e3d6000fd5b505050506040513d60208110156109bd57600080fd5b5051905060008112610a00576040805162461bcd60e51b815260206004820152600760248201526624a32fa92ba72760c91b604482015290519081900360640190fd5b6000826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a4f57600080fd5b505afa158015610a63573d6000803e3d6000fd5b505050506040513d6020811015610a7957600080fd5b505190506000610a8883611575565b9050600081831015610a9a5782610a9c565b815b9050846001600160a01b031663095ea7b387836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610af557600080fd5b505af1158015610b09573d6000803e3d6000fd5b505050506040513d6020811015610b1f57600080fd5b5050604080516311f9fbc960e21b81526001600160a01b038781166004830152602482018490529151918816916347e7ef249160448082019260009290919082900301818387803b158015610b7357600080fd5b505af1158015610b87573d6000803e3d6000fd5b505050506000856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610bda57600080fd5b505afa158015610bee573d6000803e3d6000fd5b505050506040513d6020811015610c0457600080fd5b5051604080518481526020810183905281519293507f81472a96709c8315c82af40d41ef624a642ad53864b097e53af675593bb4e035929081900390910190a15050600180555050505050565b60995460ff1690565b610c626112d5565b6001600160a01b0316610c73610e6c565b6001600160a01b031614610cb7576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b610cc9816001600160a01b031661159f565b610d03576040805162461bcd60e51b815260206004820152600660248201526549465f564e4360d01b604482015290519081900360640190fd5b60fe80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fa49691f0dd6477ccef49962612a236d252e3a31c3be8b61fa6abeff3e74a75729181900360200190a150565b6066546001600160a01b031690565b610d6e6112d5565b6001600160a01b0316610d7f610e6c565b6001600160a01b031614610dc3576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6065546040516000916001600160a01b031690600080516020611f3a833981519152908390a3606580546001600160a01b0319908116909155606680549091169055565b610e0f6112d5565b6001600160a01b0316610e20610e6c565b6001600160a01b031614610e64576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6108906115a5565b6065546001600160a01b031690565b610e836112d5565b6001600160a01b0316610e94610e6c565b6001600160a01b031614610ed8576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b6101008190556040805182815290517f826e0631e894a92cd7dee323bccc25ed3a6bee87e9bd0cbc957767dc44ad4a659181900360200190a150565b6066546001600160a01b0316610f59576040805162461bcd60e51b81526020600482015260056024820152640534f5f43360dc1b604482015290519081900360640190fd5b610f616112d5565b6066546001600160a01b03908116911614610fac576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4360d01b604482015290519081900360640190fd5b6066546065546040516001600160a01b039283169290911690600080516020611f3a83398151915290600090a360668054606580546001600160a01b03199081166001600160a01b03841617909155169055565b600054610100900460ff16806110195750611019611628565b80611027575060005460ff16155b6110625760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff1615801561108d576000805460ff1961ff0019909116610100171660011790555b61109f826001600160a01b031661159f565b6110d9576040805162461bcd60e51b815260206004820152600660248201526549465f544e4360d01b604482015290519081900360640190fd5b6110e1611639565b6110e96116e3565b60fd80546001600160a01b0319166001600160a01b0384161790558015611116576000805461ff00191690555b5050565b6111226112d5565b6001600160a01b0316611133610e6c565b6001600160a01b031614611177576040805162461bcd60e51b8152602060048201526006602482015265534f5f434e4f60d01b604482015290519081900360640190fd5b611189816001600160a01b031661159f565b6111c3576040805162461bcd60e51b815260206004820152600660248201526549465f534e4360d01b604482015290519081900360640190fd5b60fd54604080516321df0da760e01b815290516001600160a01b03928316928416916321df0da7916004808301926020929190829003018186803b15801561120a57600080fd5b505afa15801561121e573d6000803e3d6000fd5b505050506040513d602081101561123457600080fd5b50516001600160a01b03161461127a576040805162461bcd60e51b815260206004820152600660248201526549465f544e4d60d01b604482015290519081900360640190fd5b60ff80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f6d932b1f34b8232aeb85a714eecbab101e949e9df57611b94a68ccc68df23fa89181900360200190a150565b6101005490565b60006112df611780565b905090565b60006001600160ff1b0382111561132c5760405162461bcd60e51b8152600401808060200182810382526028815260200180611f5a6028913960400191505060405180910390fd5b5090565b60008282018183128015906113455750838112155b8061135a575060008312801561135a57508381125b6113955760405162461bcd60e51b8152600401808060200182810382526021815260200180611ec56021913960400191505060405180910390fd5b9392505050565b60008183038183128015906113b15750838113155b806113c657506000831280156113c657508381135b6113955760405162461bcd60e51b8152600401808060200182810382526024815260200180611f826024913960400191505060405180910390fd5b6000818312156114115781611395565b5090919050565b60008183126114115781611395565b60008082121561132c576040805162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526114d0908490611784565b505050565b6114dd610c51565b611525576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b6099805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6115586112d5565b604080516001600160a01b039092168252519081900360200190a1565b6000808212156115905761158b61073183611835565b611599565b61159982611427565b92915050565b3b151590565b6115ad610c51565b156115f2576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6099805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586115586112d5565b60006116333061159f565b15905090565b600054610100900460ff16806116525750611652611628565b80611660575060005460ff16155b61169b5760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff161580156116c6576000805460ff1961ff0019909116610100171660011790555b6116ce61186a565b80156116e0576000805461ff00191690555b50565b600054610100900460ff16806116fc57506116fc611628565b8061170a575060005460ff16155b6117455760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff16158015611770576000805460ff1961ff0019909116610100171660011790555b61177861190f565b6116ce6119fe565b3390565b60006117d9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611a9b9092919063ffffffff16565b8051909150156114d0578080602001905160208110156117f857600080fd5b50516114d05760405162461bcd60e51b815260040180806020018281038252602a815260200180611fa6602a913960400191505060405180910390fd5b6000600160ff1b82136118635760405162461bcd60e51b815260040161185a90611e8d565b60405180910390fd5b5060000390565b600054610100900460ff16806118835750611883611628565b80611891575060005460ff16155b6118cc5760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff161580156118f7576000805460ff1961ff0019909116610100171660011790555b6001805580156116e0576000805461ff001916905550565b600054610100900460ff16806119285750611928611628565b80611936575060005460ff16155b6119715760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff1615801561199c576000805460ff1961ff0019909116610100171660011790555b6119a4611ab2565b60006119ae6112d5565b606580546001600160a01b0319166001600160a01b03831690811790915560405191925090600090600080516020611f3a833981519152908290a35080156116e0576000805461ff001916905550565b600054610100900460ff1680611a175750611a17611628565b80611a25575060005460ff16155b611a605760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff16158015611a8b576000805460ff1961ff0019909116610100171660011790555b611a93611b43565b6116ce611be3565b6060611aaa8484600085611c8e565b949350505050565b600054610100900460ff1680611acb5750611acb611628565b80611ad9575060005460ff16155b611b145760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff16158015611b3f576000805460ff1961ff0019909116610100171660011790555b6116ce5b600054610100900460ff1680611b5c5750611b5c611628565b80611b6a575060005460ff16155b611ba55760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff161580156116ce576000805460ff1961ff00199091166101001716600117905580156116e0576000805461ff001916905550565b600054610100900460ff1680611bfc5750611bfc611628565b80611c0a575060005460ff16155b611c455760405162461bcd60e51b815260040180806020018281038252602e815260200180611f0c602e913960400191505060405180910390fd5b600054610100900460ff16158015611c70576000805460ff1961ff0019909116610100171660011790555b6099805460ff1916905580156116e0576000805461ff001916905550565b606082471015611ccf5760405162461bcd60e51b8152600401808060200182810382526026815260200180611ee66026913960400191505060405180910390fd5b611cd88561159f565b611d29576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b60208310611d675780518252601f199092019160209182019101611d48565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611dc9576040519150601f19603f3d011682016040523d82523d6000602084013e611dce565b606091505b5091509150611dde828286611de9565b979650505050505050565b60608315611df8575081611395565b825115611e085782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e52578181015183820152602001611e3a565b50505050905090810190601f168015611e7f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6020808252601c908201527f506572704d6174683a20696e76657273696f6e206f766572666c6f770000000060408201526060019056fe5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f77416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65648be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e053616665436173743a2076616c756520646f65736e27742066697420696e20616e20696e743235365369676e6564536166654d6174683a207375627472616374696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212205f0591f606d56f1c5aed3814d9c9a9668b79ab0324e3676e6433b927ac2425af64736f6c63430007060033",
"linkReferences": {},
"deployedLinkReferences": {}
}

@@ -237,2 +237,21 @@ {

{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "trader",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "whitelistedDebtThreshold",
"type": "uint256"
}
],
"name": "WhitelistedDebtThresholdChanged",
"type": "event"
},
{
"inputs": [],

@@ -344,2 +363,21 @@ "name": "getCLInsuranceFundFeeRatio",

{
"inputs": [
{
"internalType": "address",
"name": "trader",
"type": "address"
}
],
"name": "getDebtThresholdByTrader",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],

@@ -428,2 +466,15 @@ "name": "getLiquidationRatio",

"inputs": [],
"name": "getTotalWhitelistedDebtThreshold",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getVault",

@@ -430,0 +481,0 @@ "outputs": [

@@ -25,2 +25,15 @@ {

"internalType": "uint256",
"name": "distributionThreshold",
"type": "uint256"
}
],
"name": "DistributionThresholdChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "surplus",

@@ -44,3 +57,3 @@ "type": "uint256"

"internalType": "uint256",
"name": "threshold",
"name": "distributionThreshold",
"type": "uint256"

@@ -89,8 +102,8 @@ }

"indexed": false,
"internalType": "uint256",
"name": "threshold",
"type": "uint256"
"internalType": "address",
"name": "vault",
"type": "address"
}
],
"name": "ThresholdChanged",
"name": "VaultChanged",
"type": "event"

@@ -126,2 +139,15 @@ },

"inputs": [],
"name": "getDistributionThreshold",
"outputs": [
{
"internalType": "uint256",
"name": "distributionThreshold",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getInsuranceFundCapacity",

@@ -153,8 +179,8 @@ "outputs": [

"inputs": [],
"name": "getThreshold",
"name": "getToken",
"outputs": [
{
"internalType": "uint256",
"name": "threshold",
"type": "uint256"
"internalType": "address",
"name": "token",
"type": "address"
}

@@ -167,7 +193,7 @@ ],

"inputs": [],
"name": "getToken",
"name": "getVault",
"outputs": [
{
"internalType": "address",
"name": "token",
"name": "vault",
"type": "address"

@@ -174,0 +200,0 @@ }

{
"@perp/curie-contract": "git+ssh://git@github.com:perpetual-protocol/perp-curie-contract.git#38d5b5424dd21f9ae9a1aab7299abd55f10e2899",
"@perp/curie-contract": "2.4.1",
"@uniswap/v3-core-artifacts": "npm:@uniswap/v3-core@1.0.0",

@@ -4,0 +4,0 @@ "@perp/perp-oracle-contract": "0.5.0",

@@ -5,13 +5,13 @@ {

{
"address": "0xD5F66b67Ec31Bf6F1008Da85168FC419E81942b9",
"address": "0x9d7031092caB1141B19b66A9ED7Bc4A33B0FD1Ac",
"decimals": 6,
"name": "Test Tether",
"priceFeedAddress": "0xaE49Db34671f7b30Da0B2D79E9b78979f8887De1",
"priceFeedAddress": "0x54D4aD773bFF73bAAa6cFC2272308e64c52CAa09",
"symbol": "TestUSDT"
},
{
"address": "0x3c99fFe490C6EBd18A2CF9E7d59669a0113802Dd",
"address": "0x4E3c2cda4F3A5Fff3FacAe101264fAEd4e75360b",
"decimals": 8,
"name": "Test Wrapped BTC",
"priceFeedAddress": "0x95EF7f8b54B036DF18421Aa1249CA8fc78d1110E",
"priceFeedAddress": "0x0d7b91E581bD9c708c02ca6d3C60E670d205554A",
"symbol": "TestWBTC"

@@ -23,10 +23,10 @@ },

"name": "Wrapped Ether",
"priceFeedAddress": "0xaDcfc4a3C3dBb1700c930d6fD0B2Dccb37038d09",
"priceFeedAddress": "0xEa5Ccf5ded4fb9D7C99FC653EF0a362a832577aF",
"symbol": "WETH"
},
{
"address": "0x2022cC80Ae8ac3E776e171F3491cdC6C8e39330a",
"address": "0x8929B8DC0E14Da9550aD5154CdFc7939Cd00bbf4",
"decimals": 18,
"name": "Frax",
"priceFeedAddress": "0xaE49Db34671f7b30Da0B2D79E9b78979f8887De1",
"priceFeedAddress": "0x54D4aD773bFF73bAAa6cFC2272308e64c52CAa09",
"symbol": "FRAX"

@@ -37,79 +37,94 @@ }

"AccountBalance": {
"address": "0xE88FB94dd52639835721e32974C42B22A33E7F96",
"createdBlockNumber": 2886286,
"address": "0x9E94d4e3a2CBe50eFd25cb1A01f2d70d6c432bCe",
"createdBlockNumber": 3599070,
"name": "contracts/AccountBalance.sol:AccountBalance"
},
"BTCUSDChainlinkPriceFeed": {
"address": "0x95EF7f8b54B036DF18421Aa1249CA8fc78d1110E",
"createdBlockNumber": 2886989,
"address": "0x0d7b91E581bD9c708c02ca6d3C60E670d205554A",
"createdBlockNumber": 3588944,
"name": "contracts/ChainlinkPriceFeed.sol:ChainlinkPriceFeed"
},
"BTCUSDChainlinkPriceFeedV2": {
"address": "0xfD76f39E0167B32E4C3f7c2017075960015DB1eB",
"createdBlockNumber": 2887103,
"address": "0x709F28De6C749952c8C54c2BbD129C48aa6A9dc9",
"createdBlockNumber": 3589002,
"name": "contracts/ChainlinkPriceFeedV2.sol:ChainlinkPriceFeedV2"
},
"ClearingHouse": {
"address": "0x570296d5fE485fa960D13eC4bd8e964e33Ae0A78",
"createdBlockNumber": 2886315,
"address": "0x85FE8a649f680c508b6Ec831f4f1d9dAA841441A",
"createdBlockNumber": 3599107,
"name": "contracts/ClearingHouse.sol:ClearingHouse"
},
"ClearingHouseConfig": {
"address": "0xcec6e0a45709c5aCCd827218635841e3b799CE97",
"createdBlockNumber": 2885868,
"address": "0x7050690922AD9b4c2f1D528C6E195c9099072090",
"createdBlockNumber": 3598947,
"name": "contracts/ClearingHouseConfig.sol:ClearingHouseConfig"
},
"CollateralManager": {
"address": "0xd1ab46526D555285E9b61f066B7673bb9b9B51b6",
"createdBlockNumber": 3599313,
"name": "contracts/CollateralManager.sol:CollateralManager"
},
"DelegateApproval": {
"address": "0xe1361Ae7701f288E4AD1d71a7A8Bec6944b7e49E",
"createdBlockNumber": 3599490,
"name": "contracts/DelegateApproval.sol:DelegateApproval"
},
"ETHUSDChainlinkPriceFeed": {
"address": "0xaDcfc4a3C3dBb1700c930d6fD0B2Dccb37038d09",
"createdBlockNumber": 2887558,
"address": "0xEa5Ccf5ded4fb9D7C99FC653EF0a362a832577aF",
"createdBlockNumber": 3588993,
"name": "contracts/ChainlinkPriceFeed.sol:ChainlinkPriceFeed"
},
"ETHUSDChainlinkPriceFeedV2": {
"address": "0xfbff903e4Dd856E9f1c04088fD22bc184C0dF59E",
"createdBlockNumber": 2887219,
"address": "0x790cE8C33366cf43Ef480a4FB287e8D0dcC6EbBd",
"createdBlockNumber": 3589009,
"name": "contracts/ChainlinkPriceFeedV2.sol:ChainlinkPriceFeedV2"
},
"Exchange": {
"address": "0x1f25A63274b5Dc0CbdBeA0475B82568889d86b19",
"createdBlockNumber": 2886230,
"address": "0x29e6aAA089F75FfB979344B5A10Fa5Bd49E40401",
"createdBlockNumber": 3599051,
"name": "contracts/Exchange.sol:Exchange"
},
"InsuranceFund": {
"address": "0x6be866b3E77634170B9a524A5469Ac2FA65BCe25",
"createdBlockNumber": 2886185,
"address": "0x674972B60C1C4b6B61f6350dE4e8ddc4B6F20d19",
"createdBlockNumber": 3599019,
"name": "contracts/InsuranceFund.sol:InsuranceFund"
},
"MarketRegistry": {
"address": "0x7c9A762df1f580F293a20fa8C12Bd3cd3a95f83B",
"createdBlockNumber": 2886163,
"address": "0x8d0f3B6542129CF4CDBC50ff8e329bBB045a131B",
"createdBlockNumber": 3598994,
"name": "contracts/MarketRegistry.sol:MarketRegistry"
},
"OrderBook": {
"address": "0x9F457Ce3afbF7C820A99a71789428543ffd3f030",
"createdBlockNumber": 2886203,
"address": "0x5982bbb6E83B415C88dCcD50Ea4d9bcafBaEF011",
"createdBlockNumber": 3599031,
"name": "contracts/OrderBook.sol:OrderBook"
},
"PriceFeedUpdater": {
"address": "0xbcD78EeaaE4Ac61Bf5167c599681A8B55fA14347",
"createdBlockNumber": 3599942,
"name": "contracts/PriceFeedUpdater.sol:PriceFeedUpdater"
},
"QuoteToken": {
"address": "0xeD93dc56226FC6450701768651850eDcF625e87E",
"createdBlockNumber": 2885891,
"address": "0xB1Dbd5F8a998F05Fd1681DE3724cCA543B8ae01a",
"createdBlockNumber": 3598972,
"name": "contracts/QuoteToken.sol:QuoteToken"
},
"USDTUSDChainlinkPriceFeed": {
"address": "0xaE49Db34671f7b30Da0B2D79E9b78979f8887De1",
"createdBlockNumber": 2887549,
"address": "0x54D4aD773bFF73bAAa6cFC2272308e64c52CAa09",
"createdBlockNumber": 3588999,
"name": "contracts/ChainlinkPriceFeed.sol:ChainlinkPriceFeed"
},
"Vault": {
"address": "0x17de09bc761C305e037C6aCd187FE7e8003913be",
"createdBlockNumber": 2886304,
"address": "0x68356679A54359C546E46B4D1d3e66cbC440496C",
"createdBlockNumber": 3599087,
"name": "contracts/Vault.sol:Vault"
},
"vBTC": {
"address": "0x784fd4085eD0a0f1358D101973669f985ed44800",
"createdBlockNumber": 2887136,
"address": "0x6C4aa21601F1aEd80F89c26eD75b3169bB5cF5Ff",
"createdBlockNumber": 3599559,
"name": "contracts/BaseToken.sol:BaseToken"
},
"vETH": {
"address": "0x5c868935c0067526f439E1FF9a9e3f3432c67E0B",
"createdBlockNumber": 2887237,
"address": "0x374BE87362d6b27135c3A4E284c8e5CB2b6951ED",
"createdBlockNumber": 3599663,
"name": "contracts/BaseToken.sol:BaseToken"

@@ -119,8 +134,7 @@ }

"externalContracts": {
"DefaultProxyAdmin": "0x53B99173D017322676aCA54Ac079549342138256",
"FRAX": "0x2022cC80Ae8ac3E776e171F3491cdC6C8e39330a",
"TestUSDT": "0xD5F66b67Ec31Bf6F1008Da85168FC419E81942b9",
"TestUST": "0x87c8C92C45B19333aa889f07f8D20C1060BfF134",
"TestWBTC": "0x3c99fFe490C6EBd18A2CF9E7d59669a0113802Dd",
"USDC": "0x4F5A7908139cB67bA1f435782445E60501c9f206",
"DefaultProxyAdmin": "0x33Ecce155Fa1a63f20794A5b50E6832Bbe29617B",
"FRAX": "0x8929B8DC0E14Da9550aD5154CdFc7939Cd00bbf4",
"TestUSDT": "0x9d7031092caB1141B19b66A9ED7Bc4A33B0FD1Ac",
"TestWBTC": "0x4E3c2cda4F3A5Fff3FacAe101264fAEd4e75360b",
"USDC": "0xf60d355281723cEC9baa3D1C971Bb49E9f9aF633",
"UniswapV3Factory": "0xB656dA17129e7EB733A557f4EBc57B76CFbB5d10",

@@ -132,13 +146,13 @@ "WETH9": "0x4200000000000000000000000000000000000006"

{
"address": "0x0984bE527a91E4089822F629C42F9ae61F1db026",
"baseAddress": "0x784fd4085eD0a0f1358D101973669f985ed44800",
"address": "0x437bF3542eb29C9F36f40AADaeefCD51A90924AF",
"baseAddress": "0x6C4aa21601F1aEd80F89c26eD75b3169bB5cF5Ff",
"baseSymbol": "vBTC",
"quoteAddress": "0xeD93dc56226FC6450701768651850eDcF625e87E",
"quoteAddress": "0xB1Dbd5F8a998F05Fd1681DE3724cCA543B8ae01a",
"quoteSymbol": "vUSD"
},
{
"address": "0x549D9C2Faa554e887b1f2612f06B32F436AC62C2",
"baseAddress": "0x5c868935c0067526f439E1FF9a9e3f3432c67E0B",
"address": "0x4e1692114672cc95791f2eB085f7A73e6FcAD7D5",
"baseAddress": "0x374BE87362d6b27135c3A4E284c8e5CB2b6951ED",
"baseSymbol": "vETH",
"quoteAddress": "0xeD93dc56226FC6450701768651850eDcF625e87E",
"quoteAddress": "0xB1Dbd5F8a998F05Fd1681DE3724cCA543B8ae01a",
"quoteSymbol": "vUSD"

@@ -145,0 +159,0 @@ }

@@ -23,3 +23,3 @@ {

],
"version": "2022.12.20-1671509278203"
"version": "2022.12.21-1671615279855"
}

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc