@layerzerolabs/lz-evm-sdk-v2 2.0.12 → 2.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/artifacts/contracts/EndpointV2.sol/EndpointV2.json +21 -14
  2. package/artifacts/contracts/EndpointV2Alt.sol/EndpointV2Alt.json +21 -14
  3. package/artifacts/contracts/Executor.sol/Executor.json +2 -2
  4. package/artifacts/contracts/ExecutorFeeLib.sol/ExecutorFeeLib.json +2 -2
  5. package/artifacts/contracts/MessageLibManager.sol/MessageLibManager.json +0 -12
  6. package/artifacts/contracts/PriceFeed.sol/PriceFeed.json +2 -2
  7. package/artifacts/contracts/Treasury.sol/Treasury.json +2 -2
  8. package/artifacts/contracts/interfaces/ILayerZeroEndpointV2.sol/ILayerZeroEndpointV2.json +19 -12
  9. package/artifacts/contracts/interfaces/IMessageLibManager.sol/IMessageLibManager.json +0 -12
  10. package/artifacts/contracts/messagelib/BlockedMessageLib.sol/BlockedMessageLib.json +2 -2
  11. package/artifacts/contracts/messagelib/SimpleMessageLib.sol/SimpleMessageLib.json +2 -2
  12. package/artifacts/contracts/messagelib/libs/PacketV1Codec.sol/PacketV1Codec.json +2 -2
  13. package/artifacts/contracts/oapp/examples/OmniCounter.sol/MsgCodec.json +2 -2
  14. package/artifacts/contracts/oapp/examples/OmniCounter.sol/OmniCounter.json +2 -2
  15. package/artifacts/contracts/oapp/examples/OmniCounterPreCrime.sol/OmniCounterPreCrime.json +2 -2
  16. package/artifacts/contracts/oft/OFT.sol/OFT.json +2 -2
  17. package/artifacts/contracts/oft/OFTAdapter.sol/OFTAdapter.json +2 -2
  18. package/artifacts/contracts/precrime/libs/Packet.sol/PacketDecoder.json +2 -2
  19. package/artifacts/contracts/uln/LzExecutor.sol/LzExecutor.json +2 -2
  20. package/artifacts/contracts/uln/dvn/DVN.sol/DVN.json +2 -2
  21. package/artifacts/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapter.sol/CCIPDVNAdapter.json +2 -2
  22. package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/AxelarDVNAdapter.json +2 -2
  23. package/artifacts/contracts/uln/uln301/ReceiveUln301.sol/ReceiveUln301.json +2 -2
  24. package/artifacts/contracts/uln/uln301/SendUln301.sol/SendUln301.json +2 -2
  25. package/artifacts/contracts/uln/uln302/ReceiveUln302.sol/ReceiveUln302.json +2 -2
  26. package/artifacts/contracts/uln/uln302/SendUln302.sol/SendUln302.json +2 -2
  27. package/deployments/bb1-mainnet/PriceFeed.json +891 -0
  28. package/deployments/bb1-mainnet/PriceFeedProxyAdmin.json +284 -0
  29. package/deployments/bb1-mainnet/PriceFeed_Implementation.json +913 -0
  30. package/deployments/bb1-mainnet/PriceFeed_Proxy.json +245 -0
  31. package/deployments/kiwi2-testnet/PriceFeed.json +30 -30
  32. package/deployments/kiwi2-testnet/PriceFeedProxyAdmin.json +16 -16
  33. package/deployments/kiwi2-testnet/PriceFeed_Implementation.json +9 -9
  34. package/deployments/kiwi2-testnet/PriceFeed_Proxy.json +29 -29
  35. package/dist/{index-pO8kCANF.d.mts → index-a-x9ryaD.d.mts} +134 -120
  36. package/dist/{index-pO8kCANF.d.ts → index-a-x9ryaD.d.ts} +134 -120
  37. package/dist/index.browser.cjs +77 -80
  38. package/dist/index.browser.cjs.map +1 -1
  39. package/dist/index.browser.d.mts +1 -1
  40. package/dist/index.browser.d.ts +1 -1
  41. package/dist/index.browser.mjs +77 -80
  42. package/dist/index.browser.mjs.map +1 -1
  43. package/dist/index.cjs +77 -80
  44. package/dist/index.cjs.map +1 -1
  45. package/dist/index.d.mts +1 -1
  46. package/dist/index.d.ts +1 -1
  47. package/dist/index.mjs +77 -80
  48. package/dist/index.mjs.map +1 -1
  49. package/package.json +8 -8
@@ -695,8 +695,8 @@
695
695
  "type": "function"
696
696
  }
697
697
  ],
698
- "bytecode": "0x60c06040523480156200001157600080fd5b5060405162002eee38038062002eee833981016040819052620000349162000116565b8080816001600160a01b031663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000075573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009b919062000148565b620000a633620000c6565b6001600160a01b0390911660805263ffffffff1660a05250620001709050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200012957600080fd5b81516001600160a01b03811681146200014157600080fd5b9392505050565b6000602082840312156200015b57600080fd5b815163ffffffff811681146200014157600080fd5b60805160a051612d3c620001b2600039600081816103410152610636015260008181610465015281816104ce0152818161158001526116720152612d3c6000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80633c782a5211610097578063715018a611610066578063715018a6146102695780638da5cb5b146102715780639c33abf714610299578063f2fde38b146102b957600080fd5b80633c782a52146101be57806343ea4fa91461022357806354fd4d50146102365780636750cd4c1461025657600080fd5b806320efd722116100d357806320efd7221461016557806327d12cd91461017857806329460b0b1461018b57806339e3f9381461019e57600080fd5b806301ffc9a7146101055780630223536e1461012d5780630894edf1146101425780631881d94d14610155575b600080fd5b610118610113366004611f50565b6102cc565b60405190151581526020015b60405180910390f35b61014061013b366004611ff8565b610328565b005b610140610150366004612055565b61033a565b60015b60405161012491906120d8565b610140610173366004612154565b6104cc565b610158610186366004612055565b61062d565b6101406101993660046121a7565b6106db565b6101b16101ac3660046121fd565b6108c0565b60405161012491906122eb565b6102036101cc3660046122fe565b600260209081526000938452604080852082529284528284209052825290205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff909116602083015201610124565b6101b16102313660046121fd565b610a61565b604080516003815260006020820152600291810191909152606001610124565b610118610264366004612333565b610e1b565b610140610e26565b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610124565b6102ac6102a736600461234e565b610e3a565b6040516101249190612388565b6101406102c73660046123f5565b610ed3565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2d669246000000000000000000000000000000000000000000000000000000001480610322575061032282610f8a565b92915050565b61033484848484611021565b50505050565b61036583837f0000000000000000000000000000000000000000000000000000000000000000611135565b60006103718484611208565b9050600061037f858561121a565b9050600061038d8383610a61565b90506103b18187876040516103a3929190612410565b60405180910390208661123d565b600060405180606001604052808463ffffffff1681526020016103d489896113ec565b81526020016103e38989611405565b67ffffffffffffffff908116909152604080517fa825d747000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff8681166064830152608482018890529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a825d7479060a401600060405180830381600087803b1580156104ab57600080fd5b505af11580156104bf573d6000803e3d6000fd5b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16331461053b576040517f7eb966c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610334573683838381811061055957610559612420565b905060200281019061056b919061244f565b905061058261057d6020830183612333565b611428565b60026105946040830160208401612333565b63ffffffff16036105d4576105cf6105af6020830183612333565b866105bd604085018561248d565b8101906105ca91906126d1565b61146f565b610624565b6105e46040820160208301612333565b6040517f3018cc2b00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b5060010161053e565b600061065a84847f0000000000000000000000000000000000000000000000000000000000000000611135565b60006106668585611208565b90506000610674868661121a565b905061068381838888886114c5565b610692576002925050506106d4565b6106bd61069f8383610a61565b87876040516106af929190612410565b6040518091039020866116fb565b156106cd576001925050506106d4565b6000925050505b9392505050565b6106e3611804565b60005b81811015610882573683838381811061070157610701612420565b9050602002810190610713919061270e565b905060ff6107246020830183612742565b610735906040810190602001612776565b60ff160361076f576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff61077e6020830183612742565b61078f906060810190604001612776565b60ff16036107c9576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff6107df6020830183612742565b6107ed906020810190612791565b67ffffffffffffffff160361082e576040517f8f6ae8f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61084c61083e6020830183612742565b610847906127ac565b611885565b610879600061085e6020840184612333565b61086b6020850185612742565b610874906127ac565b6118d6565b506001016106e6565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b56082826040516108b4929190612868565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a010000000000000000000090910416606082015292810180548551818502810185019096528086529394919360808601938301828280156109e157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109b6575b5050505050815260200160028201805480602002602001604051908101604052809291908181526020018280548015610a5057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a25575b505050505081525050905092915050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610b1157825467ffffffffffffffff168452610b30565b67ffffffffffffffff81811614610b305767ffffffffffffffff811684525b815468010000000000000000900460ff16610be657825468010000000000000000900460ff1615610be15782600101805480602002602001604051908101604052809291908181526020018280548015610bc057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b95575b50505050506080850152825468010000000000000000900460ff1660208501525b610c84565b815468010000000000000000900460ff90811614610c845781600101805480602002602001604051908101604052809291908181526020018280548015610c6357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c38575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610d535782546901000000000000000000900460ff1615610d4e5782600201805480602002602001604051908101604052809291908181526020018280548015610d1657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610ceb575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e09565b81546901000000000000000000900460ff90811614610e095781600201805480602002602001604051908101604052809291908181526020018280548015610dd157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610da6575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e1284611885565b50505092915050565b600061032282611c6a565b610e2e611804565b610e386000611cd1565b565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff831601610e9957610e738385610a61565b604051602001610e8391906122eb565b60405160208183030381529060405290506106d4565b6040517f3018cc2b00000000000000000000000000000000000000000000000000000000815263ffffffff8316600482015260240161061b565b610edb611804565b73ffffffffffffffffffffffffffffffffffffffff8116610f7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161061b565b610f8781611cd1565b50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f0258400000000000000000000000000000000000000000000000000000000148061032257507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610322565b6040805180820182526001815267ffffffffffffffff8316602082015290516002906000906110539088908890612410565b6040805191829003909120825260208083019390935290810160009081208682528352818120338083529084529082902084518154959094015167ffffffffffffffff16610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921790925590517f2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab5691611127918790879086908890612a05565b60405180910390a150505050565b6051821461116f576040517f0666bafd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600161117b8484611d46565b60ff16146111b5576040517f28fac06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8063ffffffff166111c68484611d68565b63ffffffff1614611203576040517f9a61cd2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60006106d46112178484611d78565b90565b600061122a600d60098486612a8a565b61123391612ab4565b60e01c9392505050565b6112488383836116fb565b61127e576040517f692c93cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602083015160ff16156113365760005b836020015160ff168160ff16101561133457600083815260026020908152604080832085845290915281206080860151805191929160ff85169081106112d6576112d6612420565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000016905560010161128e565b505b604083015160ff16156112035760005b836040015160ff168160ff161015610334576000838152600260209081526040808320858452909152812060a0860151805191929160ff851690811061138e5761138e612420565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000169055600101611346565b60006113fc602d600d8486612a8a565b6106d491612afc565b6000611415600960018486612a8a565b61141e91612b38565b60c01c9392505050565b61143181611c6a565b610f87576040517f2146a07a00000000000000000000000000000000000000000000000000000000815263ffffffff8216600482015260240161061b565b61147a8284836118d6565b6114848284610a61565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f50818284836040516114b893929190612b7e565b60405180910390a1505050565b60008060405180606001604052808863ffffffff1681526020016114e987876113ec565b81526020016114f88787611405565b67ffffffffffffffff908116909152604080517fe1e3a7df000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff888116606483015230608483015260a482018690529192507f00000000000000000000000000000000000000000000000000000000000000009091169063e1e3a7df9060c401602060405180830381865afa1580156115c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ed9190612bb9565b6115fb5760009150506116f2565b8051602082015160408084015190517fc9fc7bcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a8116600483015263ffffffff9094166024820152604481019290925267ffffffffffffffff16606482015284917f0000000000000000000000000000000000000000000000000000000000000000169063c9fc7bcd90608401602060405180830381865afa1580156116b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116dd9190612bdb565b036116ec5760009150506116f2565b60019150505b95945050505050565b602083015160009060ff161561177e5760005b846020015160ff168160ff1610156117665761175085608001518260ff168151811061173c5761173c612420565b602002602001015185858860000151611d88565b61175e5760009150506106d4565b60010161170e565b50836040015160ff1660000361177e575060016106d4565b606084015160005b856040015160ff168160ff1610156117f8576117c88660a001518260ff16815181106117b4576117b4612420565b602002602001015186868960000151611d88565b156117f057816117d781612c23565b9250508160ff166000036117f0576001925050506106d4565b600101611786565b50600095945050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e38576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161061b565b602081015160ff1615801561189f5750606081015160ff16155b15610f87576040517f7e36c28400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff90811614806118f15750602081015160ff16155b156119385760808101515115611933576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119b7565b806020015160ff168160800151511415806119735750600261195c600160ff612c5e565b6119669190612c77565b60ff16816020015160ff16115b156119aa576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119b78160800151611e17565b604081015160ff90811614806119d25750604081015160ff16155b15611a585760a08101515115611a14576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615611a53576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b2f565b806040015160ff168160a0015151141580611a9357506002611a7c600160ff612c5e565b611a869190612c77565b60ff16816040015160ff16115b15611aca576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff161580611aeb5750806040015160ff16816060015160ff16115b15611b22576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b2f8160a00151611e17565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a0100000000000000000000959091169490940293909317835560808401518051859493611c4693908501920190611eb1565b5060a08201518051611c62916002840191602090910190611eb1565b505050505050565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff161515806106d45750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611d556001828486612a8a565b611d5e91612cc0565b60f81c9392505050565b600061122a6031602d8486612a8a565b60006113fc605160318486612a8a565b6000838152600260209081526040808320858452825280832073ffffffffffffffffffffffffffffffffffffffff88168452825280832081518083019092525460ff811615801580845261010090920467ffffffffffffffff16938301939093529091611e0d57508267ffffffffffffffff16816020015167ffffffffffffffff1610155b9695505050505050565b6000805b8251811015611203576000838281518110611e3857611e38612420565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611611ea7576040517fa228a30b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9150600101611e1b565b828054828255906000526020600020908101928215611f2b579160200282015b82811115611f2b57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611ed1565b50611f37929150611f3b565b5090565b5b80821115611f375760008155600101611f3c565b600060208284031215611f6257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146106d457600080fd5b60008083601f840112611fa457600080fd5b50813567ffffffffffffffff811115611fbc57600080fd5b602083019150836020828501011115611fd457600080fd5b9250929050565b803567ffffffffffffffff81168114611ff357600080fd5b919050565b6000806000806060858703121561200e57600080fd5b843567ffffffffffffffff81111561202557600080fd5b61203187828801611f92565b9095509350506020850135915061204a60408601611fdb565b905092959194509250565b60008060006040848603121561206a57600080fd5b833567ffffffffffffffff81111561208157600080fd5b61208d86828701611f92565b909790965060209590950135949350505050565b60038110610f87577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b602081016120e5836120a1565b91905290565b803573ffffffffffffffffffffffffffffffffffffffff81168114611ff357600080fd5b60008083601f84011261212157600080fd5b50813567ffffffffffffffff81111561213957600080fd5b6020830191508360208260051b8501011115611fd457600080fd5b60008060006040848603121561216957600080fd5b612172846120eb565b9250602084013567ffffffffffffffff81111561218e57600080fd5b61219a8682870161210f565b9497909650939450505050565b600080602083850312156121ba57600080fd5b823567ffffffffffffffff8111156121d157600080fd5b6121dd8582860161210f565b90969095509350505050565b803563ffffffff81168114611ff357600080fd5b6000806040838503121561221057600080fd5b612219836120eb565b9150612227602084016121e9565b90509250929050565b60008151808452602080850194506020840160005b8381101561227757815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101612245565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c060808501526122d260c0850182612230565b905060a083015184820360a08601526116f28282612230565b6020815260006106d46020830184612282565b60008060006060848603121561231357600080fd5b833592506020840135915061232a604085016120eb565b90509250925092565b60006020828403121561234557600080fd5b6106d4826121e9565b60008060006060848603121561236357600080fd5b61236c846121e9565b925061237a602085016120eb565b915061232a604085016121e9565b60006020808352835180602085015260005b818110156123b65785810183015185820160400152820161239a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60006020828403121561240757600080fd5b6106d4826120eb565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261248357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124c257600080fd5b83018035915067ffffffffffffffff8211156124dd57600080fd5b602001915036819003821315611fd457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612544576125446124f2565b60405290565b803560ff81168114611ff357600080fd5b600082601f83011261256c57600080fd5b8135602067ffffffffffffffff80831115612589576125896124f2565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811084821117156125cc576125cc6124f2565b60405293845260208187018101949081019250878511156125ec57600080fd5b6020870191505b8482101561261357612604826120eb565b835291830191908301906125f3565b979650505050505050565b600060c0828403121561263057600080fd5b612638612521565b905061264382611fdb565b81526126516020830161254a565b60208201526126626040830161254a565b60408201526126736060830161254a565b6060820152608082013567ffffffffffffffff8082111561269357600080fd5b61269f8583860161255b565b608084015260a08401359150808211156126b857600080fd5b506126c58482850161255b565b60a08301525092915050565b6000602082840312156126e357600080fd5b813567ffffffffffffffff8111156126fa57600080fd5b6127068482850161261e565b949350505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261248357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4183360301811261248357600080fd5b60006020828403121561278857600080fd5b6106d48261254a565b6000602082840312156127a357600080fd5b6106d482611fdb565b6000610322368361261e565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126127ed57600080fd5b830160208101925035905067ffffffffffffffff81111561280d57600080fd5b8060051b3603821315611fd457600080fd5b8183526000602080850194508260005b858110156122775773ffffffffffffffffffffffffffffffffffffffff612855836120eb565b168752958201959082019060010161282f565b60208082528181018390526000906040808401600586901b8501820187855b888110156129f7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c36030181126128e957600080fd5b8b0163ffffffff6128f9826121e9565b168552878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4182360301811261293057600080fd5b8589018890520167ffffffffffffffff61294982611fdb565b168786015261295988820161254a565b606060ff8083168289015261296f8a850161254a565b92506080818416818a015261298583860161254a565b935060a09250818416838a015261299e818601866127b8565b60c08b810152945091506129b990506101008901848361281f565b9250506129c8818401846127b8565b93509050838783030160e08801526129e182848361281f565b978a019796505050928701925050600101612887565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152836080820152838560a0830137600060a08583010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116830101905067ffffffffffffffff841660408301528260608301529695505050505050565b60008085851115612a9a57600080fd5b83861115612aa757600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612af45780818660040360031b1b83161692505b505092915050565b80356020831015610322577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008135818116916008851015612af45760089490940360031b84901b1690921692915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006116f26060830184612282565b600060208284031215612bcb57600080fd5b815180151581146106d457600080fd5b600060208284031215612bed57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060ff821680612c3657612c36612bf4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b60ff828116828216039081111561032257610322612bf4565b600060ff831680612cb1577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015612af45760019490940360031b84901b169092169291505056fea26469706673582212206b6899baa218c22638dee2c37f1b9e14a48b4302de3e54e8a2621908ca72d99564736f6c63430008160033",
699
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c80633c782a5211610097578063715018a611610066578063715018a6146102695780638da5cb5b146102715780639c33abf714610299578063f2fde38b146102b957600080fd5b80633c782a52146101be57806343ea4fa91461022357806354fd4d50146102365780636750cd4c1461025657600080fd5b806320efd722116100d357806320efd7221461016557806327d12cd91461017857806329460b0b1461018b57806339e3f9381461019e57600080fd5b806301ffc9a7146101055780630223536e1461012d5780630894edf1146101425780631881d94d14610155575b600080fd5b610118610113366004611f50565b6102cc565b60405190151581526020015b60405180910390f35b61014061013b366004611ff8565b610328565b005b610140610150366004612055565b61033a565b60015b60405161012491906120d8565b610140610173366004612154565b6104cc565b610158610186366004612055565b61062d565b6101406101993660046121a7565b6106db565b6101b16101ac3660046121fd565b6108c0565b60405161012491906122eb565b6102036101cc3660046122fe565b600260209081526000938452604080852082529284528284209052825290205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff909116602083015201610124565b6101b16102313660046121fd565b610a61565b604080516003815260006020820152600291810191909152606001610124565b610118610264366004612333565b610e1b565b610140610e26565b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610124565b6102ac6102a736600461234e565b610e3a565b6040516101249190612388565b6101406102c73660046123f5565b610ed3565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2d669246000000000000000000000000000000000000000000000000000000001480610322575061032282610f8a565b92915050565b61033484848484611021565b50505050565b61036583837f0000000000000000000000000000000000000000000000000000000000000000611135565b60006103718484611208565b9050600061037f858561121a565b9050600061038d8383610a61565b90506103b18187876040516103a3929190612410565b60405180910390208661123d565b600060405180606001604052808463ffffffff1681526020016103d489896113ec565b81526020016103e38989611405565b67ffffffffffffffff908116909152604080517fa825d747000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff8681166064830152608482018890529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a825d7479060a401600060405180830381600087803b1580156104ab57600080fd5b505af11580156104bf573d6000803e3d6000fd5b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16331461053b576040517f7eb966c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610334573683838381811061055957610559612420565b905060200281019061056b919061244f565b905061058261057d6020830183612333565b611428565b60026105946040830160208401612333565b63ffffffff16036105d4576105cf6105af6020830183612333565b866105bd604085018561248d565b8101906105ca91906126d1565b61146f565b610624565b6105e46040820160208301612333565b6040517f3018cc2b00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b5060010161053e565b600061065a84847f0000000000000000000000000000000000000000000000000000000000000000611135565b60006106668585611208565b90506000610674868661121a565b905061068381838888886114c5565b610692576002925050506106d4565b6106bd61069f8383610a61565b87876040516106af929190612410565b6040518091039020866116fb565b156106cd576001925050506106d4565b6000925050505b9392505050565b6106e3611804565b60005b81811015610882573683838381811061070157610701612420565b9050602002810190610713919061270e565b905060ff6107246020830183612742565b610735906040810190602001612776565b60ff160361076f576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff61077e6020830183612742565b61078f906060810190604001612776565b60ff16036107c9576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff6107df6020830183612742565b6107ed906020810190612791565b67ffffffffffffffff160361082e576040517f8f6ae8f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61084c61083e6020830183612742565b610847906127ac565b611885565b610879600061085e6020840184612333565b61086b6020850185612742565b610874906127ac565b6118d6565b506001016106e6565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b56082826040516108b4929190612868565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a010000000000000000000090910416606082015292810180548551818502810185019096528086529394919360808601938301828280156109e157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109b6575b5050505050815260200160028201805480602002602001604051908101604052809291908181526020018280548015610a5057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a25575b505050505081525050905092915050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610b1157825467ffffffffffffffff168452610b30565b67ffffffffffffffff81811614610b305767ffffffffffffffff811684525b815468010000000000000000900460ff16610be657825468010000000000000000900460ff1615610be15782600101805480602002602001604051908101604052809291908181526020018280548015610bc057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b95575b50505050506080850152825468010000000000000000900460ff1660208501525b610c84565b815468010000000000000000900460ff90811614610c845781600101805480602002602001604051908101604052809291908181526020018280548015610c6357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c38575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610d535782546901000000000000000000900460ff1615610d4e5782600201805480602002602001604051908101604052809291908181526020018280548015610d1657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610ceb575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e09565b81546901000000000000000000900460ff90811614610e095781600201805480602002602001604051908101604052809291908181526020018280548015610dd157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610da6575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e1284611885565b50505092915050565b600061032282611c6a565b610e2e611804565b610e386000611cd1565b565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff831601610e9957610e738385610a61565b604051602001610e8391906122eb565b60405160208183030381529060405290506106d4565b6040517f3018cc2b00000000000000000000000000000000000000000000000000000000815263ffffffff8316600482015260240161061b565b610edb611804565b73ffffffffffffffffffffffffffffffffffffffff8116610f7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161061b565b610f8781611cd1565b50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f0258400000000000000000000000000000000000000000000000000000000148061032257507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610322565b6040805180820182526001815267ffffffffffffffff8316602082015290516002906000906110539088908890612410565b6040805191829003909120825260208083019390935290810160009081208682528352818120338083529084529082902084518154959094015167ffffffffffffffff16610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921790925590517f2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab5691611127918790879086908890612a05565b60405180910390a150505050565b6051821461116f576040517f0666bafd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600161117b8484611d46565b60ff16146111b5576040517f28fac06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8063ffffffff166111c68484611d68565b63ffffffff1614611203576040517f9a61cd2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60006106d46112178484611d78565b90565b600061122a600d60098486612a8a565b61123391612ab4565b60e01c9392505050565b6112488383836116fb565b61127e576040517f692c93cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602083015160ff16156113365760005b836020015160ff168160ff16101561133457600083815260026020908152604080832085845290915281206080860151805191929160ff85169081106112d6576112d6612420565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000016905560010161128e565b505b604083015160ff16156112035760005b836040015160ff168160ff161015610334576000838152600260209081526040808320858452909152812060a0860151805191929160ff851690811061138e5761138e612420565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000169055600101611346565b60006113fc602d600d8486612a8a565b6106d491612afc565b6000611415600960018486612a8a565b61141e91612b38565b60c01c9392505050565b61143181611c6a565b610f87576040517f2146a07a00000000000000000000000000000000000000000000000000000000815263ffffffff8216600482015260240161061b565b61147a8284836118d6565b6114848284610a61565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f50818284836040516114b893929190612b7e565b60405180910390a1505050565b60008060405180606001604052808863ffffffff1681526020016114e987876113ec565b81526020016114f88787611405565b67ffffffffffffffff908116909152604080517fe1e3a7df000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff888116606483015230608483015260a482018690529192507f00000000000000000000000000000000000000000000000000000000000000009091169063e1e3a7df9060c401602060405180830381865afa1580156115c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ed9190612bb9565b6115fb5760009150506116f2565b8051602082015160408084015190517fc9fc7bcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a8116600483015263ffffffff9094166024820152604481019290925267ffffffffffffffff16606482015284917f0000000000000000000000000000000000000000000000000000000000000000169063c9fc7bcd90608401602060405180830381865afa1580156116b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116dd9190612bdb565b036116ec5760009150506116f2565b60019150505b95945050505050565b602083015160009060ff161561177e5760005b846020015160ff168160ff1610156117665761175085608001518260ff168151811061173c5761173c612420565b602002602001015185858860000151611d88565b61175e5760009150506106d4565b60010161170e565b50836040015160ff1660000361177e575060016106d4565b606084015160005b856040015160ff168160ff1610156117f8576117c88660a001518260ff16815181106117b4576117b4612420565b602002602001015186868960000151611d88565b156117f057816117d781612c23565b9250508160ff166000036117f0576001925050506106d4565b600101611786565b50600095945050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e38576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161061b565b602081015160ff1615801561189f5750606081015160ff16155b15610f87576040517f7e36c28400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff90811614806118f15750602081015160ff16155b156119385760808101515115611933576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119b7565b806020015160ff168160800151511415806119735750600261195c600160ff612c5e565b6119669190612c77565b60ff16816020015160ff16115b156119aa576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119b78160800151611e17565b604081015160ff90811614806119d25750604081015160ff16155b15611a585760a08101515115611a14576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615611a53576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b2f565b806040015160ff168160a0015151141580611a9357506002611a7c600160ff612c5e565b611a869190612c77565b60ff16816040015160ff16115b15611aca576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff161580611aeb5750806040015160ff16816060015160ff16115b15611b22576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b2f8160a00151611e17565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a0100000000000000000000959091169490940293909317835560808401518051859493611c4693908501920190611eb1565b5060a08201518051611c62916002840191602090910190611eb1565b505050505050565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff161515806106d45750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611d556001828486612a8a565b611d5e91612cc0565b60f81c9392505050565b600061122a6031602d8486612a8a565b60006113fc605160318486612a8a565b6000838152600260209081526040808320858452825280832073ffffffffffffffffffffffffffffffffffffffff88168452825280832081518083019092525460ff811615801580845261010090920467ffffffffffffffff16938301939093529091611e0d57508267ffffffffffffffff16816020015167ffffffffffffffff1610155b9695505050505050565b6000805b8251811015611203576000838281518110611e3857611e38612420565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611611ea7576040517fa228a30b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9150600101611e1b565b828054828255906000526020600020908101928215611f2b579160200282015b82811115611f2b57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611ed1565b50611f37929150611f3b565b5090565b5b80821115611f375760008155600101611f3c565b600060208284031215611f6257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146106d457600080fd5b60008083601f840112611fa457600080fd5b50813567ffffffffffffffff811115611fbc57600080fd5b602083019150836020828501011115611fd457600080fd5b9250929050565b803567ffffffffffffffff81168114611ff357600080fd5b919050565b6000806000806060858703121561200e57600080fd5b843567ffffffffffffffff81111561202557600080fd5b61203187828801611f92565b9095509350506020850135915061204a60408601611fdb565b905092959194509250565b60008060006040848603121561206a57600080fd5b833567ffffffffffffffff81111561208157600080fd5b61208d86828701611f92565b909790965060209590950135949350505050565b60038110610f87577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b602081016120e5836120a1565b91905290565b803573ffffffffffffffffffffffffffffffffffffffff81168114611ff357600080fd5b60008083601f84011261212157600080fd5b50813567ffffffffffffffff81111561213957600080fd5b6020830191508360208260051b8501011115611fd457600080fd5b60008060006040848603121561216957600080fd5b612172846120eb565b9250602084013567ffffffffffffffff81111561218e57600080fd5b61219a8682870161210f565b9497909650939450505050565b600080602083850312156121ba57600080fd5b823567ffffffffffffffff8111156121d157600080fd5b6121dd8582860161210f565b90969095509350505050565b803563ffffffff81168114611ff357600080fd5b6000806040838503121561221057600080fd5b612219836120eb565b9150612227602084016121e9565b90509250929050565b60008151808452602080850194506020840160005b8381101561227757815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101612245565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c060808501526122d260c0850182612230565b905060a083015184820360a08601526116f28282612230565b6020815260006106d46020830184612282565b60008060006060848603121561231357600080fd5b833592506020840135915061232a604085016120eb565b90509250925092565b60006020828403121561234557600080fd5b6106d4826121e9565b60008060006060848603121561236357600080fd5b61236c846121e9565b925061237a602085016120eb565b915061232a604085016121e9565b60006020808352835180602085015260005b818110156123b65785810183015185820160400152820161239a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60006020828403121561240757600080fd5b6106d4826120eb565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261248357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124c257600080fd5b83018035915067ffffffffffffffff8211156124dd57600080fd5b602001915036819003821315611fd457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612544576125446124f2565b60405290565b803560ff81168114611ff357600080fd5b600082601f83011261256c57600080fd5b8135602067ffffffffffffffff80831115612589576125896124f2565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811084821117156125cc576125cc6124f2565b60405293845260208187018101949081019250878511156125ec57600080fd5b6020870191505b8482101561261357612604826120eb565b835291830191908301906125f3565b979650505050505050565b600060c0828403121561263057600080fd5b612638612521565b905061264382611fdb565b81526126516020830161254a565b60208201526126626040830161254a565b60408201526126736060830161254a565b6060820152608082013567ffffffffffffffff8082111561269357600080fd5b61269f8583860161255b565b608084015260a08401359150808211156126b857600080fd5b506126c58482850161255b565b60a08301525092915050565b6000602082840312156126e357600080fd5b813567ffffffffffffffff8111156126fa57600080fd5b6127068482850161261e565b949350505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261248357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4183360301811261248357600080fd5b60006020828403121561278857600080fd5b6106d48261254a565b6000602082840312156127a357600080fd5b6106d482611fdb565b6000610322368361261e565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126127ed57600080fd5b830160208101925035905067ffffffffffffffff81111561280d57600080fd5b8060051b3603821315611fd457600080fd5b8183526000602080850194508260005b858110156122775773ffffffffffffffffffffffffffffffffffffffff612855836120eb565b168752958201959082019060010161282f565b60208082528181018390526000906040808401600586901b8501820187855b888110156129f7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c36030181126128e957600080fd5b8b0163ffffffff6128f9826121e9565b168552878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4182360301811261293057600080fd5b8589018890520167ffffffffffffffff61294982611fdb565b168786015261295988820161254a565b606060ff8083168289015261296f8a850161254a565b92506080818416818a015261298583860161254a565b935060a09250818416838a015261299e818601866127b8565b60c08b810152945091506129b990506101008901848361281f565b9250506129c8818401846127b8565b93509050838783030160e08801526129e182848361281f565b978a019796505050928701925050600101612887565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152836080820152838560a0830137600060a08583010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116830101905067ffffffffffffffff841660408301528260608301529695505050505050565b60008085851115612a9a57600080fd5b83861115612aa757600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612af45780818660040360031b1b83161692505b505092915050565b80356020831015610322577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008135818116916008851015612af45760089490940360031b84901b1690921692915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006116f26060830184612282565b600060208284031215612bcb57600080fd5b815180151581146106d457600080fd5b600060208284031215612bed57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060ff821680612c3657612c36612bf4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b60ff828116828216039081111561032257610322612bf4565b600060ff831680612cb1577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015612af45760019490940360031b84901b169092169291505056fea26469706673582212206b6899baa218c22638dee2c37f1b9e14a48b4302de3e54e8a2621908ca72d99564736f6c63430008160033",
698
+ "bytecode": "0x60c06040523480156200001157600080fd5b5060405162002eee38038062002eee833981016040819052620000349162000116565b8080816001600160a01b031663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000075573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009b919062000148565b620000a633620000c6565b6001600160a01b0390911660805263ffffffff1660a05250620001709050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200012957600080fd5b81516001600160a01b03811681146200014157600080fd5b9392505050565b6000602082840312156200015b57600080fd5b815163ffffffff811681146200014157600080fd5b60805160a051612d3c620001b2600039600081816103410152610636015260008181610465015281816104ce0152818161158001526116720152612d3c6000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80633c782a5211610097578063715018a611610066578063715018a6146102695780638da5cb5b146102715780639c33abf714610299578063f2fde38b146102b957600080fd5b80633c782a52146101be57806343ea4fa91461022357806354fd4d50146102365780636750cd4c1461025657600080fd5b806320efd722116100d357806320efd7221461016557806327d12cd91461017857806329460b0b1461018b57806339e3f9381461019e57600080fd5b806301ffc9a7146101055780630223536e1461012d5780630894edf1146101425780631881d94d14610155575b600080fd5b610118610113366004611f50565b6102cc565b60405190151581526020015b60405180910390f35b61014061013b366004611ff8565b610328565b005b610140610150366004612055565b61033a565b60015b60405161012491906120d8565b610140610173366004612154565b6104cc565b610158610186366004612055565b61062d565b6101406101993660046121a7565b6106db565b6101b16101ac3660046121fd565b6108c0565b60405161012491906122eb565b6102036101cc3660046122fe565b600260209081526000938452604080852082529284528284209052825290205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff909116602083015201610124565b6101b16102313660046121fd565b610a61565b604080516003815260006020820152600291810191909152606001610124565b610118610264366004612333565b610e1b565b610140610e26565b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610124565b6102ac6102a736600461234e565b610e3a565b6040516101249190612388565b6101406102c73660046123f5565b610ed3565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2d669246000000000000000000000000000000000000000000000000000000001480610322575061032282610f8a565b92915050565b61033484848484611021565b50505050565b61036583837f0000000000000000000000000000000000000000000000000000000000000000611135565b60006103718484611208565b9050600061037f858561121a565b9050600061038d8383610a61565b90506103b18187876040516103a3929190612410565b60405180910390208661123d565b600060405180606001604052808463ffffffff1681526020016103d489896113ec565b81526020016103e38989611405565b67ffffffffffffffff908116909152604080517fa825d747000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff8681166064830152608482018890529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a825d7479060a401600060405180830381600087803b1580156104ab57600080fd5b505af11580156104bf573d6000803e3d6000fd5b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16331461053b576040517f7eb966c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610334573683838381811061055957610559612420565b905060200281019061056b919061244f565b905061058261057d6020830183612333565b611428565b60026105946040830160208401612333565b63ffffffff16036105d4576105cf6105af6020830183612333565b866105bd604085018561248d565b8101906105ca91906126d1565b61146f565b610624565b6105e46040820160208301612333565b6040517f3018cc2b00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b5060010161053e565b600061065a84847f0000000000000000000000000000000000000000000000000000000000000000611135565b60006106668585611208565b90506000610674868661121a565b905061068381838888886114c5565b610692576002925050506106d4565b6106bd61069f8383610a61565b87876040516106af929190612410565b6040518091039020866116fb565b156106cd576001925050506106d4565b6000925050505b9392505050565b6106e3611804565b60005b81811015610882573683838381811061070157610701612420565b9050602002810190610713919061270e565b905060ff6107246020830183612742565b610735906040810190602001612776565b60ff160361076f576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff61077e6020830183612742565b61078f906060810190604001612776565b60ff16036107c9576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff6107df6020830183612742565b6107ed906020810190612791565b67ffffffffffffffff160361082e576040517f8f6ae8f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61084c61083e6020830183612742565b610847906127ac565b611885565b610879600061085e6020840184612333565b61086b6020850185612742565b610874906127ac565b6118d6565b506001016106e6565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b56082826040516108b4929190612868565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a010000000000000000000090910416606082015292810180548551818502810185019096528086529394919360808601938301828280156109e157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109b6575b5050505050815260200160028201805480602002602001604051908101604052809291908181526020018280548015610a5057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a25575b505050505081525050905092915050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610b1157825467ffffffffffffffff168452610b30565b67ffffffffffffffff81811614610b305767ffffffffffffffff811684525b815468010000000000000000900460ff16610be657825468010000000000000000900460ff1615610be15782600101805480602002602001604051908101604052809291908181526020018280548015610bc057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b95575b50505050506080850152825468010000000000000000900460ff1660208501525b610c84565b815468010000000000000000900460ff90811614610c845781600101805480602002602001604051908101604052809291908181526020018280548015610c6357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c38575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610d535782546901000000000000000000900460ff1615610d4e5782600201805480602002602001604051908101604052809291908181526020018280548015610d1657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610ceb575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e09565b81546901000000000000000000900460ff90811614610e095781600201805480602002602001604051908101604052809291908181526020018280548015610dd157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610da6575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e1284611885565b50505092915050565b600061032282611c6a565b610e2e611804565b610e386000611cd1565b565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff831601610e9957610e738385610a61565b604051602001610e8391906122eb565b60405160208183030381529060405290506106d4565b6040517f3018cc2b00000000000000000000000000000000000000000000000000000000815263ffffffff8316600482015260240161061b565b610edb611804565b73ffffffffffffffffffffffffffffffffffffffff8116610f7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161061b565b610f8781611cd1565b50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f0258400000000000000000000000000000000000000000000000000000000148061032257507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610322565b6040805180820182526001815267ffffffffffffffff8316602082015290516002906000906110539088908890612410565b6040805191829003909120825260208083019390935290810160009081208682528352818120338083529084529082902084518154959094015167ffffffffffffffff16610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921790925590517f2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab5691611127918790879086908890612a05565b60405180910390a150505050565b6051821461116f576040517f0666bafd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600161117b8484611d46565b60ff16146111b5576040517f28fac06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8063ffffffff166111c68484611d68565b63ffffffff1614611203576040517f9a61cd2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60006106d46112178484611d78565b90565b600061122a600d60098486612a8a565b61123391612ab4565b60e01c9392505050565b6112488383836116fb565b61127e576040517f692c93cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602083015160ff16156113365760005b836020015160ff168160ff16101561133457600083815260026020908152604080832085845290915281206080860151805191929160ff85169081106112d6576112d6612420565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000016905560010161128e565b505b604083015160ff16156112035760005b836040015160ff168160ff161015610334576000838152600260209081526040808320858452909152812060a0860151805191929160ff851690811061138e5761138e612420565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000169055600101611346565b60006113fc602d600d8486612a8a565b6106d491612afc565b6000611415600960018486612a8a565b61141e91612b38565b60c01c9392505050565b61143181611c6a565b610f87576040517f2146a07a00000000000000000000000000000000000000000000000000000000815263ffffffff8216600482015260240161061b565b61147a8284836118d6565b6114848284610a61565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f50818284836040516114b893929190612b7e565b60405180910390a1505050565b60008060405180606001604052808863ffffffff1681526020016114e987876113ec565b81526020016114f88787611405565b67ffffffffffffffff908116909152604080517fe1e3a7df000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff888116606483015230608483015260a482018690529192507f00000000000000000000000000000000000000000000000000000000000000009091169063e1e3a7df9060c401602060405180830381865afa1580156115c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ed9190612bb9565b6115fb5760009150506116f2565b8051602082015160408084015190517fc9fc7bcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a8116600483015263ffffffff9094166024820152604481019290925267ffffffffffffffff16606482015284917f0000000000000000000000000000000000000000000000000000000000000000169063c9fc7bcd90608401602060405180830381865afa1580156116b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116dd9190612bdb565b036116ec5760009150506116f2565b60019150505b95945050505050565b602083015160009060ff161561177e5760005b846020015160ff168160ff1610156117665761175085608001518260ff168151811061173c5761173c612420565b602002602001015185858860000151611d88565b61175e5760009150506106d4565b60010161170e565b50836040015160ff1660000361177e575060016106d4565b606084015160005b856040015160ff168160ff1610156117f8576117c88660a001518260ff16815181106117b4576117b4612420565b602002602001015186868960000151611d88565b156117f057816117d781612c23565b9250508160ff166000036117f0576001925050506106d4565b600101611786565b50600095945050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e38576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161061b565b602081015160ff1615801561189f5750606081015160ff16155b15610f87576040517f7e36c28400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff90811614806118f15750602081015160ff16155b156119385760808101515115611933576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119b7565b806020015160ff168160800151511415806119735750600261195c600160ff612c5e565b6119669190612c77565b60ff16816020015160ff16115b156119aa576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119b78160800151611e17565b604081015160ff90811614806119d25750604081015160ff16155b15611a585760a08101515115611a14576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615611a53576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b2f565b806040015160ff168160a0015151141580611a9357506002611a7c600160ff612c5e565b611a869190612c77565b60ff16816040015160ff16115b15611aca576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff161580611aeb5750806040015160ff16816060015160ff16115b15611b22576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b2f8160a00151611e17565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a0100000000000000000000959091169490940293909317835560808401518051859493611c4693908501920190611eb1565b5060a08201518051611c62916002840191602090910190611eb1565b505050505050565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff161515806106d45750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611d556001828486612a8a565b611d5e91612cc0565b60f81c9392505050565b600061122a6031602d8486612a8a565b60006113fc605160318486612a8a565b6000838152600260209081526040808320858452825280832073ffffffffffffffffffffffffffffffffffffffff88168452825280832081518083019092525460ff811615801580845261010090920467ffffffffffffffff16938301939093529091611e0d57508267ffffffffffffffff16816020015167ffffffffffffffff1610155b9695505050505050565b6000805b8251811015611203576000838281518110611e3857611e38612420565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611611ea7576040517fa228a30b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9150600101611e1b565b828054828255906000526020600020908101928215611f2b579160200282015b82811115611f2b57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611ed1565b50611f37929150611f3b565b5090565b5b80821115611f375760008155600101611f3c565b600060208284031215611f6257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146106d457600080fd5b60008083601f840112611fa457600080fd5b50813567ffffffffffffffff811115611fbc57600080fd5b602083019150836020828501011115611fd457600080fd5b9250929050565b803567ffffffffffffffff81168114611ff357600080fd5b919050565b6000806000806060858703121561200e57600080fd5b843567ffffffffffffffff81111561202557600080fd5b61203187828801611f92565b9095509350506020850135915061204a60408601611fdb565b905092959194509250565b60008060006040848603121561206a57600080fd5b833567ffffffffffffffff81111561208157600080fd5b61208d86828701611f92565b909790965060209590950135949350505050565b60038110610f87577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b602081016120e5836120a1565b91905290565b803573ffffffffffffffffffffffffffffffffffffffff81168114611ff357600080fd5b60008083601f84011261212157600080fd5b50813567ffffffffffffffff81111561213957600080fd5b6020830191508360208260051b8501011115611fd457600080fd5b60008060006040848603121561216957600080fd5b612172846120eb565b9250602084013567ffffffffffffffff81111561218e57600080fd5b61219a8682870161210f565b9497909650939450505050565b600080602083850312156121ba57600080fd5b823567ffffffffffffffff8111156121d157600080fd5b6121dd8582860161210f565b90969095509350505050565b803563ffffffff81168114611ff357600080fd5b6000806040838503121561221057600080fd5b612219836120eb565b9150612227602084016121e9565b90509250929050565b60008151808452602080850194506020840160005b8381101561227757815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101612245565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c060808501526122d260c0850182612230565b905060a083015184820360a08601526116f28282612230565b6020815260006106d46020830184612282565b60008060006060848603121561231357600080fd5b833592506020840135915061232a604085016120eb565b90509250925092565b60006020828403121561234557600080fd5b6106d4826121e9565b60008060006060848603121561236357600080fd5b61236c846121e9565b925061237a602085016120eb565b915061232a604085016121e9565b60006020808352835180602085015260005b818110156123b65785810183015185820160400152820161239a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60006020828403121561240757600080fd5b6106d4826120eb565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261248357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124c257600080fd5b83018035915067ffffffffffffffff8211156124dd57600080fd5b602001915036819003821315611fd457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612544576125446124f2565b60405290565b803560ff81168114611ff357600080fd5b600082601f83011261256c57600080fd5b8135602067ffffffffffffffff80831115612589576125896124f2565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811084821117156125cc576125cc6124f2565b60405293845260208187018101949081019250878511156125ec57600080fd5b6020870191505b8482101561261357612604826120eb565b835291830191908301906125f3565b979650505050505050565b600060c0828403121561263057600080fd5b612638612521565b905061264382611fdb565b81526126516020830161254a565b60208201526126626040830161254a565b60408201526126736060830161254a565b6060820152608082013567ffffffffffffffff8082111561269357600080fd5b61269f8583860161255b565b608084015260a08401359150808211156126b857600080fd5b506126c58482850161255b565b60a08301525092915050565b6000602082840312156126e357600080fd5b813567ffffffffffffffff8111156126fa57600080fd5b6127068482850161261e565b949350505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261248357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4183360301811261248357600080fd5b60006020828403121561278857600080fd5b6106d48261254a565b6000602082840312156127a357600080fd5b6106d482611fdb565b6000610322368361261e565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126127ed57600080fd5b830160208101925035905067ffffffffffffffff81111561280d57600080fd5b8060051b3603821315611fd457600080fd5b8183526000602080850194508260005b858110156122775773ffffffffffffffffffffffffffffffffffffffff612855836120eb565b168752958201959082019060010161282f565b60208082528181018390526000906040808401600586901b8501820187855b888110156129f7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c36030181126128e957600080fd5b8b0163ffffffff6128f9826121e9565b168552878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4182360301811261293057600080fd5b8589018890520167ffffffffffffffff61294982611fdb565b168786015261295988820161254a565b606060ff8083168289015261296f8a850161254a565b92506080818416818a015261298583860161254a565b935060a09250818416838a015261299e818601866127b8565b60c08b810152945091506129b990506101008901848361281f565b9250506129c8818401846127b8565b93509050838783030160e08801526129e182848361281f565b978a019796505050928701925050600101612887565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152836080820152838560a0830137600060a08583010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116830101905067ffffffffffffffff841660408301528260608301529695505050505050565b60008085851115612a9a57600080fd5b83861115612aa757600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612af45780818660040360031b1b83161692505b505092915050565b80356020831015610322577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008135818116916008851015612af45760089490940360031b84901b1690921692915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006116f26060830184612282565b600060208284031215612bcb57600080fd5b815180151581146106d457600080fd5b600060208284031215612bed57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060ff821680612c3657612c36612bf4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b60ff828116828216039081111561032257610322612bf4565b600060ff831680612cb1577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015612af45760019490940360031b84901b169092169291505056fea264697066735822122042a1935882c8308e728f5e2d36d5ef6ed95c1c0277ba5ebb48490da5b011c93664736f6c63430008160033",
699
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c80633c782a5211610097578063715018a611610066578063715018a6146102695780638da5cb5b146102715780639c33abf714610299578063f2fde38b146102b957600080fd5b80633c782a52146101be57806343ea4fa91461022357806354fd4d50146102365780636750cd4c1461025657600080fd5b806320efd722116100d357806320efd7221461016557806327d12cd91461017857806329460b0b1461018b57806339e3f9381461019e57600080fd5b806301ffc9a7146101055780630223536e1461012d5780630894edf1146101425780631881d94d14610155575b600080fd5b610118610113366004611f50565b6102cc565b60405190151581526020015b60405180910390f35b61014061013b366004611ff8565b610328565b005b610140610150366004612055565b61033a565b60015b60405161012491906120d8565b610140610173366004612154565b6104cc565b610158610186366004612055565b61062d565b6101406101993660046121a7565b6106db565b6101b16101ac3660046121fd565b6108c0565b60405161012491906122eb565b6102036101cc3660046122fe565b600260209081526000938452604080852082529284528284209052825290205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff909116602083015201610124565b6101b16102313660046121fd565b610a61565b604080516003815260006020820152600291810191909152606001610124565b610118610264366004612333565b610e1b565b610140610e26565b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610124565b6102ac6102a736600461234e565b610e3a565b6040516101249190612388565b6101406102c73660046123f5565b610ed3565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2d669246000000000000000000000000000000000000000000000000000000001480610322575061032282610f8a565b92915050565b61033484848484611021565b50505050565b61036583837f0000000000000000000000000000000000000000000000000000000000000000611135565b60006103718484611208565b9050600061037f858561121a565b9050600061038d8383610a61565b90506103b18187876040516103a3929190612410565b60405180910390208661123d565b600060405180606001604052808463ffffffff1681526020016103d489896113ec565b81526020016103e38989611405565b67ffffffffffffffff908116909152604080517fa825d747000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff8681166064830152608482018890529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a825d7479060a401600060405180830381600087803b1580156104ab57600080fd5b505af11580156104bf573d6000803e3d6000fd5b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16331461053b576040517f7eb966c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610334573683838381811061055957610559612420565b905060200281019061056b919061244f565b905061058261057d6020830183612333565b611428565b60026105946040830160208401612333565b63ffffffff16036105d4576105cf6105af6020830183612333565b866105bd604085018561248d565b8101906105ca91906126d1565b61146f565b610624565b6105e46040820160208301612333565b6040517f3018cc2b00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b5060010161053e565b600061065a84847f0000000000000000000000000000000000000000000000000000000000000000611135565b60006106668585611208565b90506000610674868661121a565b905061068381838888886114c5565b610692576002925050506106d4565b6106bd61069f8383610a61565b87876040516106af929190612410565b6040518091039020866116fb565b156106cd576001925050506106d4565b6000925050505b9392505050565b6106e3611804565b60005b81811015610882573683838381811061070157610701612420565b9050602002810190610713919061270e565b905060ff6107246020830183612742565b610735906040810190602001612776565b60ff160361076f576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff61077e6020830183612742565b61078f906060810190604001612776565b60ff16036107c9576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff6107df6020830183612742565b6107ed906020810190612791565b67ffffffffffffffff160361082e576040517f8f6ae8f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61084c61083e6020830183612742565b610847906127ac565b611885565b610879600061085e6020840184612333565b61086b6020850185612742565b610874906127ac565b6118d6565b506001016106e6565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b56082826040516108b4929190612868565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a010000000000000000000090910416606082015292810180548551818502810185019096528086529394919360808601938301828280156109e157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109b6575b5050505050815260200160028201805480602002602001604051908101604052809291908181526020018280548015610a5057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a25575b505050505081525050905092915050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610b1157825467ffffffffffffffff168452610b30565b67ffffffffffffffff81811614610b305767ffffffffffffffff811684525b815468010000000000000000900460ff16610be657825468010000000000000000900460ff1615610be15782600101805480602002602001604051908101604052809291908181526020018280548015610bc057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b95575b50505050506080850152825468010000000000000000900460ff1660208501525b610c84565b815468010000000000000000900460ff90811614610c845781600101805480602002602001604051908101604052809291908181526020018280548015610c6357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c38575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610d535782546901000000000000000000900460ff1615610d4e5782600201805480602002602001604051908101604052809291908181526020018280548015610d1657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610ceb575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e09565b81546901000000000000000000900460ff90811614610e095781600201805480602002602001604051908101604052809291908181526020018280548015610dd157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610da6575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e1284611885565b50505092915050565b600061032282611c6a565b610e2e611804565b610e386000611cd1565b565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff831601610e9957610e738385610a61565b604051602001610e8391906122eb565b60405160208183030381529060405290506106d4565b6040517f3018cc2b00000000000000000000000000000000000000000000000000000000815263ffffffff8316600482015260240161061b565b610edb611804565b73ffffffffffffffffffffffffffffffffffffffff8116610f7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161061b565b610f8781611cd1565b50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f0258400000000000000000000000000000000000000000000000000000000148061032257507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610322565b6040805180820182526001815267ffffffffffffffff8316602082015290516002906000906110539088908890612410565b6040805191829003909120825260208083019390935290810160009081208682528352818120338083529084529082902084518154959094015167ffffffffffffffff16610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921790925590517f2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab5691611127918790879086908890612a05565b60405180910390a150505050565b6051821461116f576040517f0666bafd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600161117b8484611d46565b60ff16146111b5576040517f28fac06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8063ffffffff166111c68484611d68565b63ffffffff1614611203576040517f9a61cd2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60006106d46112178484611d78565b90565b600061122a600d60098486612a8a565b61123391612ab4565b60e01c9392505050565b6112488383836116fb565b61127e576040517f692c93cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602083015160ff16156113365760005b836020015160ff168160ff16101561133457600083815260026020908152604080832085845290915281206080860151805191929160ff85169081106112d6576112d6612420565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000016905560010161128e565b505b604083015160ff16156112035760005b836040015160ff168160ff161015610334576000838152600260209081526040808320858452909152812060a0860151805191929160ff851690811061138e5761138e612420565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000169055600101611346565b60006113fc602d600d8486612a8a565b6106d491612afc565b6000611415600960018486612a8a565b61141e91612b38565b60c01c9392505050565b61143181611c6a565b610f87576040517f2146a07a00000000000000000000000000000000000000000000000000000000815263ffffffff8216600482015260240161061b565b61147a8284836118d6565b6114848284610a61565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f50818284836040516114b893929190612b7e565b60405180910390a1505050565b60008060405180606001604052808863ffffffff1681526020016114e987876113ec565b81526020016114f88787611405565b67ffffffffffffffff908116909152604080517fe1e3a7df000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff888116606483015230608483015260a482018690529192507f00000000000000000000000000000000000000000000000000000000000000009091169063e1e3a7df9060c401602060405180830381865afa1580156115c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ed9190612bb9565b6115fb5760009150506116f2565b8051602082015160408084015190517fc9fc7bcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a8116600483015263ffffffff9094166024820152604481019290925267ffffffffffffffff16606482015284917f0000000000000000000000000000000000000000000000000000000000000000169063c9fc7bcd90608401602060405180830381865afa1580156116b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116dd9190612bdb565b036116ec5760009150506116f2565b60019150505b95945050505050565b602083015160009060ff161561177e5760005b846020015160ff168160ff1610156117665761175085608001518260ff168151811061173c5761173c612420565b602002602001015185858860000151611d88565b61175e5760009150506106d4565b60010161170e565b50836040015160ff1660000361177e575060016106d4565b606084015160005b856040015160ff168160ff1610156117f8576117c88660a001518260ff16815181106117b4576117b4612420565b602002602001015186868960000151611d88565b156117f057816117d781612c23565b9250508160ff166000036117f0576001925050506106d4565b600101611786565b50600095945050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e38576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161061b565b602081015160ff1615801561189f5750606081015160ff16155b15610f87576040517f7e36c28400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff90811614806118f15750602081015160ff16155b156119385760808101515115611933576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119b7565b806020015160ff168160800151511415806119735750600261195c600160ff612c5e565b6119669190612c77565b60ff16816020015160ff16115b156119aa576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119b78160800151611e17565b604081015160ff90811614806119d25750604081015160ff16155b15611a585760a08101515115611a14576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615611a53576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b2f565b806040015160ff168160a0015151141580611a9357506002611a7c600160ff612c5e565b611a869190612c77565b60ff16816040015160ff16115b15611aca576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff161580611aeb5750806040015160ff16816060015160ff16115b15611b22576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b2f8160a00151611e17565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a0100000000000000000000959091169490940293909317835560808401518051859493611c4693908501920190611eb1565b5060a08201518051611c62916002840191602090910190611eb1565b505050505050565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff161515806106d45750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611d556001828486612a8a565b611d5e91612cc0565b60f81c9392505050565b600061122a6031602d8486612a8a565b60006113fc605160318486612a8a565b6000838152600260209081526040808320858452825280832073ffffffffffffffffffffffffffffffffffffffff88168452825280832081518083019092525460ff811615801580845261010090920467ffffffffffffffff16938301939093529091611e0d57508267ffffffffffffffff16816020015167ffffffffffffffff1610155b9695505050505050565b6000805b8251811015611203576000838281518110611e3857611e38612420565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611611ea7576040517fa228a30b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9150600101611e1b565b828054828255906000526020600020908101928215611f2b579160200282015b82811115611f2b57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611ed1565b50611f37929150611f3b565b5090565b5b80821115611f375760008155600101611f3c565b600060208284031215611f6257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146106d457600080fd5b60008083601f840112611fa457600080fd5b50813567ffffffffffffffff811115611fbc57600080fd5b602083019150836020828501011115611fd457600080fd5b9250929050565b803567ffffffffffffffff81168114611ff357600080fd5b919050565b6000806000806060858703121561200e57600080fd5b843567ffffffffffffffff81111561202557600080fd5b61203187828801611f92565b9095509350506020850135915061204a60408601611fdb565b905092959194509250565b60008060006040848603121561206a57600080fd5b833567ffffffffffffffff81111561208157600080fd5b61208d86828701611f92565b909790965060209590950135949350505050565b60038110610f87577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b602081016120e5836120a1565b91905290565b803573ffffffffffffffffffffffffffffffffffffffff81168114611ff357600080fd5b60008083601f84011261212157600080fd5b50813567ffffffffffffffff81111561213957600080fd5b6020830191508360208260051b8501011115611fd457600080fd5b60008060006040848603121561216957600080fd5b612172846120eb565b9250602084013567ffffffffffffffff81111561218e57600080fd5b61219a8682870161210f565b9497909650939450505050565b600080602083850312156121ba57600080fd5b823567ffffffffffffffff8111156121d157600080fd5b6121dd8582860161210f565b90969095509350505050565b803563ffffffff81168114611ff357600080fd5b6000806040838503121561221057600080fd5b612219836120eb565b9150612227602084016121e9565b90509250929050565b60008151808452602080850194506020840160005b8381101561227757815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101612245565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c060808501526122d260c0850182612230565b905060a083015184820360a08601526116f28282612230565b6020815260006106d46020830184612282565b60008060006060848603121561231357600080fd5b833592506020840135915061232a604085016120eb565b90509250925092565b60006020828403121561234557600080fd5b6106d4826121e9565b60008060006060848603121561236357600080fd5b61236c846121e9565b925061237a602085016120eb565b915061232a604085016121e9565b60006020808352835180602085015260005b818110156123b65785810183015185820160400152820161239a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60006020828403121561240757600080fd5b6106d4826120eb565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261248357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124c257600080fd5b83018035915067ffffffffffffffff8211156124dd57600080fd5b602001915036819003821315611fd457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612544576125446124f2565b60405290565b803560ff81168114611ff357600080fd5b600082601f83011261256c57600080fd5b8135602067ffffffffffffffff80831115612589576125896124f2565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811084821117156125cc576125cc6124f2565b60405293845260208187018101949081019250878511156125ec57600080fd5b6020870191505b8482101561261357612604826120eb565b835291830191908301906125f3565b979650505050505050565b600060c0828403121561263057600080fd5b612638612521565b905061264382611fdb565b81526126516020830161254a565b60208201526126626040830161254a565b60408201526126736060830161254a565b6060820152608082013567ffffffffffffffff8082111561269357600080fd5b61269f8583860161255b565b608084015260a08401359150808211156126b857600080fd5b506126c58482850161255b565b60a08301525092915050565b6000602082840312156126e357600080fd5b813567ffffffffffffffff8111156126fa57600080fd5b6127068482850161261e565b949350505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261248357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4183360301811261248357600080fd5b60006020828403121561278857600080fd5b6106d48261254a565b6000602082840312156127a357600080fd5b6106d482611fdb565b6000610322368361261e565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126127ed57600080fd5b830160208101925035905067ffffffffffffffff81111561280d57600080fd5b8060051b3603821315611fd457600080fd5b8183526000602080850194508260005b858110156122775773ffffffffffffffffffffffffffffffffffffffff612855836120eb565b168752958201959082019060010161282f565b60208082528181018390526000906040808401600586901b8501820187855b888110156129f7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c36030181126128e957600080fd5b8b0163ffffffff6128f9826121e9565b168552878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4182360301811261293057600080fd5b8589018890520167ffffffffffffffff61294982611fdb565b168786015261295988820161254a565b606060ff8083168289015261296f8a850161254a565b92506080818416818a015261298583860161254a565b935060a09250818416838a015261299e818601866127b8565b60c08b810152945091506129b990506101008901848361281f565b9250506129c8818401846127b8565b93509050838783030160e08801526129e182848361281f565b978a019796505050928701925050600101612887565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152836080820152838560a0830137600060a08583010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116830101905067ffffffffffffffff841660408301528260608301529695505050505050565b60008085851115612a9a57600080fd5b83861115612aa757600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612af45780818660040360031b1b83161692505b505092915050565b80356020831015610322577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008135818116916008851015612af45760089490940360031b84901b1690921692915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006116f26060830184612282565b600060208284031215612bcb57600080fd5b815180151581146106d457600080fd5b600060208284031215612bed57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060ff821680612c3657612c36612bf4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b60ff828116828216039081111561032257610322612bf4565b600060ff831680612cb1577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015612af45760019490940360031b84901b169092169291505056fea264697066735822122042a1935882c8308e728f5e2d36d5ef6ed95c1c0277ba5ebb48490da5b011c93664736f6c63430008160033",
700
700
  "linkReferences": {},
701
701
  "deployedLinkReferences": {}
702
702
  }