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

@layerzerolabs/lz-evm-oapp-v2

Package Overview
Dependencies
Maintainers
7
Versions
299
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@layerzerolabs/lz-evm-oapp-v2 - npm Package Compare versions

Comparing version 2.1.16 to 2.1.17

4

artifacts/contracts/oapp/examples/OmniCounterPreCrime.sol/OmniCounterPreCrime.json

@@ -364,6 +364,6 @@ {

],
"bytecode": "0x60e06040523480156200001157600080fd5b5060405162002d3a38038062002d3a83398101604081905262000034916200013c565b81816200004133620000cf565b6001600160a01b03808316608052811660a0819052604080516352ae287960e01b815290516352ae2879916004808201926020929091908290030181865afa15801562000092573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b8919062000174565b6001600160a01b031660c052506200019992505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200013757600080fd5b919050565b600080604083850312156200015057600080fd5b6200015b836200011f565b91506200016b602084016200011f565b90509250929050565b6000602082840312156200018757600080fd5b62000192826200011f565b9392505050565b60805160a05160c051612b4e620001ec6000396000818161018d0152611b3201526000818161029f015281816105f0015281816111d9015261131b0152600081816119c60152611b700152612b4e6000f3fe6080604052600436106100dd5760003560e01c80638e9e70991161007f578063bf7b5d7a11610059578063bf7b5d7a1461028d578063f0cd3836146102c1578063f2fde38b146102e1578063f8bcddf61461030157600080fd5b80638e9e709914610236578063afea44ef1461024b578063b9a1f5e71461026b57600080fd5b806352ae2879116100bb57806352ae28791461017b57806354fd4d50146101d4578063715018a6146101f65780638da5cb5b1461020b57600080fd5b806310f9cf3a146100e25780632913daa01461010457806350dfa9371461015b575b600080fd5b3480156100ee57600080fd5b506101026100fd366004612058565b610321565b005b34801561011057600080fd5b5060005461013d9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b61016e6101693660046120f2565b610539565b60405161015291906121cc565b34801561018757600080fd5b506101af7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610152565b3480156101e057600080fd5b5060408051600281526000602082015201610152565b34801561020257600080fd5b506101026105d4565b34801561021757600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166101af565b34801561024257600080fd5b5061016e6105e8565b34801561025757600080fd5b506101026102663660046121f5565b610859565b34801561027757600080fd5b506102806108b4565b6040516101529190612212565b34801561029957600080fd5b506101af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102cd57600080fd5b5061016e6102dc3660046120f2565b610933565b3480156102ed57600080fd5b506101026102fc366004612271565b610bd0565b34801561030d57600080fd5b5061010261031c3660046122a7565b610c8c565b3361dead1461035c576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061039c8787878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b905060008267ffffffffffffffff8111156103b9576103b961231c565b6040519080825280602002602001820160405280156103e2578160200160208202803683370190505b50905060008367ffffffffffffffff8111156104005761040061231c565b60405190808252806020026020018201604052801561043357816020015b606081526020019060019003908161041e5790505b50905060005b84811015610518573660008787848181106104565761045661234b565b9050602002810190610468919061237a565b909250905061047b6004600083856123df565b61048491612409565b60e01c8584815181106104995761049961234b565b63ffffffff909216602092830291909101909101526104bb81600481856123df565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050865187925086915081106105035761050361234b565b60209081029190910101525050600101610439565b506105238383610e6a565b61052e838383610f54565b505050505050505050565b60603361dead14610576576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006105b68686868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b90506105c1816110d2565b6105ca81611314565b9695505050505050565b6105dc61147b565b6105e660006114fc565b565b6001546060907f000000000000000000000000000000000000000000000000000000000000000090819060009067ffffffffffffffff81111561062d5761062d61231c565b60405190808252806020026020018201604052801561068857816020015b6106756040518060600160405280600063ffffffff16815260200160008152602001600081525090565b81526020019060019003908161064b5790505b50905060005b600154811015610830576000600182815481106106ad576106ad61234b565b600091825260209182902060039190910201546040805160608101825263ffffffff90921680835290517f56a4728900000000000000000000000000000000000000000000000000000000815260048101829052909350909182019073ffffffffffffffffffffffffffffffffffffffff8716906356a4728990602401602060405180830381865afa158015610747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076b9190612451565b81526040517f622f17f600000000000000000000000000000000000000000000000000000000815263ffffffff8416600482015260209091019073ffffffffffffffffffffffffffffffffffffffff87169063622f17f690602401602060405180830381865afa1580156107e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108079190612451565b81525083838151811061081c5761081c61234b565b60209081029190910101525060010161068e565b50806040516020016108429190612212565b604051602081830303815290604052935050505090565b61086161147b565b6000805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60606001805480602002602001604051908101604052809291908181526020016000905b8282101561092a5760008481526020908190206040805160608101825260038602909201805463ffffffff168352600180820154848601526002909101549183019190915290835290920191016108d8565b50505050905090565b60603361dead14610970576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040517e0200000000000000000000000000000000000000000000000000000000000060208201527401000000000000000000000000000000000000000090910460c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166022820152602a01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060008515610a6557610a60610a5b8888888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b611571565b610ade565b6001805480602002602001604051908101604052809291908181526020016000905b82821015610ad95760008481526020908190206040805160608101825260038602909201805463ffffffff16835260018082015484860152600290910154918301919091529083529092019101610a87565b505050505b805190915015610bc6578051604051610afd908490839060200161246a565b604051602081830303815290604052925060005b8161ffff16811015610bc35783838281518110610b3057610b3061234b565b602002602001015160000151848381518110610b4e57610b4e61234b565b602002602001015160200151858481518110610b6c57610b6c61234b565b602002602001015160400151604051602001610b8b94939291906124b4565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529350600101610b11565b50505b5095945050505050565b610bd861147b565b73ffffffffffffffffffffffffffffffffffffffff8116610c80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610c89816114fc565b50565b610c9461147b565b610ca060016000611fae565b60005b81811015610cf7576001838383818110610cbf57610cbf61234b565b835460018101855560009485526020909420606090910292909201926003029091019050610ced828261251d565b5050600101610ca3565b505050565b60608267ffffffffffffffff811115610d1757610d1761231c565b604051908082528060200260200182016040528015610dbd57816020015b604080516101608101825260006101008201818152610120830182905261014083018290528252602080830182905292820181905260608083018290526080830182905260a083019190915260c0820181905260e082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610d355790505b50905060005b83811015610e6257366000868684818110610de057610de061234b565b9050602002810190610df2919061237a565b91509150610e008282611838565b848481518110610e1257610e1261234b565b6020026020010181905250848381518110610e2f57610e2f61234b565b6020026020010151848481518110610e4957610e4961234b565b6020908102919091010151608001525050600101610dc3565b509392505050565b815115610f00576000610e7c83611571565b905060005b8151811015610efd576000828281518110610e9e57610e9e61234b565b6020026020010151600001519050610eb6848261196b565b610ef4576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610c77565b50600101610e81565b50505b6000610f0a6119c2565b9050610f16828261196b565b610cf7576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610c77565b6000610f5e6119c2565b9050606060005b8451811015610fd6578263ffffffff16858281518110610f8757610f8761234b565b602002602001015163ffffffff1603610fce57838181518110610fac57610fac61234b565b6020026020010151806020019051810190610fc791906125e7565b9150610fd6565b600101610f65565b5060005b84518110156110ca576000858281518110610ff757610ff761234b565b6020026020010151905060008583815181106110155761101561234b565b602002602001015180602001905181019061103091906125e7565b9050600061103e8584611a58565b509050600061104d8388611a58565b915050808211156110ba576040517f1915975700000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f696e626f756e64436f756e74203e206f7574626f756e64436f756e74000000006044820152606401610c77565b505060019092019150610fda9050565b505050505050565b60005481517401000000000000000000000000000000000000000090910467ffffffffffffffff1610156111605760005481516040517f9db086050000000000000000000000000000000000000000000000000000000081527401000000000000000000000000000000000000000090920467ffffffffffffffff1660048301526024820152604401610c77565b805115610c895760008080805b845181101561130d57600085828151811061118a5761118a61234b565b602090810291909101810151805180519201516040517f5a0dfe4d00000000000000000000000000000000000000000000000000000000815263ffffffff9093166004840152602483015291507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635a0dfe4d90604401602060405180830381865afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125991906126c4565b6112635750611305565b80515163ffffffff868116911614158061128257508051602001518414155b156112a3578051805160209091015190955093506112a08585611af5565b92505b6112ac83612715565b92508267ffffffffffffffff1681600001516040015167ffffffffffffffff1614611303576040517f50823c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b60010161116d565b5050505050565b60606000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163463bd815db060e01b8660405160240161136a919061273c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516113f391906128a2565b60006040518083038185875af1925050503d8060008114611430576040519150601f19603f3d011682016040523d82523d6000602084013e611435565b606091505b509150915060006114468383611be4565b90506114506119c2565b816040516020016114629291906128be565b6040516020818303038152906040529350505050919050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c77565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060006001805480602002602001604051908101604052809291908181526020016000905b828210156115e95760008481526020908190206040805160608101825260038602909201805463ffffffff16835260018082015484860152600290910154918301919091529083529092019101611597565b5050505090506000835167ffffffffffffffff81111561160b5761160b61231c565b60405190808252806020026020018201604052801561167457816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816116295790505b5090507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005b85518110156117465760008682815181106116b8576116b861234b565b60200260200101516000015160000151905060006116d68683611d03565b9050600081121580156116f2575060006116f08684611d03565b125b1561173c578361170181612909565b9450508581815181106117165761171661234b565b60200260200101518585815181106117305761173061234b565b60200260200101819052505b505060010161169b565b506000811261183057600061175c826001612941565b90508067ffffffffffffffff8111156117775761177761231c565b6040519080825280602002602001820160405280156117e057816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816117955790505b50945060005b8181101561182d578381815181106118005761180061234b565b602002602001015186828151811061181a5761181a61234b565b60209081029190910101526001016117e6565b50505b505050919050565b6040805161016081018252600061010082018181526101208301829052610140830182905282526020820181905291810182905260608082018390526080820183905260a082019290925260c0810182905260e081019190915260405180606001604052806118a78585611d78565b63ffffffff1681526020016118bc8585611d9b565b81526020016118cb8585611db4565b67ffffffffffffffff16905281526118e38383611dd7565b63ffffffff1660208201526118f88383611de7565b73ffffffffffffffffffffffffffffffffffffffff16604082015261191d8383611df9565b606082015261192c8383611e09565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c082015292915050565b6000805b83518110156119b6578263ffffffff168482815181106119915761199161234b565b602002602001015163ffffffff16036119ae5760019150506119bc565b60010161196f565b50600090505b92915050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a539190612954565b905090565b60008060005b8451811015611ae5578363ffffffff16858281518110611a8057611a8061234b565b60200260200101516000015163ffffffff1603611add57848181518110611aa957611aa961234b565b602002602001015160200151858281518110611ac757611ac761234b565b6020026020010151604001519250925050611aee565b600101611a5e565b50600080915091505b9250929050565b6040517fa0dd43fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015263ffffffff84166024830152604482018390526000917f00000000000000000000000000000000000000000000000000000000000000009091169063a0dd43fc90606401602060405180830381865afa158015611bb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bdd9190612971565b9392505050565b60608215611c4e576040517f614cbd8a00000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f2072657665727400000000000000000000000000000000000000000000006044820152606401610c77565b7f8351eea700000000000000000000000000000000000000000000000000000000611c788361298e565b7fffffffff000000000000000000000000000000000000000000000000000000001614611cd357816040517f614cbd8a000000000000000000000000000000000000000000000000000000008152600401610c7791906121cc565b611ced6004808451611ce591906129da565b849190611e24565b905080806020019051810190611bdd91906129ed565b6000805b8351811015611d4f578263ffffffff16848281518110611d2957611d2961234b565b60200260200101516000015163ffffffff1603611d475790506119bc565b600101611d07565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b6000611d88600d600984866123df565b611d9191612409565b60e01c9392505050565b6000611dab602d600d84866123df565b611bdd91612a96565b6000611dc46009600184866123df565b611dcd91612ad2565b60c01c9392505050565b6000611d886031602d84866123df565b6000611bdd611df68484611f9e565b90565b6000611dab6071605184866123df565b366000611e1983607181876123df565b915091509250929050565b606081611e3281601f612941565b1015611e9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610c77565b611ea48284612941565b84511015611f0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610c77565b606082158015611f2d5760405191506000825260208201604052611f95565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611f66578051835260209283019201611f4e565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6000611dab6051603184866123df565b5080546000825560030290600052602060002090810190610c8991905b8082111561200f5780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001681556000600182018190556002820155600301611fcb565b5090565b60008083601f84011261202557600080fd5b50813567ffffffffffffffff81111561203d57600080fd5b6020830191508360208260051b8501011115611aee57600080fd5b6000806000806000806060878903121561207157600080fd5b863567ffffffffffffffff8082111561208957600080fd5b6120958a838b01612013565b909850965060208901359150808211156120ae57600080fd5b6120ba8a838b01612013565b909650945060408901359150808211156120d357600080fd5b506120e089828a01612013565b979a9699509497509295939492505050565b6000806000806040858703121561210857600080fd5b843567ffffffffffffffff8082111561212057600080fd5b61212c88838901612013565b9096509450602087013591508082111561214557600080fd5b5061215287828801612013565b95989497509550505050565b60005b83811015612179578181015183820152602001612161565b50506000910152565b6000815180845261219a81602086016020860161215e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611bdd6020830184612182565b67ffffffffffffffff81168114610c8957600080fd5b60006020828403121561220757600080fd5b8135611bdd816121df565b602080825282518282018190526000919060409081850190868401855b82811015612264578151805163ffffffff1685528681015187860152850151858501526060909301929085019060010161222f565b5091979650505050505050565b60006020828403121561228357600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114611bdd57600080fd5b600080602083850312156122ba57600080fd5b823567ffffffffffffffff808211156122d257600080fd5b818501915085601f8301126122e657600080fd5b8135818111156122f557600080fd5b86602060608302850101111561230a57600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126123af57600080fd5b83018035915067ffffffffffffffff8211156123ca57600080fd5b602001915036819003821315611aee57600080fd5b600080858511156123ef57600080fd5b838611156123fc57600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156124495780818660040360031b1b83161692505b505092915050565b60006020828403121561246357600080fd5b5051919050565b6000835161247c81846020880161215e565b60f09390931b7fffff000000000000000000000000000000000000000000000000000000000000169190920190815260020192915050565b600085516124c6818460208a0161215e565b60e09590951b7fffffffff0000000000000000000000000000000000000000000000000000000016919094019081526004810192909252602482015260440192915050565b63ffffffff81168114610c8957600080fd5b81356125288161250b565b63ffffffff81167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000008354161782555060208201356001820155604082013560028201555050565b6040516060810167ffffffffffffffff811182821017156125925761259261231c565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156125df576125df61231c565b604052919050565b600060208083850312156125fa57600080fd5b825167ffffffffffffffff8082111561261257600080fd5b818501915085601f83011261262657600080fd5b8151818111156126385761263861231c565b612646848260051b01612598565b8181528481019250606091820284018501918883111561266557600080fd5b938501935b828510156126b85780858a0312156126825760008081fd5b61268a61256f565b85516126958161250b565b81528587015187820152604080870151908201528452938401939285019261266a565b50979650505050505050565b6000602082840312156126d657600080fd5b81518015158114611bdd57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff808316818103612732576127326126e6565b6001019392505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b83811015612894577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089840301855281516101406127c8858351805163ffffffff1682526020808201519083015260409081015167ffffffffffffffff16910152565b8882015160606127df8188018363ffffffff169052565b89840151915060806128088189018473ffffffffffffffffffffffffffffffffffffffff169052565b9084015160a0888101919091529084015160c08089019190915290840151915060e09061284c8289018473ffffffffffffffffffffffffffffffffffffffff169052565b8401516101008801849052915061286587840183612182565b93015186840361012088015292915061288090508183612182565b968901969450505090860190600101612765565b509098975050505050505050565b600082516128b481846020870161215e565b9190910192915050565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b168152600082516128fb81600485016020870161215e565b919091016004019392505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361293a5761293a6126e6565b5060010190565b808201808211156119bc576119bc6126e6565b60006020828403121561296657600080fd5b8151611bdd8161250b565b60006020828403121561298357600080fd5b8151611bdd816121df565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156118305760049290920360031b82901b161692915050565b818103818111156119bc576119bc6126e6565b6000602082840312156129ff57600080fd5b815167ffffffffffffffff80821115612a1757600080fd5b818401915084601f830112612a2b57600080fd5b815181811115612a3d57612a3d61231c565b612a6e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612598565b9150808252856020828501011115612a8557600080fd5b611f9581602084016020860161215e565b803560208310156119bc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156124495760089490940360031b84901b169092169291505056fea26469706673582212200faebb431af0d3f6fdbca59b21b5dc5e572d51eda57350222270bc78955e76fc64736f6c63430008160033",
"deployedBytecode": "0x6080604052600436106100dd5760003560e01c80638e9e70991161007f578063bf7b5d7a11610059578063bf7b5d7a1461028d578063f0cd3836146102c1578063f2fde38b146102e1578063f8bcddf61461030157600080fd5b80638e9e709914610236578063afea44ef1461024b578063b9a1f5e71461026b57600080fd5b806352ae2879116100bb57806352ae28791461017b57806354fd4d50146101d4578063715018a6146101f65780638da5cb5b1461020b57600080fd5b806310f9cf3a146100e25780632913daa01461010457806350dfa9371461015b575b600080fd5b3480156100ee57600080fd5b506101026100fd366004612058565b610321565b005b34801561011057600080fd5b5060005461013d9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b61016e6101693660046120f2565b610539565b60405161015291906121cc565b34801561018757600080fd5b506101af7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610152565b3480156101e057600080fd5b5060408051600281526000602082015201610152565b34801561020257600080fd5b506101026105d4565b34801561021757600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166101af565b34801561024257600080fd5b5061016e6105e8565b34801561025757600080fd5b506101026102663660046121f5565b610859565b34801561027757600080fd5b506102806108b4565b6040516101529190612212565b34801561029957600080fd5b506101af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102cd57600080fd5b5061016e6102dc3660046120f2565b610933565b3480156102ed57600080fd5b506101026102fc366004612271565b610bd0565b34801561030d57600080fd5b5061010261031c3660046122a7565b610c8c565b3361dead1461035c576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061039c8787878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b905060008267ffffffffffffffff8111156103b9576103b961231c565b6040519080825280602002602001820160405280156103e2578160200160208202803683370190505b50905060008367ffffffffffffffff8111156104005761040061231c565b60405190808252806020026020018201604052801561043357816020015b606081526020019060019003908161041e5790505b50905060005b84811015610518573660008787848181106104565761045661234b565b9050602002810190610468919061237a565b909250905061047b6004600083856123df565b61048491612409565b60e01c8584815181106104995761049961234b565b63ffffffff909216602092830291909101909101526104bb81600481856123df565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050865187925086915081106105035761050361234b565b60209081029190910101525050600101610439565b506105238383610e6a565b61052e838383610f54565b505050505050505050565b60603361dead14610576576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006105b68686868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b90506105c1816110d2565b6105ca81611314565b9695505050505050565b6105dc61147b565b6105e660006114fc565b565b6001546060907f000000000000000000000000000000000000000000000000000000000000000090819060009067ffffffffffffffff81111561062d5761062d61231c565b60405190808252806020026020018201604052801561068857816020015b6106756040518060600160405280600063ffffffff16815260200160008152602001600081525090565b81526020019060019003908161064b5790505b50905060005b600154811015610830576000600182815481106106ad576106ad61234b565b600091825260209182902060039190910201546040805160608101825263ffffffff90921680835290517f56a4728900000000000000000000000000000000000000000000000000000000815260048101829052909350909182019073ffffffffffffffffffffffffffffffffffffffff8716906356a4728990602401602060405180830381865afa158015610747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076b9190612451565b81526040517f622f17f600000000000000000000000000000000000000000000000000000000815263ffffffff8416600482015260209091019073ffffffffffffffffffffffffffffffffffffffff87169063622f17f690602401602060405180830381865afa1580156107e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108079190612451565b81525083838151811061081c5761081c61234b565b60209081029190910101525060010161068e565b50806040516020016108429190612212565b604051602081830303815290604052935050505090565b61086161147b565b6000805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60606001805480602002602001604051908101604052809291908181526020016000905b8282101561092a5760008481526020908190206040805160608101825260038602909201805463ffffffff168352600180820154848601526002909101549183019190915290835290920191016108d8565b50505050905090565b60603361dead14610970576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040517e0200000000000000000000000000000000000000000000000000000000000060208201527401000000000000000000000000000000000000000090910460c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166022820152602a01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060008515610a6557610a60610a5b8888888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b611571565b610ade565b6001805480602002602001604051908101604052809291908181526020016000905b82821015610ad95760008481526020908190206040805160608101825260038602909201805463ffffffff16835260018082015484860152600290910154918301919091529083529092019101610a87565b505050505b805190915015610bc6578051604051610afd908490839060200161246a565b604051602081830303815290604052925060005b8161ffff16811015610bc35783838281518110610b3057610b3061234b565b602002602001015160000151848381518110610b4e57610b4e61234b565b602002602001015160200151858481518110610b6c57610b6c61234b565b602002602001015160400151604051602001610b8b94939291906124b4565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529350600101610b11565b50505b5095945050505050565b610bd861147b565b73ffffffffffffffffffffffffffffffffffffffff8116610c80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610c89816114fc565b50565b610c9461147b565b610ca060016000611fae565b60005b81811015610cf7576001838383818110610cbf57610cbf61234b565b835460018101855560009485526020909420606090910292909201926003029091019050610ced828261251d565b5050600101610ca3565b505050565b60608267ffffffffffffffff811115610d1757610d1761231c565b604051908082528060200260200182016040528015610dbd57816020015b604080516101608101825260006101008201818152610120830182905261014083018290528252602080830182905292820181905260608083018290526080830182905260a083019190915260c0820181905260e082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610d355790505b50905060005b83811015610e6257366000868684818110610de057610de061234b565b9050602002810190610df2919061237a565b91509150610e008282611838565b848481518110610e1257610e1261234b565b6020026020010181905250848381518110610e2f57610e2f61234b565b6020026020010151848481518110610e4957610e4961234b565b6020908102919091010151608001525050600101610dc3565b509392505050565b815115610f00576000610e7c83611571565b905060005b8151811015610efd576000828281518110610e9e57610e9e61234b565b6020026020010151600001519050610eb6848261196b565b610ef4576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610c77565b50600101610e81565b50505b6000610f0a6119c2565b9050610f16828261196b565b610cf7576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610c77565b6000610f5e6119c2565b9050606060005b8451811015610fd6578263ffffffff16858281518110610f8757610f8761234b565b602002602001015163ffffffff1603610fce57838181518110610fac57610fac61234b565b6020026020010151806020019051810190610fc791906125e7565b9150610fd6565b600101610f65565b5060005b84518110156110ca576000858281518110610ff757610ff761234b565b6020026020010151905060008583815181106110155761101561234b565b602002602001015180602001905181019061103091906125e7565b9050600061103e8584611a58565b509050600061104d8388611a58565b915050808211156110ba576040517f1915975700000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f696e626f756e64436f756e74203e206f7574626f756e64436f756e74000000006044820152606401610c77565b505060019092019150610fda9050565b505050505050565b60005481517401000000000000000000000000000000000000000090910467ffffffffffffffff1610156111605760005481516040517f9db086050000000000000000000000000000000000000000000000000000000081527401000000000000000000000000000000000000000090920467ffffffffffffffff1660048301526024820152604401610c77565b805115610c895760008080805b845181101561130d57600085828151811061118a5761118a61234b565b602090810291909101810151805180519201516040517f5a0dfe4d00000000000000000000000000000000000000000000000000000000815263ffffffff9093166004840152602483015291507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635a0dfe4d90604401602060405180830381865afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125991906126c4565b6112635750611305565b80515163ffffffff868116911614158061128257508051602001518414155b156112a3578051805160209091015190955093506112a08585611af5565b92505b6112ac83612715565b92508267ffffffffffffffff1681600001516040015167ffffffffffffffff1614611303576040517f50823c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b60010161116d565b5050505050565b60606000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163463bd815db060e01b8660405160240161136a919061273c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516113f391906128a2565b60006040518083038185875af1925050503d8060008114611430576040519150601f19603f3d011682016040523d82523d6000602084013e611435565b606091505b509150915060006114468383611be4565b90506114506119c2565b816040516020016114629291906128be565b6040516020818303038152906040529350505050919050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c77565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060006001805480602002602001604051908101604052809291908181526020016000905b828210156115e95760008481526020908190206040805160608101825260038602909201805463ffffffff16835260018082015484860152600290910154918301919091529083529092019101611597565b5050505090506000835167ffffffffffffffff81111561160b5761160b61231c565b60405190808252806020026020018201604052801561167457816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816116295790505b5090507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005b85518110156117465760008682815181106116b8576116b861234b565b60200260200101516000015160000151905060006116d68683611d03565b9050600081121580156116f2575060006116f08684611d03565b125b1561173c578361170181612909565b9450508581815181106117165761171661234b565b60200260200101518585815181106117305761173061234b565b60200260200101819052505b505060010161169b565b506000811261183057600061175c826001612941565b90508067ffffffffffffffff8111156117775761177761231c565b6040519080825280602002602001820160405280156117e057816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816117955790505b50945060005b8181101561182d578381815181106118005761180061234b565b602002602001015186828151811061181a5761181a61234b565b60209081029190910101526001016117e6565b50505b505050919050565b6040805161016081018252600061010082018181526101208301829052610140830182905282526020820181905291810182905260608082018390526080820183905260a082019290925260c0810182905260e081019190915260405180606001604052806118a78585611d78565b63ffffffff1681526020016118bc8585611d9b565b81526020016118cb8585611db4565b67ffffffffffffffff16905281526118e38383611dd7565b63ffffffff1660208201526118f88383611de7565b73ffffffffffffffffffffffffffffffffffffffff16604082015261191d8383611df9565b606082015261192c8383611e09565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c082015292915050565b6000805b83518110156119b6578263ffffffff168482815181106119915761199161234b565b602002602001015163ffffffff16036119ae5760019150506119bc565b60010161196f565b50600090505b92915050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a539190612954565b905090565b60008060005b8451811015611ae5578363ffffffff16858281518110611a8057611a8061234b565b60200260200101516000015163ffffffff1603611add57848181518110611aa957611aa961234b565b602002602001015160200151858281518110611ac757611ac761234b565b6020026020010151604001519250925050611aee565b600101611a5e565b50600080915091505b9250929050565b6040517fa0dd43fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015263ffffffff84166024830152604482018390526000917f00000000000000000000000000000000000000000000000000000000000000009091169063a0dd43fc90606401602060405180830381865afa158015611bb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bdd9190612971565b9392505050565b60608215611c4e576040517f614cbd8a00000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f2072657665727400000000000000000000000000000000000000000000006044820152606401610c77565b7f8351eea700000000000000000000000000000000000000000000000000000000611c788361298e565b7fffffffff000000000000000000000000000000000000000000000000000000001614611cd357816040517f614cbd8a000000000000000000000000000000000000000000000000000000008152600401610c7791906121cc565b611ced6004808451611ce591906129da565b849190611e24565b905080806020019051810190611bdd91906129ed565b6000805b8351811015611d4f578263ffffffff16848281518110611d2957611d2961234b565b60200260200101516000015163ffffffff1603611d475790506119bc565b600101611d07565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b6000611d88600d600984866123df565b611d9191612409565b60e01c9392505050565b6000611dab602d600d84866123df565b611bdd91612a96565b6000611dc46009600184866123df565b611dcd91612ad2565b60c01c9392505050565b6000611d886031602d84866123df565b6000611bdd611df68484611f9e565b90565b6000611dab6071605184866123df565b366000611e1983607181876123df565b915091509250929050565b606081611e3281601f612941565b1015611e9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610c77565b611ea48284612941565b84511015611f0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610c77565b606082158015611f2d5760405191506000825260208201604052611f95565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611f66578051835260209283019201611f4e565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6000611dab6051603184866123df565b5080546000825560030290600052602060002090810190610c8991905b8082111561200f5780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001681556000600182018190556002820155600301611fcb565b5090565b60008083601f84011261202557600080fd5b50813567ffffffffffffffff81111561203d57600080fd5b6020830191508360208260051b8501011115611aee57600080fd5b6000806000806000806060878903121561207157600080fd5b863567ffffffffffffffff8082111561208957600080fd5b6120958a838b01612013565b909850965060208901359150808211156120ae57600080fd5b6120ba8a838b01612013565b909650945060408901359150808211156120d357600080fd5b506120e089828a01612013565b979a9699509497509295939492505050565b6000806000806040858703121561210857600080fd5b843567ffffffffffffffff8082111561212057600080fd5b61212c88838901612013565b9096509450602087013591508082111561214557600080fd5b5061215287828801612013565b95989497509550505050565b60005b83811015612179578181015183820152602001612161565b50506000910152565b6000815180845261219a81602086016020860161215e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611bdd6020830184612182565b67ffffffffffffffff81168114610c8957600080fd5b60006020828403121561220757600080fd5b8135611bdd816121df565b602080825282518282018190526000919060409081850190868401855b82811015612264578151805163ffffffff1685528681015187860152850151858501526060909301929085019060010161222f565b5091979650505050505050565b60006020828403121561228357600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114611bdd57600080fd5b600080602083850312156122ba57600080fd5b823567ffffffffffffffff808211156122d257600080fd5b818501915085601f8301126122e657600080fd5b8135818111156122f557600080fd5b86602060608302850101111561230a57600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126123af57600080fd5b83018035915067ffffffffffffffff8211156123ca57600080fd5b602001915036819003821315611aee57600080fd5b600080858511156123ef57600080fd5b838611156123fc57600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156124495780818660040360031b1b83161692505b505092915050565b60006020828403121561246357600080fd5b5051919050565b6000835161247c81846020880161215e565b60f09390931b7fffff000000000000000000000000000000000000000000000000000000000000169190920190815260020192915050565b600085516124c6818460208a0161215e565b60e09590951b7fffffffff0000000000000000000000000000000000000000000000000000000016919094019081526004810192909252602482015260440192915050565b63ffffffff81168114610c8957600080fd5b81356125288161250b565b63ffffffff81167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000008354161782555060208201356001820155604082013560028201555050565b6040516060810167ffffffffffffffff811182821017156125925761259261231c565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156125df576125df61231c565b604052919050565b600060208083850312156125fa57600080fd5b825167ffffffffffffffff8082111561261257600080fd5b818501915085601f83011261262657600080fd5b8151818111156126385761263861231c565b612646848260051b01612598565b8181528481019250606091820284018501918883111561266557600080fd5b938501935b828510156126b85780858a0312156126825760008081fd5b61268a61256f565b85516126958161250b565b81528587015187820152604080870151908201528452938401939285019261266a565b50979650505050505050565b6000602082840312156126d657600080fd5b81518015158114611bdd57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff808316818103612732576127326126e6565b6001019392505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b83811015612894577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089840301855281516101406127c8858351805163ffffffff1682526020808201519083015260409081015167ffffffffffffffff16910152565b8882015160606127df8188018363ffffffff169052565b89840151915060806128088189018473ffffffffffffffffffffffffffffffffffffffff169052565b9084015160a0888101919091529084015160c08089019190915290840151915060e09061284c8289018473ffffffffffffffffffffffffffffffffffffffff169052565b8401516101008801849052915061286587840183612182565b93015186840361012088015292915061288090508183612182565b968901969450505090860190600101612765565b509098975050505050505050565b600082516128b481846020870161215e565b9190910192915050565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b168152600082516128fb81600485016020870161215e565b919091016004019392505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361293a5761293a6126e6565b5060010190565b808201808211156119bc576119bc6126e6565b60006020828403121561296657600080fd5b8151611bdd8161250b565b60006020828403121561298357600080fd5b8151611bdd816121df565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156118305760049290920360031b82901b161692915050565b818103818111156119bc576119bc6126e6565b6000602082840312156129ff57600080fd5b815167ffffffffffffffff80821115612a1757600080fd5b818401915084601f830112612a2b57600080fd5b815181811115612a3d57612a3d61231c565b612a6e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612598565b9150808252856020828501011115612a8557600080fd5b611f9581602084016020860161215e565b803560208310156119bc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156124495760089490940360031b84901b169092169291505056fea26469706673582212200faebb431af0d3f6fdbca59b21b5dc5e572d51eda57350222270bc78955e76fc64736f6c63430008160033",
"bytecode": "0x60e06040523480156200001157600080fd5b5060405162002da338038062002da383398101604081905262000034916200013c565b81816200004133620000cf565b6001600160a01b03808316608052811660a0819052604080516352ae287960e01b815290516352ae2879916004808201926020929091908290030181865afa15801562000092573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b8919062000174565b6001600160a01b031660c052506200019992505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200013757600080fd5b919050565b600080604083850312156200015057600080fd5b6200015b836200011f565b91506200016b602084016200011f565b90509250929050565b6000602082840312156200018757600080fd5b62000192826200011f565b9392505050565b60805160a05160c051612bb7620001ec6000396000818161018d0152611b9b01526000818161029f015281816105f0015281816111d90152611384015260008181611a2f0152611bd90152612bb76000f3fe6080604052600436106100dd5760003560e01c80638e9e70991161007f578063bf7b5d7a11610059578063bf7b5d7a1461028d578063f0cd3836146102c1578063f2fde38b146102e1578063f8bcddf61461030157600080fd5b80638e9e709914610236578063afea44ef1461024b578063b9a1f5e71461026b57600080fd5b806352ae2879116100bb57806352ae28791461017b57806354fd4d50146101d4578063715018a6146101f65780638da5cb5b1461020b57600080fd5b806310f9cf3a146100e25780632913daa01461010457806350dfa9371461015b575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046120c1565b610321565b005b34801561011057600080fd5b5060005461013d9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b61016e61016936600461215b565b610539565b6040516101529190612235565b34801561018757600080fd5b506101af7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610152565b3480156101e057600080fd5b5060408051600281526000602082015201610152565b34801561020257600080fd5b506101026105d4565b34801561021757600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166101af565b34801561024257600080fd5b5061016e6105e8565b34801561025757600080fd5b5061010261026636600461225e565b610859565b34801561027757600080fd5b506102806108b4565b604051610152919061227b565b34801561029957600080fd5b506101af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102cd57600080fd5b5061016e6102dc36600461215b565b610933565b3480156102ed57600080fd5b506101026102fc3660046122da565b610bd0565b34801561030d57600080fd5b5061010261031c366004612310565b610c8c565b3361dead1461035c576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061039c8787878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b905060008267ffffffffffffffff8111156103b9576103b9612385565b6040519080825280602002602001820160405280156103e2578160200160208202803683370190505b50905060008367ffffffffffffffff81111561040057610400612385565b60405190808252806020026020018201604052801561043357816020015b606081526020019060019003908161041e5790505b50905060005b8481101561051857366000878784818110610456576104566123b4565b905060200281019061046891906123e3565b909250905061047b600460008385612448565b61048491612472565b60e01c858481518110610499576104996123b4565b63ffffffff909216602092830291909101909101526104bb8160048185612448565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505086518792508691508110610503576105036123b4565b60209081029190910101525050600101610439565b506105238383610e6a565b61052e838383610f54565b505050505050505050565b60603361dead14610576576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006105b68686868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b90506105c1816110d2565b6105ca8161137d565b9695505050505050565b6105dc6114e4565b6105e66000611565565b565b6001546060907f000000000000000000000000000000000000000000000000000000000000000090819060009067ffffffffffffffff81111561062d5761062d612385565b60405190808252806020026020018201604052801561068857816020015b6106756040518060600160405280600063ffffffff16815260200160008152602001600081525090565b81526020019060019003908161064b5790505b50905060005b600154811015610830576000600182815481106106ad576106ad6123b4565b600091825260209182902060039190910201546040805160608101825263ffffffff90921680835290517f56a4728900000000000000000000000000000000000000000000000000000000815260048101829052909350909182019073ffffffffffffffffffffffffffffffffffffffff8716906356a4728990602401602060405180830381865afa158015610747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076b91906124ba565b81526040517f622f17f600000000000000000000000000000000000000000000000000000000815263ffffffff8416600482015260209091019073ffffffffffffffffffffffffffffffffffffffff87169063622f17f690602401602060405180830381865afa1580156107e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080791906124ba565b81525083838151811061081c5761081c6123b4565b60209081029190910101525060010161068e565b5080604051602001610842919061227b565b604051602081830303815290604052935050505090565b6108616114e4565b6000805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60606001805480602002602001604051908101604052809291908181526020016000905b8282101561092a5760008481526020908190206040805160608101825260038602909201805463ffffffff168352600180820154848601526002909101549183019190915290835290920191016108d8565b50505050905090565b60603361dead14610970576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040517e0200000000000000000000000000000000000000000000000000000000000060208201527401000000000000000000000000000000000000000090910460c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166022820152602a01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060008515610a6557610a60610a5b8888888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b6115da565b610ade565b6001805480602002602001604051908101604052809291908181526020016000905b82821015610ad95760008481526020908190206040805160608101825260038602909201805463ffffffff16835260018082015484860152600290910154918301919091529083529092019101610a87565b505050505b805190915015610bc6578051604051610afd90849083906020016124d3565b604051602081830303815290604052925060005b8161ffff16811015610bc35783838281518110610b3057610b306123b4565b602002602001015160000151848381518110610b4e57610b4e6123b4565b602002602001015160200151858481518110610b6c57610b6c6123b4565b602002602001015160400151604051602001610b8b949392919061251d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529350600101610b11565b50505b5095945050505050565b610bd86114e4565b73ffffffffffffffffffffffffffffffffffffffff8116610c80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610c8981611565565b50565b610c946114e4565b610ca060016000612017565b60005b81811015610cf7576001838383818110610cbf57610cbf6123b4565b835460018101855560009485526020909420606090910292909201926003029091019050610ced8282612586565b5050600101610ca3565b505050565b60608267ffffffffffffffff811115610d1757610d17612385565b604051908082528060200260200182016040528015610dbd57816020015b604080516101608101825260006101008201818152610120830182905261014083018290528252602080830182905292820181905260608083018290526080830182905260a083019190915260c0820181905260e082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610d355790505b50905060005b83811015610e6257366000868684818110610de057610de06123b4565b9050602002810190610df291906123e3565b91509150610e0082826118a1565b848481518110610e1257610e126123b4565b6020026020010181905250848381518110610e2f57610e2f6123b4565b6020026020010151848481518110610e4957610e496123b4565b6020908102919091010151608001525050600101610dc3565b509392505050565b815115610f00576000610e7c836115da565b905060005b8151811015610efd576000828281518110610e9e57610e9e6123b4565b6020026020010151600001519050610eb684826119d4565b610ef4576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610c77565b50600101610e81565b50505b6000610f0a611a2b565b9050610f1682826119d4565b610cf7576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610c77565b6000610f5e611a2b565b9050606060005b8451811015610fd6578263ffffffff16858281518110610f8757610f876123b4565b602002602001015163ffffffff1603610fce57838181518110610fac57610fac6123b4565b6020026020010151806020019051810190610fc79190612650565b9150610fd6565b600101610f65565b5060005b84518110156110ca576000858281518110610ff757610ff76123b4565b602002602001015190506000858381518110611015576110156123b4565b60200260200101518060200190518101906110309190612650565b9050600061103e8584611ac1565b509050600061104d8388611ac1565b915050808211156110ba576040517f1915975700000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f696e626f756e64436f756e74203e206f7574626f756e64436f756e74000000006044820152606401610c77565b505060019092019150610fda9050565b505050505050565b60005481517401000000000000000000000000000000000000000090910467ffffffffffffffff1610156111605760005481516040517f9db086050000000000000000000000000000000000000000000000000000000081527401000000000000000000000000000000000000000090920467ffffffffffffffff1660048301526024820152604401610c77565b805115610c895760008080805b845181101561137657600085828151811061118a5761118a6123b4565b602090810291909101810151805180519201516040517f5a0dfe4d00000000000000000000000000000000000000000000000000000000815263ffffffff9093166004840152602483015291507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635a0dfe4d90604401602060405180830381865afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611259919061272d565b611263575061136e565b80515163ffffffff80871691161080611295575080515163ffffffff8681169116148015611295575080516020015184115b156112cc576040517f50823c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80515163ffffffff86811691161415806112eb57508051602001518414155b1561130c578051805160209091015190955093506113098585611b5e565b92505b6113158361277e565b92508267ffffffffffffffff1681600001516040015167ffffffffffffffff161461136c576040517f50823c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b60010161116d565b5050505050565b60606000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163463bd815db060e01b866040516024016113d391906127a5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161145c919061290b565b60006040518083038185875af1925050503d8060008114611499576040519150601f19603f3d011682016040523d82523d6000602084013e61149e565b606091505b509150915060006114af8383611c4d565b90506114b9611a2b565b816040516020016114cb929190612927565b6040516020818303038152906040529350505050919050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c77565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060006001805480602002602001604051908101604052809291908181526020016000905b828210156116525760008481526020908190206040805160608101825260038602909201805463ffffffff16835260018082015484860152600290910154918301919091529083529092019101611600565b5050505090506000835167ffffffffffffffff81111561167457611674612385565b6040519080825280602002602001820160405280156116dd57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816116925790505b5090507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005b85518110156117af576000868281518110611721576117216123b4565b602002602001015160000151600001519050600061173f8683611d6c565b90506000811215801561175b575060006117598684611d6c565b125b156117a5578361176a81612972565b94505085818151811061177f5761177f6123b4565b6020026020010151858581518110611799576117996123b4565b60200260200101819052505b5050600101611704565b50600081126118995760006117c58260016129aa565b90508067ffffffffffffffff8111156117e0576117e0612385565b60405190808252806020026020018201604052801561184957816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816117fe5790505b50945060005b8181101561189657838181518110611869576118696123b4565b6020026020010151868281518110611883576118836123b4565b602090810291909101015260010161184f565b50505b505050919050565b6040805161016081018252600061010082018181526101208301829052610140830182905282526020820181905291810182905260608082018390526080820183905260a082019290925260c0810182905260e081019190915260405180606001604052806119108585611de1565b63ffffffff1681526020016119258585611e04565b81526020016119348585611e1d565b67ffffffffffffffff169052815261194c8383611e40565b63ffffffff1660208201526119618383611e50565b73ffffffffffffffffffffffffffffffffffffffff1660408201526119868383611e62565b60608201526119958383611e72565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c082015292915050565b6000805b8351811015611a1f578263ffffffff168482815181106119fa576119fa6123b4565b602002602001015163ffffffff1603611a17576001915050611a25565b6001016119d8565b50600090505b92915050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abc91906129bd565b905090565b60008060005b8451811015611b4e578363ffffffff16858281518110611ae957611ae96123b4565b60200260200101516000015163ffffffff1603611b4657848181518110611b1257611b126123b4565b602002602001015160200151858281518110611b3057611b306123b4565b6020026020010151604001519250925050611b57565b600101611ac7565b50600080915091505b9250929050565b6040517fa0dd43fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015263ffffffff84166024830152604482018390526000917f00000000000000000000000000000000000000000000000000000000000000009091169063a0dd43fc90606401602060405180830381865afa158015611c22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4691906129da565b9392505050565b60608215611cb7576040517f614cbd8a00000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f2072657665727400000000000000000000000000000000000000000000006044820152606401610c77565b7f8351eea700000000000000000000000000000000000000000000000000000000611ce1836129f7565b7fffffffff000000000000000000000000000000000000000000000000000000001614611d3c57816040517f614cbd8a000000000000000000000000000000000000000000000000000000008152600401610c779190612235565b611d566004808451611d4e9190612a43565b849190611e8d565b905080806020019051810190611c469190612a56565b6000805b8351811015611db8578263ffffffff16848281518110611d9257611d926123b4565b60200260200101516000015163ffffffff1603611db0579050611a25565b600101611d70565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b6000611df1600d60098486612448565b611dfa91612472565b60e01c9392505050565b6000611e14602d600d8486612448565b611c4691612aff565b6000611e2d600960018486612448565b611e3691612b3b565b60c01c9392505050565b6000611df16031602d8486612448565b6000611c46611e5f8484612007565b90565b6000611e14607160518486612448565b366000611e828360718187612448565b915091509250929050565b606081611e9b81601f6129aa565b1015611f03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610c77565b611f0d82846129aa565b84511015611f77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610c77565b606082158015611f965760405191506000825260208201604052611ffe565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611fcf578051835260209283019201611fb7565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6000611e14605160318486612448565b5080546000825560030290600052602060002090810190610c8991905b808211156120785780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001681556000600182018190556002820155600301612034565b5090565b60008083601f84011261208e57600080fd5b50813567ffffffffffffffff8111156120a657600080fd5b6020830191508360208260051b8501011115611b5757600080fd5b600080600080600080606087890312156120da57600080fd5b863567ffffffffffffffff808211156120f257600080fd5b6120fe8a838b0161207c565b9098509650602089013591508082111561211757600080fd5b6121238a838b0161207c565b9096509450604089013591508082111561213c57600080fd5b5061214989828a0161207c565b979a9699509497509295939492505050565b6000806000806040858703121561217157600080fd5b843567ffffffffffffffff8082111561218957600080fd5b6121958883890161207c565b909650945060208701359150808211156121ae57600080fd5b506121bb8782880161207c565b95989497509550505050565b60005b838110156121e25781810151838201526020016121ca565b50506000910152565b600081518084526122038160208601602086016121c7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611c4660208301846121eb565b67ffffffffffffffff81168114610c8957600080fd5b60006020828403121561227057600080fd5b8135611c4681612248565b602080825282518282018190526000919060409081850190868401855b828110156122cd578151805163ffffffff16855286810151878601528501518585015260609093019290850190600101612298565b5091979650505050505050565b6000602082840312156122ec57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114611c4657600080fd5b6000806020838503121561232357600080fd5b823567ffffffffffffffff8082111561233b57600080fd5b818501915085601f83011261234f57600080fd5b81358181111561235e57600080fd5b86602060608302850101111561237357600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261241857600080fd5b83018035915067ffffffffffffffff82111561243357600080fd5b602001915036819003821315611b5757600080fd5b6000808585111561245857600080fd5b8386111561246557600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156124b25780818660040360031b1b83161692505b505092915050565b6000602082840312156124cc57600080fd5b5051919050565b600083516124e58184602088016121c7565b60f09390931b7fffff000000000000000000000000000000000000000000000000000000000000169190920190815260020192915050565b6000855161252f818460208a016121c7565b60e09590951b7fffffffff0000000000000000000000000000000000000000000000000000000016919094019081526004810192909252602482015260440192915050565b63ffffffff81168114610c8957600080fd5b813561259181612574565b63ffffffff81167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000008354161782555060208201356001820155604082013560028201555050565b6040516060810167ffffffffffffffff811182821017156125fb576125fb612385565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561264857612648612385565b604052919050565b6000602080838503121561266357600080fd5b825167ffffffffffffffff8082111561267b57600080fd5b818501915085601f83011261268f57600080fd5b8151818111156126a1576126a1612385565b6126af848260051b01612601565b818152848101925060609182028401850191888311156126ce57600080fd5b938501935b828510156127215780858a0312156126eb5760008081fd5b6126f36125d8565b85516126fe81612574565b8152858701518782015260408087015190820152845293840193928501926126d3565b50979650505050505050565b60006020828403121561273f57600080fd5b81518015158114611c4657600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff80831681810361279b5761279b61274f565b6001019392505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b838110156128fd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08984030185528151610140612831858351805163ffffffff1682526020808201519083015260409081015167ffffffffffffffff16910152565b8882015160606128488188018363ffffffff169052565b89840151915060806128718189018473ffffffffffffffffffffffffffffffffffffffff169052565b9084015160a0888101919091529084015160c08089019190915290840151915060e0906128b58289018473ffffffffffffffffffffffffffffffffffffffff169052565b840151610100880184905291506128ce878401836121eb565b9301518684036101208801529291506128e9905081836121eb565b9689019694505050908601906001016127ce565b509098975050505050505050565b6000825161291d8184602087016121c7565b9190910192915050565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b168152600082516129648160048501602087016121c7565b919091016004019392505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129a3576129a361274f565b5060010190565b80820180821115611a2557611a2561274f565b6000602082840312156129cf57600080fd5b8151611c4681612574565b6000602082840312156129ec57600080fd5b8151611c4681612248565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156118995760049290920360031b82901b161692915050565b81810381811115611a2557611a2561274f565b600060208284031215612a6857600080fd5b815167ffffffffffffffff80821115612a8057600080fd5b818401915084601f830112612a9457600080fd5b815181811115612aa657612aa6612385565b612ad760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612601565b9150808252856020828501011115612aee57600080fd5b611ffe8160208401602086016121c7565b80356020831015611a25577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156124b25760089490940360031b84901b169092169291505056fea2646970667358221220da814a474a6d45420d704e18ad63f897a187c9c1defeaecb87aee4372766388964736f6c63430008160033",
"deployedBytecode": "0x6080604052600436106100dd5760003560e01c80638e9e70991161007f578063bf7b5d7a11610059578063bf7b5d7a1461028d578063f0cd3836146102c1578063f2fde38b146102e1578063f8bcddf61461030157600080fd5b80638e9e709914610236578063afea44ef1461024b578063b9a1f5e71461026b57600080fd5b806352ae2879116100bb57806352ae28791461017b57806354fd4d50146101d4578063715018a6146101f65780638da5cb5b1461020b57600080fd5b806310f9cf3a146100e25780632913daa01461010457806350dfa9371461015b575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046120c1565b610321565b005b34801561011057600080fd5b5060005461013d9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b61016e61016936600461215b565b610539565b6040516101529190612235565b34801561018757600080fd5b506101af7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610152565b3480156101e057600080fd5b5060408051600281526000602082015201610152565b34801561020257600080fd5b506101026105d4565b34801561021757600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166101af565b34801561024257600080fd5b5061016e6105e8565b34801561025757600080fd5b5061010261026636600461225e565b610859565b34801561027757600080fd5b506102806108b4565b604051610152919061227b565b34801561029957600080fd5b506101af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102cd57600080fd5b5061016e6102dc36600461215b565b610933565b3480156102ed57600080fd5b506101026102fc3660046122da565b610bd0565b34801561030d57600080fd5b5061010261031c366004612310565b610c8c565b3361dead1461035c576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061039c8787878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b905060008267ffffffffffffffff8111156103b9576103b9612385565b6040519080825280602002602001820160405280156103e2578160200160208202803683370190505b50905060008367ffffffffffffffff81111561040057610400612385565b60405190808252806020026020018201604052801561043357816020015b606081526020019060019003908161041e5790505b50905060005b8481101561051857366000878784818110610456576104566123b4565b905060200281019061046891906123e3565b909250905061047b600460008385612448565b61048491612472565b60e01c858481518110610499576104996123b4565b63ffffffff909216602092830291909101909101526104bb8160048185612448565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505086518792508691508110610503576105036123b4565b60209081029190910101525050600101610439565b506105238383610e6a565b61052e838383610f54565b505050505050505050565b60603361dead14610576576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006105b68686868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b90506105c1816110d2565b6105ca8161137d565b9695505050505050565b6105dc6114e4565b6105e66000611565565b565b6001546060907f000000000000000000000000000000000000000000000000000000000000000090819060009067ffffffffffffffff81111561062d5761062d612385565b60405190808252806020026020018201604052801561068857816020015b6106756040518060600160405280600063ffffffff16815260200160008152602001600081525090565b81526020019060019003908161064b5790505b50905060005b600154811015610830576000600182815481106106ad576106ad6123b4565b600091825260209182902060039190910201546040805160608101825263ffffffff90921680835290517f56a4728900000000000000000000000000000000000000000000000000000000815260048101829052909350909182019073ffffffffffffffffffffffffffffffffffffffff8716906356a4728990602401602060405180830381865afa158015610747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076b91906124ba565b81526040517f622f17f600000000000000000000000000000000000000000000000000000000815263ffffffff8416600482015260209091019073ffffffffffffffffffffffffffffffffffffffff87169063622f17f690602401602060405180830381865afa1580156107e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080791906124ba565b81525083838151811061081c5761081c6123b4565b60209081029190910101525060010161068e565b5080604051602001610842919061227b565b604051602081830303815290604052935050505090565b6108616114e4565b6000805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60606001805480602002602001604051908101604052809291908181526020016000905b8282101561092a5760008481526020908190206040805160608101825260038602909201805463ffffffff168352600180820154848601526002909101549183019190915290835290920191016108d8565b50505050905090565b60603361dead14610970576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040517e0200000000000000000000000000000000000000000000000000000000000060208201527401000000000000000000000000000000000000000090910460c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166022820152602a01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060008515610a6557610a60610a5b8888888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b6115da565b610ade565b6001805480602002602001604051908101604052809291908181526020016000905b82821015610ad95760008481526020908190206040805160608101825260038602909201805463ffffffff16835260018082015484860152600290910154918301919091529083529092019101610a87565b505050505b805190915015610bc6578051604051610afd90849083906020016124d3565b604051602081830303815290604052925060005b8161ffff16811015610bc35783838281518110610b3057610b306123b4565b602002602001015160000151848381518110610b4e57610b4e6123b4565b602002602001015160200151858481518110610b6c57610b6c6123b4565b602002602001015160400151604051602001610b8b949392919061251d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529350600101610b11565b50505b5095945050505050565b610bd86114e4565b73ffffffffffffffffffffffffffffffffffffffff8116610c80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610c8981611565565b50565b610c946114e4565b610ca060016000612017565b60005b81811015610cf7576001838383818110610cbf57610cbf6123b4565b835460018101855560009485526020909420606090910292909201926003029091019050610ced8282612586565b5050600101610ca3565b505050565b60608267ffffffffffffffff811115610d1757610d17612385565b604051908082528060200260200182016040528015610dbd57816020015b604080516101608101825260006101008201818152610120830182905261014083018290528252602080830182905292820181905260608083018290526080830182905260a083019190915260c0820181905260e082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610d355790505b50905060005b83811015610e6257366000868684818110610de057610de06123b4565b9050602002810190610df291906123e3565b91509150610e0082826118a1565b848481518110610e1257610e126123b4565b6020026020010181905250848381518110610e2f57610e2f6123b4565b6020026020010151848481518110610e4957610e496123b4565b6020908102919091010151608001525050600101610dc3565b509392505050565b815115610f00576000610e7c836115da565b905060005b8151811015610efd576000828281518110610e9e57610e9e6123b4565b6020026020010151600001519050610eb684826119d4565b610ef4576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610c77565b50600101610e81565b50505b6000610f0a611a2b565b9050610f1682826119d4565b610cf7576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610c77565b6000610f5e611a2b565b9050606060005b8451811015610fd6578263ffffffff16858281518110610f8757610f876123b4565b602002602001015163ffffffff1603610fce57838181518110610fac57610fac6123b4565b6020026020010151806020019051810190610fc79190612650565b9150610fd6565b600101610f65565b5060005b84518110156110ca576000858281518110610ff757610ff76123b4565b602002602001015190506000858381518110611015576110156123b4565b60200260200101518060200190518101906110309190612650565b9050600061103e8584611ac1565b509050600061104d8388611ac1565b915050808211156110ba576040517f1915975700000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f696e626f756e64436f756e74203e206f7574626f756e64436f756e74000000006044820152606401610c77565b505060019092019150610fda9050565b505050505050565b60005481517401000000000000000000000000000000000000000090910467ffffffffffffffff1610156111605760005481516040517f9db086050000000000000000000000000000000000000000000000000000000081527401000000000000000000000000000000000000000090920467ffffffffffffffff1660048301526024820152604401610c77565b805115610c895760008080805b845181101561137657600085828151811061118a5761118a6123b4565b602090810291909101810151805180519201516040517f5a0dfe4d00000000000000000000000000000000000000000000000000000000815263ffffffff9093166004840152602483015291507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635a0dfe4d90604401602060405180830381865afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611259919061272d565b611263575061136e565b80515163ffffffff80871691161080611295575080515163ffffffff8681169116148015611295575080516020015184115b156112cc576040517f50823c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80515163ffffffff86811691161415806112eb57508051602001518414155b1561130c578051805160209091015190955093506113098585611b5e565b92505b6113158361277e565b92508267ffffffffffffffff1681600001516040015167ffffffffffffffff161461136c576040517f50823c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b60010161116d565b5050505050565b60606000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163463bd815db060e01b866040516024016113d391906127a5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161145c919061290b565b60006040518083038185875af1925050503d8060008114611499576040519150601f19603f3d011682016040523d82523d6000602084013e61149e565b606091505b509150915060006114af8383611c4d565b90506114b9611a2b565b816040516020016114cb929190612927565b6040516020818303038152906040529350505050919050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c77565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060006001805480602002602001604051908101604052809291908181526020016000905b828210156116525760008481526020908190206040805160608101825260038602909201805463ffffffff16835260018082015484860152600290910154918301919091529083529092019101611600565b5050505090506000835167ffffffffffffffff81111561167457611674612385565b6040519080825280602002602001820160405280156116dd57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816116925790505b5090507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005b85518110156117af576000868281518110611721576117216123b4565b602002602001015160000151600001519050600061173f8683611d6c565b90506000811215801561175b575060006117598684611d6c565b125b156117a5578361176a81612972565b94505085818151811061177f5761177f6123b4565b6020026020010151858581518110611799576117996123b4565b60200260200101819052505b5050600101611704565b50600081126118995760006117c58260016129aa565b90508067ffffffffffffffff8111156117e0576117e0612385565b60405190808252806020026020018201604052801561184957816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816117fe5790505b50945060005b8181101561189657838181518110611869576118696123b4565b6020026020010151868281518110611883576118836123b4565b602090810291909101015260010161184f565b50505b505050919050565b6040805161016081018252600061010082018181526101208301829052610140830182905282526020820181905291810182905260608082018390526080820183905260a082019290925260c0810182905260e081019190915260405180606001604052806119108585611de1565b63ffffffff1681526020016119258585611e04565b81526020016119348585611e1d565b67ffffffffffffffff169052815261194c8383611e40565b63ffffffff1660208201526119618383611e50565b73ffffffffffffffffffffffffffffffffffffffff1660408201526119868383611e62565b60608201526119958383611e72565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c082015292915050565b6000805b8351811015611a1f578263ffffffff168482815181106119fa576119fa6123b4565b602002602001015163ffffffff1603611a17576001915050611a25565b6001016119d8565b50600090505b92915050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abc91906129bd565b905090565b60008060005b8451811015611b4e578363ffffffff16858281518110611ae957611ae96123b4565b60200260200101516000015163ffffffff1603611b4657848181518110611b1257611b126123b4565b602002602001015160200151858281518110611b3057611b306123b4565b6020026020010151604001519250925050611b57565b600101611ac7565b50600080915091505b9250929050565b6040517fa0dd43fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015263ffffffff84166024830152604482018390526000917f00000000000000000000000000000000000000000000000000000000000000009091169063a0dd43fc90606401602060405180830381865afa158015611c22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4691906129da565b9392505050565b60608215611cb7576040517f614cbd8a00000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f2072657665727400000000000000000000000000000000000000000000006044820152606401610c77565b7f8351eea700000000000000000000000000000000000000000000000000000000611ce1836129f7565b7fffffffff000000000000000000000000000000000000000000000000000000001614611d3c57816040517f614cbd8a000000000000000000000000000000000000000000000000000000008152600401610c779190612235565b611d566004808451611d4e9190612a43565b849190611e8d565b905080806020019051810190611c469190612a56565b6000805b8351811015611db8578263ffffffff16848281518110611d9257611d926123b4565b60200260200101516000015163ffffffff1603611db0579050611a25565b600101611d70565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b6000611df1600d60098486612448565b611dfa91612472565b60e01c9392505050565b6000611e14602d600d8486612448565b611c4691612aff565b6000611e2d600960018486612448565b611e3691612b3b565b60c01c9392505050565b6000611df16031602d8486612448565b6000611c46611e5f8484612007565b90565b6000611e14607160518486612448565b366000611e828360718187612448565b915091509250929050565b606081611e9b81601f6129aa565b1015611f03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610c77565b611f0d82846129aa565b84511015611f77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610c77565b606082158015611f965760405191506000825260208201604052611ffe565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611fcf578051835260209283019201611fb7565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6000611e14605160318486612448565b5080546000825560030290600052602060002090810190610c8991905b808211156120785780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001681556000600182018190556002820155600301612034565b5090565b60008083601f84011261208e57600080fd5b50813567ffffffffffffffff8111156120a657600080fd5b6020830191508360208260051b8501011115611b5757600080fd5b600080600080600080606087890312156120da57600080fd5b863567ffffffffffffffff808211156120f257600080fd5b6120fe8a838b0161207c565b9098509650602089013591508082111561211757600080fd5b6121238a838b0161207c565b9096509450604089013591508082111561213c57600080fd5b5061214989828a0161207c565b979a9699509497509295939492505050565b6000806000806040858703121561217157600080fd5b843567ffffffffffffffff8082111561218957600080fd5b6121958883890161207c565b909650945060208701359150808211156121ae57600080fd5b506121bb8782880161207c565b95989497509550505050565b60005b838110156121e25781810151838201526020016121ca565b50506000910152565b600081518084526122038160208601602086016121c7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611c4660208301846121eb565b67ffffffffffffffff81168114610c8957600080fd5b60006020828403121561227057600080fd5b8135611c4681612248565b602080825282518282018190526000919060409081850190868401855b828110156122cd578151805163ffffffff16855286810151878601528501518585015260609093019290850190600101612298565b5091979650505050505050565b6000602082840312156122ec57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114611c4657600080fd5b6000806020838503121561232357600080fd5b823567ffffffffffffffff8082111561233b57600080fd5b818501915085601f83011261234f57600080fd5b81358181111561235e57600080fd5b86602060608302850101111561237357600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261241857600080fd5b83018035915067ffffffffffffffff82111561243357600080fd5b602001915036819003821315611b5757600080fd5b6000808585111561245857600080fd5b8386111561246557600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156124b25780818660040360031b1b83161692505b505092915050565b6000602082840312156124cc57600080fd5b5051919050565b600083516124e58184602088016121c7565b60f09390931b7fffff000000000000000000000000000000000000000000000000000000000000169190920190815260020192915050565b6000855161252f818460208a016121c7565b60e09590951b7fffffffff0000000000000000000000000000000000000000000000000000000016919094019081526004810192909252602482015260440192915050565b63ffffffff81168114610c8957600080fd5b813561259181612574565b63ffffffff81167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000008354161782555060208201356001820155604082013560028201555050565b6040516060810167ffffffffffffffff811182821017156125fb576125fb612385565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561264857612648612385565b604052919050565b6000602080838503121561266357600080fd5b825167ffffffffffffffff8082111561267b57600080fd5b818501915085601f83011261268f57600080fd5b8151818111156126a1576126a1612385565b6126af848260051b01612601565b818152848101925060609182028401850191888311156126ce57600080fd5b938501935b828510156127215780858a0312156126eb5760008081fd5b6126f36125d8565b85516126fe81612574565b8152858701518782015260408087015190820152845293840193928501926126d3565b50979650505050505050565b60006020828403121561273f57600080fd5b81518015158114611c4657600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff80831681810361279b5761279b61274f565b6001019392505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b838110156128fd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08984030185528151610140612831858351805163ffffffff1682526020808201519083015260409081015167ffffffffffffffff16910152565b8882015160606128488188018363ffffffff169052565b89840151915060806128718189018473ffffffffffffffffffffffffffffffffffffffff169052565b9084015160a0888101919091529084015160c08089019190915290840151915060e0906128b58289018473ffffffffffffffffffffffffffffffffffffffff169052565b840151610100880184905291506128ce878401836121eb565b9301518684036101208801529291506128e9905081836121eb565b9689019694505050908601906001016127ce565b509098975050505050505050565b6000825161291d8184602087016121c7565b9190910192915050565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b168152600082516129648160048501602087016121c7565b919091016004019392505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129a3576129a361274f565b5060010190565b80820180821115611a2557611a2561274f565b6000602082840312156129cf57600080fd5b8151611c4681612574565b6000602082840312156129ec57600080fd5b8151611c4681612248565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156118995760049290920360031b82901b161692915050565b81810381811115611a2557611a2561274f565b600060208284031215612a6857600080fd5b815167ffffffffffffffff80821115612a8057600080fd5b818401915084601f830112612a9457600080fd5b815181811115612aa657612aa6612385565b612ad760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612601565b9150808252856020828501011115612aee57600080fd5b611ffe8160208401602086016121c7565b80356020831015611a25577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156124b25760089490940360031b84901b169092169291505056fea2646970667358221220da814a474a6d45420d704e18ad63f897a187c9c1defeaecb87aee4372766388964736f6c63430008160033",
"linkReferences": {},
"deployedLinkReferences": {}
}
{
"name": "@layerzerolabs/lz-evm-oapp-v2",
"version": "2.1.16",
"version": "2.1.17",
"license": "MIT",

@@ -14,5 +14,5 @@ "files": [

"devDependencies": {
"@layerzerolabs/lz-evm-messagelib-v2": "^2.1.16",
"@layerzerolabs/lz-evm-protocol-v2": "^2.1.16",
"@layerzerolabs/lz-evm-v1-0.7": "^2.1.16",
"@layerzerolabs/lz-evm-messagelib-v2": "^2.1.17",
"@layerzerolabs/lz-evm-protocol-v2": "^2.1.17",
"@layerzerolabs/lz-evm-v1-0.7": "^2.1.17",
"@openzeppelin/contracts": "^4.8.1",

@@ -25,5 +25,5 @@ "@openzeppelin/contracts-upgradeable": "^4.8.1",

"peerDependencies": {
"@layerzerolabs/lz-evm-messagelib-v2": "^2.1.16",
"@layerzerolabs/lz-evm-protocol-v2": "^2.1.16",
"@layerzerolabs/lz-evm-v1-0.7": "^2.1.16",
"@layerzerolabs/lz-evm-messagelib-v2": "^2.1.17",
"@layerzerolabs/lz-evm-protocol-v2": "^2.1.17",
"@layerzerolabs/lz-evm-v1-0.7": "^2.1.17",
"@openzeppelin/contracts": "^4.8.1 || ^5.0.0",

@@ -30,0 +30,0 @@ "@openzeppelin/contracts-upgradeable": "^4.8.1 || ^5.0.0",

Sorry, the diff of this file is not supported yet

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