UNPKG

@etherspot/contracts

Version:

Etherspot Solidity contracts

32 lines 56.4 kB
{ "_format": "hh-sol-artifact-1", "contractName": "Diamond", "sourceName": "src/bridges/Diamond.sol", "abi": [ { "inputs": [ { "internalType": "address", "name": "_contractOwner", "type": "address" }, { "internalType": "address", "name": "_diamondCutFacet", "type": "address" } ], "stateMutability": "payable", "type": "constructor" }, { "stateMutability": "payable", "type": "fallback" }, { "stateMutability": "payable", "type": "receive" } ], "bytecode": "0x608060405260405162004984380380620049848339818101604052810190620000299190620018dc565b6200003f82620001f760201b620001681760201c565b6000600167ffffffffffffffff8111156200005f576200005e62001923565b5b6040519080825280602002602001820160405280156200009c57816020015b6200008862001826565b8152602001906001900390816200007e5790505b5090506000600167ffffffffffffffff811115620000bf57620000be62001923565b5b604051908082528060200260200182016040528015620000ee5781602001602082028036833780820191505090505b509050631f931c1c60e01b8160008151811062000110576200010f62001952565b5b60200260200101907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152505060405180606001604052808473ffffffffffffffffffffffffffffffffffffffff168152602001600060028111156200019a576200019962001981565b5b81526020018281525082600081518110620001ba57620001b962001952565b5b6020026020010181905250620001ed82600060405180602001604052806000815250620002d660201b6200023f1760201c565b50505050620025d9565b6000620002096200055d60201b60201c565b905060008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60005b835181101562000508576000848281518110620002fb57620002fa62001952565b5b60200260200101516020015190506000600281111562000320576200031f62001981565b5b81600281111562000336576200033562001981565b5b141562000397576200039185838151811062000357576200035662001952565b5b60200260200101516000015186848151811062000379576200037862001952565b5b6020026020010151604001516200058a60201b60201c565b620004f1565b60016002811115620003ae57620003ad62001981565b5b816002811115620003c457620003c362001981565b5b141562000425576200041f858381518110620003e557620003e462001952565b5b60200260200101516000015186848151811062000407576200040662001952565b5b6020026020010151604001516200082e60201b60201c565b620004f0565b6002808111156200043b576200043a62001981565b5b81600281111562000451576200045062001981565b5b1415620004b257620004ac85838151811062000472576200047162001952565b5b60200260200101516000015186848151811062000494576200049362001952565b5b60200260200101516040015162000ae560201b60201c565b620004ef565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004e69062001a37565b60405180910390fd5b5b5b508080620004ff9062001a92565b915050620002d9565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738383836040516200053e9392919062001e17565b60405180910390a162000558828262000c8d60201b60201c565b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b6000815111620005d1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005c89062001ed8565b60405180910390fd5b6000620005e36200055d60201b60201c565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141562000658576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200064f9062001f70565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff161415620006cf57620006ce828562000ebc60201b60201c565b5b60005b835181101562000827576000848281518110620006f457620006f362001952565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614620007eb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007e29062002008565b60405180910390fd5b620007ff8583868a62000fa060201b60201c565b83806200080c9062002042565b945050505080806200081e9062001a92565b915050620006d2565b5050505050565b600081511162000875576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200086c9062001ed8565b60405180910390fd5b6000620008876200055d60201b60201c565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415620008fc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008f39062001f70565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff161415620009735762000972828562000ebc60201b60201c565b5b60005b835181101562000ade57600084828151811062000998576200099762001952565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562000a8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a8690620020f2565b60405180910390fd5b62000aa28582846200114d60201b60201c565b62000ab68583868a62000fa060201b60201c565b838062000ac39062002042565b9450505050808062000ad59062001a92565b91505062000976565b5050505050565b600081511162000b2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b239062001ed8565b60405180910390fd5b600062000b3e6200055d60201b60201c565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000bb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ba9906200218a565b60405180910390fd5b60005b825181101562000c8757600083828151811062000bd75762000bd662001952565b5b602002602001015190506000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905062000c6f8482846200114d60201b60201c565b5050808062000c7e9062001a92565b91505062000bb5565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000d1057600081511462000d0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000d019062002222565b60405180910390fd5b62000eb8565b600081511162000d57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000d4e90620022ba565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000db75762000db6826040518060600160405280602881526020016200493860289139620017d160201b60201c565b5b6000808373ffffffffffffffffffffffffffffffffffffffff168360405162000de191906200231e565b600060405180830381855af49150503d806000811462000e1e576040519150601f19603f3d011682016040523d82523d6000602084013e62000e23565b606091505b50915091508162000eb55760008151111562000e7857806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000e6f919062002383565b60405180910390fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000eac906200241d565b60405180910390fd5b50505b5050565b62000ee7816040518060600160405280602481526020016200496060249139620017d160201b60201c565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c021790555080846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620011c0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620011b790620024b5565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562001232576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162001229906200254d565b60405180910390fd5b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490506200130b91906200256f565b9050808214620014a65760008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001828154811062001370576200136f62001952565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b9050808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018481548110620013ef57620013ee62001952565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c021790555082866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550505b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805480620014fd57620014fc620025aa565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff02191690559055846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff021916905550506000811415620017ca57600060018660020180549050620015eb91906200256f565b905060008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015490508181146200173357600087600201838154811062001659576200165862001952565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080886002018381548110620016a0576200169f62001952565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550505b866002018054806200174a5762001749620025aa565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590558660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000905550505b5050505050565b6000823b905060008111829062001820576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162001817919062002383565b60405180910390fd5b50505050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000600281111562001865576200186462001981565b5b8152602001606081525090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620018a48262001877565b9050919050565b620018b68162001897565b8114620018c257600080fd5b50565b600081519050620018d681620018ab565b92915050565b60008060408385031215620018f657620018f562001872565b5b60006200190685828601620018c5565b92505060206200191985828601620018c5565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600082825260208201905092915050565b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b600062001a1f602783620019b0565b915062001a2c82620019c1565b604082019050919050565b6000602082019050818103600083015262001a528162001a10565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b600062001a9f8262001a88565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141562001ad55762001ad462001a59565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b62001b178162001897565b82525050565b6003811062001b315762001b3062001981565b5b50565b600081905062001b448262001b1d565b919050565b600062001b568262001b34565b9050919050565b62001b688162001b49565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b62001bd18162001b9a565b82525050565b600062001be5838362001bc6565b60208301905092915050565b6000602082019050919050565b600062001c0b8262001b6e565b62001c17818562001b79565b935062001c248362001b8a565b8060005b8381101562001c5b57815162001c3f888262001bd7565b975062001c4c8362001bf1565b92505060018101905062001c28565b5085935050505092915050565b600060608301600083015162001c82600086018262001b0c565b50602083015162001c97602086018262001b5d565b506040830151848203604086015262001cb1828262001bfe565b9150508091505092915050565b600062001ccc838362001c68565b905092915050565b6000602082019050919050565b600062001cee8262001ae0565b62001cfa818562001aeb565b93508360208202850162001d0e8562001afc565b8060005b8581101562001d50578484038952815162001d2e858262001cbe565b945062001d3b8362001cd4565b925060208a0199505060018101905062001d12565b50829750879550505050505092915050565b62001d6d8162001897565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101562001daf57808201518184015260208101905062001d92565b8381111562001dbf576000848401525b50505050565b6000601f19601f8301169050919050565b600062001de38262001d73565b62001def818562001d7e565b935062001e0181856020860162001d8f565b62001e0c8162001dc5565b840191505092915050565b6000606082019050818103600083015262001e33818662001ce1565b905062001e44602083018562001d62565b818103604083015262001e58818462001dd6565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b600062001ec0602b83620019b0565b915062001ecd8262001e62565b604082019050919050565b6000602082019050818103600083015262001ef38162001eb1565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b600062001f58602c83620019b0565b915062001f658262001efa565b604082019050919050565b6000602082019050818103600083015262001f8b8162001f49565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b600062001ff0603583620019b0565b915062001ffd8262001f92565b604082019050919050565b60006020820190508181036000830152620020238162001fe1565b9050919050565b60006bffffffffffffffffffffffff82169050919050565b60006200204f826200202a565b91506bffffffffffffffffffffffff82141562002071576200207062001a59565b5b600182019050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b6000620020da603883620019b0565b9150620020e7826200207c565b604082019050919050565b600060208201905081810360008301526200210d81620020cb565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b600062002172603683620019b0565b91506200217f8262002114565b604082019050919050565b60006020820190508181036000830152620021a58162002163565b9050919050565b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b60006200220a603c83620019b0565b91506200221782620021ac565b604082019050919050565b600060208201905081810360008301526200223d81620021fb565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b6000620022a2603d83620019b0565b9150620022af8262002244565b604082019050919050565b60006020820190508181036000830152620022d58162002293565b9050919050565b600081905092915050565b6000620022f48262001d73565b620023008185620022dc565b93506200231281856020860162001d8f565b80840191505092915050565b60006200232c8284620022e7565b915081905092915050565b600081519050919050565b60006200234f8262002337565b6200235b8185620019b0565b93506200236d81856020860162001d8f565b620023788162001dc5565b840191505092915050565b600060208201905081810360008301526200239f818462002342565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b600062002405602683620019b0565b91506200241282620023a7565b604082019050919050565b600060208201905081810360008301526200243881620023f6565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b60006200249d603783620019b0565b9150620024aa826200243f565b604082019050919050565b60006020820190508181036000830152620024d0816200248e565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e000000000000000000000000000000000000602082015250565b600062002535602e83620019b0565b91506200254282620024d7565b604082019050919050565b60006020820190508181036000830152620025688162002526565b9050919050565b60006200257c8262001a88565b9150620025898362001a88565b9250828210156200259f576200259e62001a59565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b61234f80620025e96000396000f3fe60806040523661000b57005b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c9050809150600082600001600080357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610142576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610139906116d5565b60405180910390fd5b3660008037600080366000845af43d6000803e8060008114610163573d6000f35b3d6000fd5b6000610172610471565b905060008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60005b83518110156104265760008482815181106102605761025f6116f5565b5b60200260200101516020015190506000600281111561028257610281611724565b5b81600281111561029557610294611724565b5b14156102e6576102e18583815181106102b1576102b06116f5565b5b6020026020010151600001518684815181106102d0576102cf6116f5565b5b60200260200101516040015161049e565b610412565b600160028111156102fa576102f9611724565b5b81600281111561030d5761030c611724565b5b141561035e57610359858381518110610329576103286116f5565b5b602002602001015160000151868481518110610348576103476116f5565b5b602002602001015160400151610717565b610411565b60028081111561037157610370611724565b5b81600281111561038457610383611724565b5b14156103d5576103d08583815181106103a05761039f6116f5565b5b6020026020010151600001518684815181106103bf576103be6116f5565b5b60200260200101516040015161099b565b610410565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610407906117c5565b60405180910390fd5b5b5b50808061041e9061181e565b915050610242565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161045a93929190611b94565b60405180910390a161046c8282610b26565b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60008151116104e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d990611c4b565b60405180910390fd5b60006104ec610471565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561055e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055590611cdd565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff1614156105cc576105cb8285610d39565b5b60005b83518110156107105760008482815181106105ed576105ec6116f5565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146106e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d890611d6f565b60405180910390fd5b6106ed8583868a610e14565b83806106f890611da7565b945050505080806107089061181e565b9150506105cf565b5050505050565b600081511161075b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075290611c4b565b60405180910390fd5b6000610765610471565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ce90611cdd565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff161415610845576108448285610d39565b5b60005b8351811015610994576000848281518110610866576108656116f5565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561095a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095190611e4e565b60405180910390fd5b610965858284610fc1565b6109718583868a610e14565b838061097c90611da7565b9450505050808061098c9061181e565b915050610848565b5050505050565b60008151116109df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d690611c4b565b60405180910390fd5b60006109e9610471565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5190611ee0565b60405180910390fd5b60005b8251811015610b20576000838281518110610a7b57610a7a6116f5565b5b602002602001015190506000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610b0b848284610fc1565b50508080610b189061181e565b915050610a5d565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ba4576000815114610b9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9690611f72565b60405180910390fd5b610d35565b6000815111610be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdf90612004565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610c3e57610c3d826040518060600160405280602881526020016122f760289139611626565b5b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051610c669190612060565b600060405180830381855af49150503d8060008114610ca1576040519150601f19603f3d011682016040523d82523d6000602084013e610ca6565b606091505b509150915081610d3257600081511115610cf757806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cee91906120bb565b60405180910390fd5b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d299061214f565b60405180910390fd5b50505b5050565b610d5b8160405180606001604052806024815260200161231f60249139611626565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c021790555080846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611031576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611028906121e1565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109790612273565b60405180910390fd5b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490506111779190612293565b905080821461130b5760008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000182815481106111d8576111d76116f5565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b9050808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018481548110611254576112536116f5565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c021790555082866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550505b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548061135f5761135e6122c7565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff02191690559055846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff02191690555050600081141561161f5760006001866002018054905061144a9190612293565b905060008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154905081811461158b5760008760020183815481106114b4576114b36116f5565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050808860020183815481106114f8576114f76116f5565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550505b8660020180548061159f5761159e6122c7565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590558660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000905550505b5050505050565b6000823b9050600081118290611672576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166991906120bb565b60405180910390fd5b50505050565b600082825260208201905092915050565b7f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f74206578697374600082015250565b60006116bf602083611678565b91506116ca82611689565b602082019050919050565b600060208201905081810360008301526116ee816116b2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560008201527f74416374696f6e00000000000000000000000000000000000000000000000000602082015250565b60006117af602783611678565b91506117ba82611753565b604082019050919050565b600060208201905081810360008301526117de816117a2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b600061182982611814565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561185c5761185b6117e5565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118be82611893565b9050919050565b6118ce816118b3565b82525050565b600381106118e5576118e4611724565b5b50565b60008190506118f6826118d4565b919050565b6000611906826118e8565b9050919050565b611916816118fb565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61197d81611948565b82525050565b600061198f8383611974565b60208301905092915050565b6000602082019050919050565b60006119b38261191c565b6119bd8185611927565b93506119c883611938565b8060005b838110156119f95781516119e08882611983565b97506119eb8361199b565b9250506001810190506119cc565b5085935050505092915050565b6000606083016000830151611a1e60008601826118c5565b506020830151611a31602086018261190d565b5060408301518482036040860152611a4982826119a8565b9150508091505092915050565b6000611a628383611a06565b905092915050565b6000602082019050919050565b6000611a8282611867565b611a8c8185611872565b935083602082028501611a9e85611883565b8060005b85811015611ada5784840389528151611abb8582611a56565b9450611ac683611a6a565b925060208a01995050600181019050611aa2565b50829750879550505050505092915050565b611af5816118b3565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b35578082015181840152602081019050611b1a565b83811115611b44576000848401525b50505050565b6000601f19601f8301169050919050565b6000611b6682611afb565b611b708185611b06565b9350611b80818560208601611b17565b611b8981611b4a565b840191505092915050565b60006060820190508181036000830152611bae8186611a77565b9050611bbd6020830185611aec565b8181036040830152611bcf8184611b5b565b9050949350505050565b7f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660008201527f6163657420746f20637574000000000000000000000000000000000000000000602082015250565b6000611c35602b83611678565b9150611c4082611bd9565b604082019050919050565b60006020820190508181036000830152611c6481611c28565b9050919050565b7f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260008201527f6520616464726573732830290000000000000000000000000000000000000000602082015250565b6000611cc7602c83611678565b9150611cd282611c6b565b604082019050919050565b60006020820190508181036000830152611cf681611cba565b9050919050565b7f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60008201527f6e207468617420616c7265616479206578697374730000000000000000000000602082015250565b6000611d59603583611678565b9150611d6482611cfd565b604082019050919050565b60006020820190508181036000830152611d8881611d4c565b9050919050565b60006bffffffffffffffffffffffff82169050919050565b6000611db282611d8f565b91506bffffffffffffffffffffffff821415611dd157611dd06117e5565b5b600182019050919050565b7f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60008201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000602082015250565b6000611e38603883611678565b9150611e4382611ddc565b604082019050919050565b60006020820190508181036000830152611e6781611e2b565b9050919050565b7f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260008201527f657373206d757374206265206164647265737328302900000000000000000000602082015250565b6000611eca603683611678565b9150611ed582611e6e565b604082019050919050565b60006020820190508181036000830152611ef981611ebd565b9050919050565b7f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860008201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000602082015250565b6000611f5c603c83611678565b9150611f6782611f00565b604082019050919050565b60006020820190508181036000830152611f8b81611f4f565b9050919050565b7f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460008201527f7920627574205f696e6974206973206e6f742061646472657373283029000000602082015250565b6000611fee603d83611678565b9150611ff982611f92565b604082019050919050565b6000602082019050818103600083015261201d81611fe1565b9050919050565b600081905092915050565b600061203a82611afb565b6120448185612024565b9350612054818560208601611b17565b80840191505092915050565b600061206c828461202f565b915081905092915050565b600081519050919050565b600061208d82612077565b6120978185611678565b93506120a7818560208601611b17565b6120b081611b4a565b840191505092915050565b600060208201905081810360008301526120d58184612082565b905092915050565b7f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560008201527f7665727465640000000000000000000000000000000000000000000000000000602082015250565b6000612139602683611678565b9150612144826120dd565b604082019050919050565b600060208201905081810360008301526121688161212c565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360008201527f74696f6e207468617420646f65736e2774206578697374000000000000000000602082015250565b60006121cb603783611678565b91506121d68261216f565b604082019050919050565b600060208201905081810360008301526121fa816121be565b9050919050565b7f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560008201527f7461626c652066756e6374696f6e000000000000000000000000000000000000602082015250565b600061225d602e83611678565b915061226882612201565b604082019050919050565b6000602082019050818103600083015261228c81612250565b9050919050565b600061229e82611814565b91506122a983611814565b9250828210156122bc576122bb6117e5565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a164736f6c634300080b000a4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465", "deployedBytecode": "0x60806040523661000b57005b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c9050809150600082600001600080357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610142576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610139906116d5565b60405180910390fd5b3660008037600080366000845af43d6000803e8060008114610163573d6000f35b3d6000fd5b6000610172610471565b905060008160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828260040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60005b83518110156104265760008482815181106102605761025f6116f5565b5b60200260200101516020015190506000600281111561028257610281611724565b5b81600281111561029557610294611724565b5b14156102e6576102e18583815181106102b1576102b06116f5565b5b6020026020010151600001518684815181106102d0576102cf6116f5565b5b60200260200101516040015161049e565b610412565b600160028111156102fa576102f9611724565b5b81600281111561030d5761030c611724565b5b141561035e57610359858381518110610329576103286116f5565b5b602002602001015160000151868481518110610348576103476116f5565b5b602002602001015160400151610717565b610411565b60028081111561037157610370611724565b5b81600281111561038457610383611724565b5b14156103d5576103d08583815181106103a05761039f6116f5565b5b6020026020010151600001518684815181106103bf576103be6116f5565b5b60200260200101516040015161099b565b610410565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610407906117c5565b60405180910390fd5b5b5b50808061041e9061181e565b915050610242565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161045a93929190611b94565b60405180910390a161046c8282610b26565b505050565b6000807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90508091505090565b60008151116104e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d990611c4b565b60405180910390fd5b60006104ec610471565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561055e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055590611cdd565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff1614156105cc576105cb8285610d39565b5b60005b83518110156107105760008482815181106105ed576105ec6116f5565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146106e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d890611d6f565b60405180910390fd5b6106ed8583868a610e14565b83806106f890611da7565b945050505080806107089061181e565b9150506105cf565b5050505050565b600081511161075b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075290611c4b565b60405180910390fd5b6000610765610471565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ce90611cdd565b60405180910390fd5b60008160010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905090506000816bffffffffffffffffffffffff161415610845576108448285610d39565b5b60005b8351811015610994576000848281518110610866576108656116f5565b5b602002602001015190506000846000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561095a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095190611e4e565b60405180910390fd5b610965858284610fc1565b6109718583868a610e14565b838061097c90611da7565b9450505050808061098c9061181e565b915050610848565b5050505050565b60008151116109df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d690611c4b565b60405180910390fd5b60006109e9610471565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5190611ee0565b60405180910390fd5b60005b8251811015610b20576000838281518110610a7b57610a7a6116f5565b5b602002602001015190506000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610b0b848284610fc1565b50508080610b189061181e565b915050610a5d565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ba4576000815114610b9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9690611f72565b60405180910390fd5b610d35565b6000815111610be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdf90612004565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610c3e57610c3d826040518060600160405280602881526020016122f760289139611626565b5b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051610c669190612060565b600060405180830381855af49150503d8060008114610ca1576040519150601f19603f3d011682016040523d82523d6000602084013e610ca6565b606091505b509150915081610d3257600081511115610cf757806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cee91906120bb565b60405180910390fd5b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d299061214f565b60405180910390fd5b50505b5050565b610d5b8160405180606001604052806024815260200161231f60249139611626565b81600201805490508260010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081600201819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b81846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508360010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018390806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908360e01c021790555080846000016000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611031576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611028906121e1565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109790612273565b60405180910390fd5b6000836000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050600060018560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490506111779190612293565b905080821461130b5760008560010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000182815481106111d8576111d76116f5565b5b90600052602060002090600891828204019190066004029054906101000a900460e01b9050808660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018481548110611254576112536116f5565b5b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c021790555082866000016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550505b8460010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180548061135f5761135e6122c7565b5b60019003818190600052602060002090600891828204019190066004026101000a81549063ffffffff02191690559055846000016000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a8154906bffffffffffffffffffffffff02191690555050600081141561161f5760006001866002018054905061144a9190612293565b905060008660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154905081811461158b5760008760020183815481106114b4576114b36116f5565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050808860020183815481106114f8576114f76116f5565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818860010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550505b8660020180548061159f5761159e6122c7565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590558660010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000905550505b5050505050565b6000823b9050600081118290611672576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166991906120bb565b60405180910390fd5b50505050565b600082825260208201905092915050565b7f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f74206578697374600082015250565b60006116bf602083611678565b91506116ca82611689565b602082019050919050565b6000