@layerzerolabs/lz-evm-sdk-v2 2.3.9 → 2.3.11

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 (413) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/artifacts-tron/contracts/EndpointV2.sol/EndpointV2.json +2361 -0
  3. package/artifacts-tron/contracts/EndpointV2Alt.sol/EndpointV2Alt.json +2376 -0
  4. package/artifacts-tron/contracts/EndpointV2View.sol/EndpointV2View.json +209 -0
  5. package/artifacts-tron/contracts/EndpointV2ViewUpgradeable.sol/EndpointV2ViewUpgradeable.json +196 -0
  6. package/artifacts-tron/contracts/Executor.sol/Executor.json +1276 -0
  7. package/artifacts-tron/contracts/Executor.sol/ILayerZeroEndpointV2.json +230 -0
  8. package/artifacts-tron/contracts/ExecutorFeeLib.sol/ExecutorFeeLib.json +367 -0
  9. package/artifacts-tron/contracts/MessageLibBase.sol/MessageLibBase.json +16 -0
  10. package/artifacts-tron/contracts/MessageLibManager.sol/MessageLibManager.json +771 -0
  11. package/artifacts-tron/contracts/MessagingChannel.sol/MessagingChannel.json +426 -0
  12. package/artifacts-tron/contracts/MessagingComposer.sol/MessagingComposer.json +320 -0
  13. package/artifacts-tron/contracts/MessagingContext.sol/MessagingContext.json +42 -0
  14. package/artifacts-tron/contracts/PriceFeed.sol/PriceFeed.json +694 -0
  15. package/artifacts-tron/contracts/ReceiveLibBaseE2.sol/ReceiveLibBaseE2.json +154 -0
  16. package/artifacts-tron/contracts/SendLibBase.sol/SendLibBase.json +381 -0
  17. package/artifacts-tron/contracts/SendLibBaseE2.sol/SendLibBaseE2.json +819 -0
  18. package/artifacts-tron/contracts/Treasury.sol/Treasury.json +309 -0
  19. package/artifacts-tron/contracts/Worker.sol/Worker.json +579 -0
  20. package/artifacts-tron/contracts/decompressor/DVNDecoder.sol/DVNDecoder.json +10 -0
  21. package/artifacts-tron/contracts/decompressor/DVNDecompressor.sol/DVNDecompressor.json +329 -0
  22. package/artifacts-tron/contracts/decompressor/DecompressorExtension.sol/DecompressorExtension.json +92 -0
  23. package/artifacts-tron/contracts/decompressor/ExecutorDecoder.sol/ExecutorDecoder.json +10 -0
  24. package/artifacts-tron/contracts/decompressor/ExecutorDecompressor.sol/ExecutorDecompressor.json +220 -0
  25. package/artifacts-tron/contracts/interfaces/IExecutor.sol/IExecutor.json +439 -0
  26. package/artifacts-tron/contracts/interfaces/IExecutorFeeLib.sol/IExecutorFeeLib.json +241 -0
  27. package/artifacts-tron/contracts/interfaces/ILayerZeroComposer.sol/ILayerZeroComposer.json +44 -0
  28. package/artifacts-tron/contracts/interfaces/ILayerZeroEndpointV2.sol/ILayerZeroEndpointV2.json +1899 -0
  29. package/artifacts-tron/contracts/interfaces/ILayerZeroExecutor.sol/ILayerZeroExecutor.json +79 -0
  30. package/artifacts-tron/contracts/interfaces/ILayerZeroPriceFeed.sol/ILayerZeroPriceFeed.json +222 -0
  31. package/artifacts-tron/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.json +121 -0
  32. package/artifacts-tron/contracts/interfaces/ILayerZeroTreasury.sol/ILayerZeroTreasury.json +79 -0
  33. package/artifacts-tron/contracts/interfaces/IMessageLib.sol/IMessageLib.json +149 -0
  34. package/artifacts-tron/contracts/interfaces/IMessageLibManager.sol/IMessageLibManager.json +646 -0
  35. package/artifacts-tron/contracts/interfaces/IMessagingChannel.sol/IMessagingChannel.json +373 -0
  36. package/artifacts-tron/contracts/interfaces/IMessagingComposer.sol/IMessagingComposer.json +246 -0
  37. package/artifacts-tron/contracts/interfaces/IMessagingContext.sol/IMessagingContext.json +42 -0
  38. package/artifacts-tron/contracts/interfaces/ISendLib.sol/ISendLib.json +364 -0
  39. package/artifacts-tron/contracts/interfaces/IWorker.sol/IWorker.json +221 -0
  40. package/artifacts-tron/contracts/libs/AddressCast.sol/AddressCast.json +21 -0
  41. package/artifacts-tron/contracts/libs/CalldataBytesLib.sol/CalldataBytesLib.json +10 -0
  42. package/artifacts-tron/contracts/libs/Errors.sol/Errors.json +211 -0
  43. package/artifacts-tron/contracts/libs/GUID.sol/GUID.json +10 -0
  44. package/artifacts-tron/contracts/libs/SafeCall.sol/SafeCall.json +10 -0
  45. package/artifacts-tron/contracts/libs/Transfer.sol/Transfer.json +32 -0
  46. package/artifacts-tron/contracts/messagelib/BlockedMessageLib.sol/BlockedMessageLib.json +94 -0
  47. package/artifacts-tron/contracts/messagelib/SimpleMessageLib.sol/SimpleMessageLib.json +591 -0
  48. package/artifacts-tron/contracts/messagelib/libs/BitMaps.sol/BitMaps.json +10 -0
  49. package/artifacts-tron/contracts/messagelib/libs/ExecutorOptions.sol/ExecutorOptions.json +26 -0
  50. package/artifacts-tron/contracts/messagelib/libs/PacketV1Codec.sol/PacketV1Codec.json +10 -0
  51. package/artifacts-tron/contracts/oapp/OApp.sol/OApp.json +383 -0
  52. package/artifacts-tron/contracts/oapp/OAppCore.sol/OAppCore.json +200 -0
  53. package/artifacts-tron/contracts/oapp/OAppReceiver.sol/OAppReceiver.json +367 -0
  54. package/artifacts-tron/contracts/oapp/OAppSender.sol/OAppSender.json +216 -0
  55. package/artifacts-tron/contracts/oapp/examples/OmniCounter.sol/OmniCounter.json +925 -0
  56. package/artifacts-tron/contracts/oapp/examples/OmniCounterAbstract.sol/MsgCodec.json +10 -0
  57. package/artifacts-tron/contracts/oapp/examples/OmniCounterAbstract.sol/OmniCounterAbstract.json +909 -0
  58. package/artifacts-tron/contracts/oapp/examples/OmniCounterPreCrime.sol/OmniCounterPreCrime.json +368 -0
  59. package/artifacts-tron/contracts/oapp/interfaces/IOAppComposer.sol/IOAppComposer.json +44 -0
  60. package/artifacts-tron/contracts/oapp/interfaces/IOAppCore.sol/IOAppCore.json +148 -0
  61. package/artifacts-tron/contracts/oapp/interfaces/IOAppMsgInspector.sol/IOAppMsgInspector.json +51 -0
  62. package/artifacts-tron/contracts/oapp/interfaces/IOAppOptionsType3.sol/IOAppOptionsType3.json +111 -0
  63. package/artifacts-tron/contracts/oapp/interfaces/IOAppReceiver.sol/IOAppReceiver.json +167 -0
  64. package/artifacts-tron/contracts/oapp/libs/OAppOptionsType3.sol/OAppOptionsType3.json +187 -0
  65. package/artifacts-tron/contracts/oapp/libs/OptionsBuilder.sol/OptionsBuilder.json +38 -0
  66. package/artifacts-tron/contracts/oapp/utils/RateLimiter.sol/RateLimiter.json +104 -0
  67. package/artifacts-tron/contracts/oft/OFT.sol/OFT.json +1514 -0
  68. package/artifacts-tron/contracts/oft/OFTAdapter.sol/OFTAdapter.json +1244 -0
  69. package/artifacts-tron/contracts/oft/OFTCore.sol/OFTCore.json +1244 -0
  70. package/artifacts-tron/contracts/oft/interfaces/IOFT.sol/IOFT.json +456 -0
  71. package/artifacts-tron/contracts/oft/libs/OFTComposeMsgCodec.sol/OFTComposeMsgCodec.json +10 -0
  72. package/artifacts-tron/contracts/oft/libs/OFTMsgCodec.sol/OFTMsgCodec.json +10 -0
  73. package/artifacts-tron/contracts/precrime/OAppPreCrimeSimulator.sol/OAppPreCrimeSimulator.json +277 -0
  74. package/artifacts-tron/contracts/precrime/PreCrime.sol/PreCrime.json +352 -0
  75. package/artifacts-tron/contracts/precrime/extensions/PreCrimeE1.sol/PreCrimeE1.json +352 -0
  76. package/artifacts-tron/contracts/precrime/interfaces/IOAppPreCrimeSimulator.sol/IOAppPreCrimeSimulator.json +175 -0
  77. package/artifacts-tron/contracts/precrime/interfaces/IPreCrime.sol/IPreCrime.json +188 -0
  78. package/artifacts-tron/contracts/precrime/libs/Packet.sol/PacketDecoder.json +10 -0
  79. package/artifacts-tron/contracts/proxy/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +160 -0
  80. package/artifacts-tron/contracts/uln/LzExecutor.sol/IReceiveUlnView.json +35 -0
  81. package/artifacts-tron/contracts/uln/LzExecutor.sol/LzExecutor.json +515 -0
  82. package/artifacts-tron/contracts/uln/ReceiveUlnBase.sol/ReceiveUlnBase.json +551 -0
  83. package/artifacts-tron/contracts/uln/SendUlnBase.sol/SendUlnBase.json +412 -0
  84. package/artifacts-tron/contracts/uln/UlnBase.sol/UlnBase.json +387 -0
  85. package/artifacts-tron/contracts/uln/dvn/DVN.sol/DVN.json +1370 -0
  86. package/artifacts-tron/contracts/uln/dvn/DVNFeeLib.sol/DVNFeeLib.json +311 -0
  87. package/artifacts-tron/contracts/uln/dvn/MultiSig.sol/MultiSig.json +164 -0
  88. package/artifacts-tron/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapter.sol/CCIPDVNAdapter.json +1040 -0
  89. package/artifacts-tron/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapterFeeLib.sol/CCIPDVNAdapterFeeLib.json +417 -0
  90. package/artifacts-tron/contracts/uln/dvn/adapters/DVNAdapterBase.sol/DVNAdapterBase.json +789 -0
  91. package/artifacts-tron/contracts/uln/dvn/adapters/DVNAdapterBase.sol/IReceiveUln.json +34 -0
  92. package/artifacts-tron/contracts/uln/dvn/adapters/DVNAdapterBase.sol/ISendLibBase.json +30 -0
  93. package/artifacts-tron/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL1.sol/ArbitrumDVNAdapterL1.json +936 -0
  94. package/artifacts-tron/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL2.sol/ArbitrumDVNAdapterL2.json +868 -0
  95. package/artifacts-tron/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/AxelarDVNAdapter.json +1171 -0
  96. package/artifacts-tron/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/ISendLibBase.json +30 -0
  97. package/artifacts-tron/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapterFeeLib.sol/AxelarDVNAdapterFeeLib.json +574 -0
  98. package/artifacts-tron/contracts/uln/dvn/adapters/libs/DVNAdapterMessageCodec.sol/DVNAdapterMessageCodec.json +16 -0
  99. package/artifacts-tron/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL1.sol/OptimismDVNAdapterL1.json +924 -0
  100. package/artifacts-tron/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL2.sol/OptimismDVNAdapterL2.json +891 -0
  101. package/artifacts-tron/contracts/uln/interfaces/IDVN.sol/IDVN.json +370 -0
  102. package/artifacts-tron/contracts/uln/interfaces/IDVNFeeLib.sol/IDVNFeeLib.json +189 -0
  103. package/artifacts-tron/contracts/uln/interfaces/ILayerZeroDVN.sol/ILayerZeroDVN.json +96 -0
  104. package/artifacts-tron/contracts/uln/interfaces/IReceiveUlnE2.sol/IReceiveUlnE2.json +52 -0
  105. package/artifacts-tron/contracts/uln/interfaces/adapters/IAxelarDVNAdapter.sol/IAxelarDVNAdapter.json +160 -0
  106. package/artifacts-tron/contracts/uln/interfaces/adapters/IAxelarDVNAdapterFeeLib.sol/IAxelarDVNAdapterFeeLib.json +293 -0
  107. package/artifacts-tron/contracts/uln/interfaces/adapters/ICCIPDVNAdapter.sol/ICCIPDVNAdapter.json +78 -0
  108. package/artifacts-tron/contracts/uln/interfaces/adapters/ICCIPDVNAdapterFeeLib.sol/ICCIPDVNAdapterFeeLib.json +301 -0
  109. package/artifacts-tron/contracts/uln/libs/DVNOptions.sol/DVNOptions.json +27 -0
  110. package/artifacts-tron/contracts/uln/libs/UlnOptions.sol/UlnOptions.json +54 -0
  111. package/artifacts-tron/contracts/uln/uln301/AddressSizeConfig.sol/AddressSizeConfig.json +129 -0
  112. package/artifacts-tron/contracts/uln/uln301/ReceiveLibBaseE1.sol/ILayerZeroReceiveLibrary.json +68 -0
  113. package/artifacts-tron/contracts/uln/uln301/ReceiveLibBaseE1.sol/ReceiveLibBaseE1.json +416 -0
  114. package/artifacts-tron/contracts/uln/uln301/ReceiveUln301.sol/ReceiveUln301.json +1000 -0
  115. package/artifacts-tron/contracts/uln/uln301/ReceiveUln301View.sol/IReceiveUln301.json +178 -0
  116. package/artifacts-tron/contracts/uln/uln301/ReceiveUln301View.sol/ReceiveUln301View.json +126 -0
  117. package/artifacts-tron/contracts/uln/uln301/SendLibBaseE1.sol/SendLibBaseE1.json +804 -0
  118. package/artifacts-tron/contracts/uln/uln301/SendUln301.sol/SendUln301.json +1278 -0
  119. package/artifacts-tron/contracts/uln/uln301/TreasuryFeeHandler.sol/TreasuryFeeHandler.json +94 -0
  120. package/artifacts-tron/contracts/uln/uln301/interfaces/IMessageLibE1.sol/IMessageLibE1.json +247 -0
  121. package/artifacts-tron/contracts/uln/uln301/interfaces/INonceContract.sol/INonceContract.json +40 -0
  122. package/artifacts-tron/contracts/uln/uln301/interfaces/ITreasuryFeeHandler.sol/ITreasuryFeeHandler.json +44 -0
  123. package/artifacts-tron/contracts/uln/uln301/interfaces/IUltraLightNode301.sol/IUltraLightNode301.json +29 -0
  124. package/artifacts-tron/contracts/uln/uln301/mocks/NonceContractMock.sol/NonceContractMock.json +93 -0
  125. package/artifacts-tron/contracts/uln/uln302/ReceiveUln302.sol/ReceiveUln302.json +757 -0
  126. package/artifacts-tron/contracts/uln/uln302/ReceiveUln302View.sol/IReceiveUln302.json +146 -0
  127. package/artifacts-tron/contracts/uln/uln302/ReceiveUln302View.sol/ReceiveUln302View.json +251 -0
  128. package/artifacts-tron/contracts/uln/uln302/SendUln302.sol/SendUln302.json +1259 -0
  129. package/artifacts-tron/contracts/upgradeable/WorkerUpgradeable.sol/WorkerUpgradeable.json +592 -0
  130. package/artifacts-tron/contracts/upgradeable/proxy/ProxyAdmin.sol/ProxyAdmin.json +181 -0
  131. package/artifacts-tron/contracts/upgradeable/proxy/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +160 -0
  132. package/artifacts-zk/contracts/EndpointV2.sol/EndpointV2.json +2364 -0
  133. package/artifacts-zk/contracts/EndpointV2Alt.sol/EndpointV2Alt.json +2379 -0
  134. package/artifacts-zk/contracts/EndpointV2View.sol/EndpointV2View.json +210 -0
  135. package/artifacts-zk/contracts/EndpointV2ViewUpgradeable.sol/EndpointV2ViewUpgradeable.json +197 -0
  136. package/artifacts-zk/contracts/Executor.sol/Executor.json +1157 -0
  137. package/artifacts-zk/contracts/ExecutorFeeLib.sol/ExecutorFeeLib.json +353 -0
  138. package/artifacts-zk/contracts/MessageLibBase.sol/MessageLibBase.json +17 -0
  139. package/artifacts-zk/contracts/MessageLibManager.sol/MessageLibManager.json +772 -0
  140. package/artifacts-zk/contracts/MessagingChannel.sol/MessagingChannel.json +427 -0
  141. package/artifacts-zk/contracts/MessagingComposer.sol/MessagingComposer.json +321 -0
  142. package/artifacts-zk/contracts/MessagingContext.sol/MessagingContext.json +43 -0
  143. package/artifacts-zk/contracts/PriceFeed.sol/PriceFeed.json +651 -0
  144. package/artifacts-zk/contracts/ReceiveLibBaseE2.sol/ReceiveLibBaseE2.json +155 -0
  145. package/artifacts-zk/contracts/SendLibBase.sol/SendLibBase.json +382 -0
  146. package/artifacts-zk/contracts/SendLibBaseE2.sol/SendLibBaseE2.json +820 -0
  147. package/artifacts-zk/contracts/Treasury.sol/Treasury.json +310 -0
  148. package/artifacts-zk/contracts/Worker.sol/Worker.json +580 -0
  149. package/artifacts-zk/contracts/interfaces/IExecutor.sol/IExecutor.json +430 -0
  150. package/artifacts-zk/contracts/interfaces/IExecutorFeeLib.sol/IExecutorFeeLib.json +227 -0
  151. package/artifacts-zk/contracts/interfaces/ILayerZeroComposer.sol/ILayerZeroComposer.json +45 -0
  152. package/artifacts-zk/contracts/interfaces/ILayerZeroEndpointV2.sol/ILayerZeroEndpointV2.json +1900 -0
  153. package/artifacts-zk/contracts/interfaces/ILayerZeroExecutor.sol/ILayerZeroExecutor.json +80 -0
  154. package/artifacts-zk/contracts/interfaces/ILayerZeroPriceFeed.sol/ILayerZeroPriceFeed.json +223 -0
  155. package/artifacts-zk/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.json +122 -0
  156. package/artifacts-zk/contracts/interfaces/ILayerZeroTreasury.sol/ILayerZeroTreasury.json +80 -0
  157. package/artifacts-zk/contracts/interfaces/IMessageLib.sol/IMessageLib.json +150 -0
  158. package/artifacts-zk/contracts/interfaces/IMessageLibManager.sol/IMessageLibManager.json +647 -0
  159. package/artifacts-zk/contracts/interfaces/IMessagingChannel.sol/IMessagingChannel.json +374 -0
  160. package/artifacts-zk/contracts/interfaces/IMessagingComposer.sol/IMessagingComposer.json +247 -0
  161. package/artifacts-zk/contracts/interfaces/IMessagingContext.sol/IMessagingContext.json +43 -0
  162. package/artifacts-zk/contracts/interfaces/ISendLib.sol/ISendLib.json +365 -0
  163. package/artifacts-zk/contracts/interfaces/IWorker.sol/IWorker.json +222 -0
  164. package/artifacts-zk/contracts/libs/AddressCast.sol/AddressCast.json +22 -0
  165. package/artifacts-zk/contracts/libs/CalldataBytesLib.sol/CalldataBytesLib.json +11 -0
  166. package/artifacts-zk/contracts/libs/Errors.sol/Errors.json +212 -0
  167. package/artifacts-zk/contracts/libs/GUID.sol/GUID.json +11 -0
  168. package/artifacts-zk/contracts/libs/SafeCall.sol/SafeCall.json +11 -0
  169. package/artifacts-zk/contracts/libs/Transfer.sol/Transfer.json +33 -0
  170. package/artifacts-zk/contracts/messagelib/BlockedMessageLib.sol/BlockedMessageLib.json +95 -0
  171. package/artifacts-zk/contracts/messagelib/SimpleMessageLib.sol/SimpleMessageLib.json +592 -0
  172. package/artifacts-zk/contracts/messagelib/libs/BitMaps.sol/BitMaps.json +11 -0
  173. package/artifacts-zk/contracts/messagelib/libs/ExecutorOptions.sol/ExecutorOptions.json +27 -0
  174. package/artifacts-zk/contracts/messagelib/libs/PacketV1Codec.sol/PacketV1Codec.json +11 -0
  175. package/artifacts-zk/contracts/proxy/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +161 -0
  176. package/artifacts-zk/contracts/uln/LzExecutor.sol/IReceiveUlnView.json +36 -0
  177. package/artifacts-zk/contracts/uln/LzExecutor.sol/LzExecutor.json +516 -0
  178. package/artifacts-zk/contracts/uln/ReceiveUlnBase.sol/ReceiveUlnBase.json +552 -0
  179. package/artifacts-zk/contracts/uln/SendUlnBase.sol/SendUlnBase.json +413 -0
  180. package/artifacts-zk/contracts/uln/UlnBase.sol/UlnBase.json +388 -0
  181. package/artifacts-zk/contracts/uln/dvn/DVN.sol/DVN.json +1371 -0
  182. package/artifacts-zk/contracts/uln/dvn/DVNFeeLib.sol/DVNFeeLib.json +312 -0
  183. package/artifacts-zk/contracts/uln/dvn/MultiSig.sol/MultiSig.json +165 -0
  184. package/artifacts-zk/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapter.sol/CCIPDVNAdapter.json +1062 -0
  185. package/artifacts-zk/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapterFeeLib.sol/CCIPDVNAdapterFeeLib.json +418 -0
  186. package/artifacts-zk/contracts/uln/dvn/adapters/DVNAdapterBase.sol/DVNAdapterBase.json +790 -0
  187. package/artifacts-zk/contracts/uln/dvn/adapters/DVNAdapterBase.sol/IReceiveUln.json +35 -0
  188. package/artifacts-zk/contracts/uln/dvn/adapters/DVNAdapterBase.sol/ISendLibBase.json +31 -0
  189. package/artifacts-zk/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL1.sol/ArbitrumDVNAdapterL1.json +937 -0
  190. package/artifacts-zk/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL2.sol/ArbitrumDVNAdapterL2.json +869 -0
  191. package/artifacts-zk/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/AxelarDVNAdapter.json +1167 -0
  192. package/artifacts-zk/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/ISendLibBase.json +31 -0
  193. package/artifacts-zk/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapterFeeLib.sol/AxelarDVNAdapterFeeLib.json +575 -0
  194. package/artifacts-zk/contracts/uln/dvn/adapters/libs/DVNAdapterMessageCodec.sol/DVNAdapterMessageCodec.json +17 -0
  195. package/artifacts-zk/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL1.sol/OptimismDVNAdapterL1.json +925 -0
  196. package/artifacts-zk/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL2.sol/OptimismDVNAdapterL2.json +892 -0
  197. package/artifacts-zk/contracts/uln/interfaces/IDVN.sol/IDVN.json +371 -0
  198. package/artifacts-zk/contracts/uln/interfaces/IDVNFeeLib.sol/IDVNFeeLib.json +190 -0
  199. package/artifacts-zk/contracts/uln/interfaces/ILayerZeroDVN.sol/ILayerZeroDVN.json +97 -0
  200. package/artifacts-zk/contracts/uln/interfaces/IReceiveUlnE2.sol/IReceiveUlnE2.json +53 -0
  201. package/artifacts-zk/contracts/uln/interfaces/adapters/IAxelarDVNAdapter.sol/IAxelarDVNAdapter.json +161 -0
  202. package/artifacts-zk/contracts/uln/interfaces/adapters/IAxelarDVNAdapterFeeLib.sol/IAxelarDVNAdapterFeeLib.json +294 -0
  203. package/artifacts-zk/contracts/uln/interfaces/adapters/ICCIPDVNAdapter.sol/ICCIPDVNAdapter.json +92 -0
  204. package/artifacts-zk/contracts/uln/interfaces/adapters/ICCIPDVNAdapterFeeLib.sol/ICCIPDVNAdapterFeeLib.json +302 -0
  205. package/artifacts-zk/contracts/uln/libs/DVNOptions.sol/DVNOptions.json +28 -0
  206. package/artifacts-zk/contracts/uln/libs/UlnOptions.sol/UlnOptions.json +55 -0
  207. package/artifacts-zk/contracts/uln/uln301/AddressSizeConfig.sol/AddressSizeConfig.json +130 -0
  208. package/artifacts-zk/contracts/uln/uln301/ReceiveLibBaseE1.sol/ILayerZeroReceiveLibrary.json +69 -0
  209. package/artifacts-zk/contracts/uln/uln301/ReceiveLibBaseE1.sol/ReceiveLibBaseE1.json +417 -0
  210. package/artifacts-zk/contracts/uln/uln301/ReceiveUln301.sol/ReceiveUln301.json +1001 -0
  211. package/artifacts-zk/contracts/uln/uln301/ReceiveUln301View.sol/IReceiveUln301.json +179 -0
  212. package/artifacts-zk/contracts/uln/uln301/ReceiveUln301View.sol/ReceiveUln301View.json +127 -0
  213. package/artifacts-zk/contracts/uln/uln301/SendLibBaseE1.sol/SendLibBaseE1.json +805 -0
  214. package/artifacts-zk/contracts/uln/uln301/SendUln301.sol/SendUln301.json +1279 -0
  215. package/artifacts-zk/contracts/uln/uln301/TreasuryFeeHandler.sol/TreasuryFeeHandler.json +95 -0
  216. package/artifacts-zk/contracts/uln/uln301/interfaces/IMessageLibE1.sol/IMessageLibE1.json +248 -0
  217. package/artifacts-zk/contracts/uln/uln301/interfaces/INonceContract.sol/INonceContract.json +41 -0
  218. package/artifacts-zk/contracts/uln/uln301/interfaces/ITreasuryFeeHandler.sol/ITreasuryFeeHandler.json +45 -0
  219. package/artifacts-zk/contracts/uln/uln301/interfaces/IUltraLightNode301.sol/IUltraLightNode301.json +30 -0
  220. package/artifacts-zk/contracts/uln/uln301/mocks/NonceContractMock.sol/NonceContractMock.json +94 -0
  221. package/artifacts-zk/contracts/uln/uln302/ReceiveUln302.sol/ReceiveUln302.json +758 -0
  222. package/artifacts-zk/contracts/uln/uln302/ReceiveUln302View.sol/IReceiveUln302.json +147 -0
  223. package/artifacts-zk/contracts/uln/uln302/ReceiveUln302View.sol/ReceiveUln302View.json +252 -0
  224. package/artifacts-zk/contracts/uln/uln302/SendUln302.sol/SendUln302.json +1260 -0
  225. package/artifacts-zk/contracts/upgradeable/WorkerUpgradeable.sol/WorkerUpgradeable.json +593 -0
  226. package/artifacts-zk/contracts/upgradeable/proxy/ProxyAdmin.sol/ProxyAdmin.json +182 -0
  227. package/artifacts-zk/contracts/upgradeable/proxy/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +161 -0
  228. package/deployments/arbitrum-sandbox-local/DVN.json +10 -10
  229. package/deployments/arbitrum-sandbox-local/DVNDecompressor.json +7 -7
  230. package/deployments/arbitrum-sandbox-local/DVNFeeLib.json +7 -7
  231. package/deployments/arbitrum-sandbox-local/PriceFeed.json +16 -16
  232. package/deployments/arbitrum-sandbox-local/PriceFeedProxyAdmin.json +10 -10
  233. package/deployments/arbitrum-sandbox-local/PriceFeed_Implementation.json +4 -4
  234. package/deployments/arbitrum-sandbox-local/PriceFeed_Proxy.json +16 -16
  235. package/deployments/bsc-sandbox-local/DVN.json +16 -16
  236. package/deployments/bsc-sandbox-local/DVNDecompressor.json +7 -7
  237. package/deployments/bsc-sandbox-local/DVNFeeLib.json +7 -7
  238. package/deployments/bsc-sandbox-local/DefaultProxyAdmin.json +7 -7
  239. package/deployments/bsc-sandbox-local/EndpointV2.json +13 -13
  240. package/deployments/bsc-sandbox-local/EndpointV2View.json +13 -13
  241. package/deployments/bsc-sandbox-local/EndpointV2View_Implementation.json +4 -4
  242. package/deployments/bsc-sandbox-local/EndpointV2View_Proxy.json +13 -13
  243. package/deployments/bsc-sandbox-local/Executor.json +43 -43
  244. package/deployments/bsc-sandbox-local/ExecutorDecompressor.json +7 -7
  245. package/deployments/bsc-sandbox-local/ExecutorFeeLib.json +7 -7
  246. package/deployments/bsc-sandbox-local/ExecutorProxyAdmin.json +10 -10
  247. package/deployments/bsc-sandbox-local/Executor_Implementation.json +4 -4
  248. package/deployments/bsc-sandbox-local/Executor_Proxy.json +43 -43
  249. package/deployments/bsc-sandbox-local/LzExecutor.json +16 -16
  250. package/deployments/bsc-sandbox-local/LzExecutor_Implementation.json +4 -4
  251. package/deployments/bsc-sandbox-local/LzExecutor_Proxy.json +16 -16
  252. package/deployments/bsc-sandbox-local/NonceContractMock.json +4 -4
  253. package/deployments/bsc-sandbox-local/PriceFeed.json +16 -16
  254. package/deployments/bsc-sandbox-local/PriceFeedProxyAdmin.json +10 -10
  255. package/deployments/bsc-sandbox-local/PriceFeed_Implementation.json +4 -4
  256. package/deployments/bsc-sandbox-local/PriceFeed_Proxy.json +16 -16
  257. package/deployments/bsc-sandbox-local/ReceiveUln301.json +7 -7
  258. package/deployments/bsc-sandbox-local/ReceiveUln301View.json +13 -13
  259. package/deployments/bsc-sandbox-local/ReceiveUln301View_Implementation.json +4 -4
  260. package/deployments/bsc-sandbox-local/ReceiveUln301View_Proxy.json +13 -13
  261. package/deployments/bsc-sandbox-local/ReceiveUln302.json +7 -7
  262. package/deployments/bsc-sandbox-local/ReceiveUln302View.json +13 -13
  263. package/deployments/bsc-sandbox-local/ReceiveUln302View_Implementation.json +4 -4
  264. package/deployments/bsc-sandbox-local/ReceiveUln302View_Proxy.json +13 -13
  265. package/deployments/bsc-sandbox-local/SendUln301.json +7 -7
  266. package/deployments/bsc-sandbox-local/SendUln302.json +7 -7
  267. package/deployments/bsc-sandbox-local/SimpleMessageLib.json +7 -7
  268. package/deployments/bsc-sandbox-local/Treasury.json +7 -7
  269. package/deployments/bsc-sandbox-local/TreasuryFeeHandler.json +4 -4
  270. package/deployments/cyber-mainnet/DVN.json +1914 -0
  271. package/deployments/cyber-mainnet/DVNFeeLib.json +399 -0
  272. package/deployments/cyber-mainnet/DefaultProxyAdmin.json +259 -0
  273. package/deployments/cyber-mainnet/EndpointV2.json +2989 -0
  274. package/deployments/cyber-mainnet/EndpointV2View.json +436 -0
  275. package/deployments/cyber-mainnet/EndpointV2View_Implementation.json +314 -0
  276. package/deployments/cyber-mainnet/EndpointV2View_Proxy.json +231 -0
  277. package/deployments/cyber-mainnet/Executor.json +1621 -0
  278. package/deployments/cyber-mainnet/ExecutorFeeLib.json +439 -0
  279. package/deployments/cyber-mainnet/ExecutorProxyAdmin.json +284 -0
  280. package/deployments/cyber-mainnet/Executor_Implementation.json +1720 -0
  281. package/deployments/cyber-mainnet/Executor_Proxy.json +336 -0
  282. package/deployments/cyber-mainnet/LzExecutor.json +758 -0
  283. package/deployments/cyber-mainnet/LzExecutor_Implementation.json +704 -0
  284. package/deployments/cyber-mainnet/LzExecutor_Proxy.json +245 -0
  285. package/deployments/cyber-mainnet/PriceFeed.json +935 -0
  286. package/deployments/cyber-mainnet/PriceFeedProxyAdmin.json +284 -0
  287. package/deployments/cyber-mainnet/PriceFeed_Implementation.json +977 -0
  288. package/deployments/cyber-mainnet/PriceFeed_Proxy.json +245 -0
  289. package/deployments/cyber-mainnet/ReceiveUln301.json +1293 -0
  290. package/deployments/cyber-mainnet/ReceiveUln301View.json +355 -0
  291. package/deployments/cyber-mainnet/ReceiveUln301View_Implementation.json +232 -0
  292. package/deployments/cyber-mainnet/ReceiveUln301View_Proxy.json +231 -0
  293. package/deployments/cyber-mainnet/ReceiveUln302.json +1007 -0
  294. package/deployments/cyber-mainnet/ReceiveUln302View.json +479 -0
  295. package/deployments/cyber-mainnet/ReceiveUln302View_Implementation.json +385 -0
  296. package/deployments/cyber-mainnet/ReceiveUln302View_Proxy.json +231 -0
  297. package/deployments/cyber-mainnet/SendUln301.json +1570 -0
  298. package/deployments/cyber-mainnet/SendUln302.json +1528 -0
  299. package/deployments/cyber-mainnet/Treasury.json +413 -0
  300. package/deployments/cyber-mainnet/TreasuryFeeHandler.json +126 -0
  301. package/deployments/ethereum-sandbox-local/DVN.json +16 -16
  302. package/deployments/ethereum-sandbox-local/DVNDecompressor.json +7 -7
  303. package/deployments/ethereum-sandbox-local/DVNFeeLib.json +7 -7
  304. package/deployments/ethereum-sandbox-local/DefaultProxyAdmin.json +7 -7
  305. package/deployments/ethereum-sandbox-local/EndpointV2.json +13 -13
  306. package/deployments/ethereum-sandbox-local/EndpointV2View.json +13 -13
  307. package/deployments/ethereum-sandbox-local/EndpointV2View_Implementation.json +4 -4
  308. package/deployments/ethereum-sandbox-local/EndpointV2View_Proxy.json +13 -13
  309. package/deployments/ethereum-sandbox-local/Executor.json +43 -43
  310. package/deployments/ethereum-sandbox-local/ExecutorDecompressor.json +7 -7
  311. package/deployments/ethereum-sandbox-local/ExecutorFeeLib.json +7 -7
  312. package/deployments/ethereum-sandbox-local/ExecutorProxyAdmin.json +10 -10
  313. package/deployments/ethereum-sandbox-local/Executor_Implementation.json +4 -4
  314. package/deployments/ethereum-sandbox-local/Executor_Proxy.json +43 -43
  315. package/deployments/ethereum-sandbox-local/LzExecutor.json +16 -16
  316. package/deployments/ethereum-sandbox-local/LzExecutor_Implementation.json +4 -4
  317. package/deployments/ethereum-sandbox-local/LzExecutor_Proxy.json +16 -16
  318. package/deployments/ethereum-sandbox-local/NonceContractMock.json +4 -4
  319. package/deployments/ethereum-sandbox-local/PriceFeed.json +16 -16
  320. package/deployments/ethereum-sandbox-local/PriceFeedProxyAdmin.json +10 -10
  321. package/deployments/ethereum-sandbox-local/PriceFeed_Implementation.json +4 -4
  322. package/deployments/ethereum-sandbox-local/PriceFeed_Proxy.json +16 -16
  323. package/deployments/ethereum-sandbox-local/ReceiveUln301.json +7 -7
  324. package/deployments/ethereum-sandbox-local/ReceiveUln301View.json +13 -13
  325. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Implementation.json +4 -4
  326. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Proxy.json +13 -13
  327. package/deployments/ethereum-sandbox-local/ReceiveUln302.json +7 -7
  328. package/deployments/ethereum-sandbox-local/ReceiveUln302View.json +13 -13
  329. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Implementation.json +4 -4
  330. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Proxy.json +13 -13
  331. package/deployments/ethereum-sandbox-local/SendUln301.json +7 -7
  332. package/deployments/ethereum-sandbox-local/SendUln302.json +7 -7
  333. package/deployments/ethereum-sandbox-local/SimpleMessageLib.json +7 -7
  334. package/deployments/ethereum-sandbox-local/Treasury.json +7 -7
  335. package/deployments/ethereum-sandbox-local/TreasuryFeeHandler.json +4 -4
  336. package/deployments/iota-mainnet/DVN.json +1914 -0
  337. package/deployments/iota-mainnet/DVNFeeLib.json +399 -0
  338. package/deployments/iota-mainnet/DefaultProxyAdmin.json +259 -0
  339. package/deployments/iota-mainnet/EndpointV2.json +2989 -0
  340. package/deployments/iota-mainnet/EndpointV2View.json +436 -0
  341. package/deployments/iota-mainnet/EndpointV2View_Implementation.json +314 -0
  342. package/deployments/iota-mainnet/EndpointV2View_Proxy.json +231 -0
  343. package/deployments/iota-mainnet/Executor.json +1621 -0
  344. package/deployments/iota-mainnet/ExecutorFeeLib.json +439 -0
  345. package/deployments/iota-mainnet/ExecutorProxyAdmin.json +284 -0
  346. package/deployments/iota-mainnet/Executor_Implementation.json +1720 -0
  347. package/deployments/iota-mainnet/Executor_Proxy.json +336 -0
  348. package/deployments/iota-mainnet/LzExecutor.json +758 -0
  349. package/deployments/iota-mainnet/LzExecutor_Implementation.json +704 -0
  350. package/deployments/iota-mainnet/LzExecutor_Proxy.json +245 -0
  351. package/deployments/iota-mainnet/PriceFeed.json +935 -0
  352. package/deployments/iota-mainnet/PriceFeedProxyAdmin.json +284 -0
  353. package/deployments/iota-mainnet/PriceFeed_Implementation.json +977 -0
  354. package/deployments/iota-mainnet/PriceFeed_Proxy.json +245 -0
  355. package/deployments/iota-mainnet/ReceiveUln301.json +1293 -0
  356. package/deployments/iota-mainnet/ReceiveUln301View.json +355 -0
  357. package/deployments/iota-mainnet/ReceiveUln301View_Implementation.json +232 -0
  358. package/deployments/iota-mainnet/ReceiveUln301View_Proxy.json +231 -0
  359. package/deployments/iota-mainnet/ReceiveUln302.json +1007 -0
  360. package/deployments/iota-mainnet/ReceiveUln302View.json +479 -0
  361. package/deployments/iota-mainnet/ReceiveUln302View_Implementation.json +385 -0
  362. package/deployments/iota-mainnet/ReceiveUln302View_Proxy.json +231 -0
  363. package/deployments/iota-mainnet/SendUln301.json +1570 -0
  364. package/deployments/iota-mainnet/SendUln302.json +1528 -0
  365. package/deployments/iota-mainnet/Treasury.json +413 -0
  366. package/deployments/iota-mainnet/TreasuryFeeHandler.json +126 -0
  367. package/deployments/polygon-sandbox-local/DVN.json +5 -5
  368. package/deployments/polygon-sandbox-local/DVNDecompressor.json +2 -2
  369. package/deployments/polygon-sandbox-local/DVNFeeLib.json +2 -2
  370. package/deployments/polygon-sandbox-local/DefaultProxyAdmin.json +2 -2
  371. package/deployments/polygon-sandbox-local/EndpointV2.json +4 -4
  372. package/deployments/polygon-sandbox-local/EndpointV2View.json +4 -4
  373. package/deployments/polygon-sandbox-local/EndpointV2View_Implementation.json +1 -1
  374. package/deployments/polygon-sandbox-local/EndpointV2View_Proxy.json +4 -4
  375. package/deployments/polygon-sandbox-local/Executor.json +14 -14
  376. package/deployments/polygon-sandbox-local/ExecutorDecompressor.json +2 -2
  377. package/deployments/polygon-sandbox-local/ExecutorFeeLib.json +2 -2
  378. package/deployments/polygon-sandbox-local/ExecutorProxyAdmin.json +3 -3
  379. package/deployments/polygon-sandbox-local/Executor_Implementation.json +1 -1
  380. package/deployments/polygon-sandbox-local/Executor_Proxy.json +14 -14
  381. package/deployments/polygon-sandbox-local/LzExecutor.json +5 -5
  382. package/deployments/polygon-sandbox-local/LzExecutor_Implementation.json +1 -1
  383. package/deployments/polygon-sandbox-local/LzExecutor_Proxy.json +5 -5
  384. package/deployments/polygon-sandbox-local/NonceContractMock.json +1 -1
  385. package/deployments/polygon-sandbox-local/PriceFeed.json +5 -5
  386. package/deployments/polygon-sandbox-local/PriceFeedProxyAdmin.json +3 -3
  387. package/deployments/polygon-sandbox-local/PriceFeed_Implementation.json +1 -1
  388. package/deployments/polygon-sandbox-local/PriceFeed_Proxy.json +5 -5
  389. package/deployments/polygon-sandbox-local/ReceiveUln301.json +2 -2
  390. package/deployments/polygon-sandbox-local/ReceiveUln301View.json +4 -4
  391. package/deployments/polygon-sandbox-local/ReceiveUln301View_Implementation.json +1 -1
  392. package/deployments/polygon-sandbox-local/ReceiveUln301View_Proxy.json +4 -4
  393. package/deployments/polygon-sandbox-local/ReceiveUln302.json +2 -2
  394. package/deployments/polygon-sandbox-local/ReceiveUln302View.json +4 -4
  395. package/deployments/polygon-sandbox-local/ReceiveUln302View_Implementation.json +1 -1
  396. package/deployments/polygon-sandbox-local/ReceiveUln302View_Proxy.json +4 -4
  397. package/deployments/polygon-sandbox-local/SendUln301.json +2 -2
  398. package/deployments/polygon-sandbox-local/SendUln302.json +2 -2
  399. package/deployments/polygon-sandbox-local/SimpleMessageLib.json +2 -2
  400. package/deployments/polygon-sandbox-local/Treasury.json +2 -2
  401. package/deployments/polygon-sandbox-local/TreasuryFeeHandler.json +1 -1
  402. package/deployments/tron-sandbox-local/DVN.json +17 -17
  403. package/deployments/tron-sandbox-local/DVNDecompressor.json +12 -12
  404. package/deployments/tron-sandbox-local/DVNFeeLib.json +10 -10
  405. package/deployments/tron-sandbox-local/PriceFeed.json +27 -27
  406. package/deployments/tron-sandbox-local/PriceFeedProxyAdmin.json +14 -14
  407. package/deployments/tron-sandbox-local/PriceFeed_Implementation.json +6 -6
  408. package/deployments/tron-sandbox-local/PriceFeed_Proxy.json +26 -26
  409. package/deployments/zksyncsep-testnet/EndpointV2View.json +3 -9
  410. package/deployments/zksyncsep-testnet/EndpointV2View_Implementation.json +41 -41
  411. package/deployments/zksyncsep-testnet/PriceFeed.json +52 -14
  412. package/deployments/zksyncsep-testnet/PriceFeed_Implementation.json +133 -69
  413. package/package.json +11 -9
@@ -0,0 +1,925 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "OmniCounter",
4
+ "sourceName": "contracts/oapp/examples/OmniCounter.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_endpoint",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_delegate",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "inputs": [],
24
+ "name": "InvalidDelegate",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [],
29
+ "name": "InvalidEndpointCall",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [
34
+ {
35
+ "internalType": "uint16",
36
+ "name": "optionType",
37
+ "type": "uint16"
38
+ }
39
+ ],
40
+ "name": "InvalidOptionType",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [],
45
+ "name": "LzTokenUnavailable",
46
+ "type": "error"
47
+ },
48
+ {
49
+ "inputs": [
50
+ {
51
+ "internalType": "uint32",
52
+ "name": "eid",
53
+ "type": "uint32"
54
+ }
55
+ ],
56
+ "name": "NoPeer",
57
+ "type": "error"
58
+ },
59
+ {
60
+ "inputs": [
61
+ {
62
+ "internalType": "uint256",
63
+ "name": "msgValue",
64
+ "type": "uint256"
65
+ }
66
+ ],
67
+ "name": "NotEnoughNative",
68
+ "type": "error"
69
+ },
70
+ {
71
+ "inputs": [
72
+ {
73
+ "internalType": "address",
74
+ "name": "addr",
75
+ "type": "address"
76
+ }
77
+ ],
78
+ "name": "OnlyEndpoint",
79
+ "type": "error"
80
+ },
81
+ {
82
+ "inputs": [
83
+ {
84
+ "internalType": "uint32",
85
+ "name": "eid",
86
+ "type": "uint32"
87
+ },
88
+ {
89
+ "internalType": "bytes32",
90
+ "name": "sender",
91
+ "type": "bytes32"
92
+ }
93
+ ],
94
+ "name": "OnlyPeer",
95
+ "type": "error"
96
+ },
97
+ {
98
+ "inputs": [],
99
+ "name": "OnlySelf",
100
+ "type": "error"
101
+ },
102
+ {
103
+ "inputs": [
104
+ {
105
+ "internalType": "bytes",
106
+ "name": "result",
107
+ "type": "bytes"
108
+ }
109
+ ],
110
+ "name": "SimulationResult",
111
+ "type": "error"
112
+ },
113
+ {
114
+ "anonymous": false,
115
+ "inputs": [
116
+ {
117
+ "indexed": true,
118
+ "internalType": "address",
119
+ "name": "previousOwner",
120
+ "type": "address"
121
+ },
122
+ {
123
+ "indexed": true,
124
+ "internalType": "address",
125
+ "name": "newOwner",
126
+ "type": "address"
127
+ }
128
+ ],
129
+ "name": "OwnershipTransferred",
130
+ "type": "event"
131
+ },
132
+ {
133
+ "anonymous": false,
134
+ "inputs": [
135
+ {
136
+ "indexed": false,
137
+ "internalType": "uint32",
138
+ "name": "eid",
139
+ "type": "uint32"
140
+ },
141
+ {
142
+ "indexed": false,
143
+ "internalType": "bytes32",
144
+ "name": "peer",
145
+ "type": "bytes32"
146
+ }
147
+ ],
148
+ "name": "PeerSet",
149
+ "type": "event"
150
+ },
151
+ {
152
+ "anonymous": false,
153
+ "inputs": [
154
+ {
155
+ "indexed": false,
156
+ "internalType": "address",
157
+ "name": "preCrimeAddress",
158
+ "type": "address"
159
+ }
160
+ ],
161
+ "name": "PreCrimeSet",
162
+ "type": "event"
163
+ },
164
+ {
165
+ "stateMutability": "payable",
166
+ "type": "fallback"
167
+ },
168
+ {
169
+ "inputs": [],
170
+ "name": "admin",
171
+ "outputs": [
172
+ {
173
+ "internalType": "address",
174
+ "name": "",
175
+ "type": "address"
176
+ }
177
+ ],
178
+ "stateMutability": "view",
179
+ "type": "function"
180
+ },
181
+ {
182
+ "inputs": [
183
+ {
184
+ "components": [
185
+ {
186
+ "internalType": "uint32",
187
+ "name": "srcEid",
188
+ "type": "uint32"
189
+ },
190
+ {
191
+ "internalType": "bytes32",
192
+ "name": "sender",
193
+ "type": "bytes32"
194
+ },
195
+ {
196
+ "internalType": "uint64",
197
+ "name": "nonce",
198
+ "type": "uint64"
199
+ }
200
+ ],
201
+ "internalType": "struct Origin",
202
+ "name": "origin",
203
+ "type": "tuple"
204
+ }
205
+ ],
206
+ "name": "allowInitializePath",
207
+ "outputs": [
208
+ {
209
+ "internalType": "bool",
210
+ "name": "",
211
+ "type": "bool"
212
+ }
213
+ ],
214
+ "stateMutability": "view",
215
+ "type": "function"
216
+ },
217
+ {
218
+ "inputs": [
219
+ {
220
+ "internalType": "uint32[]",
221
+ "name": "_eids",
222
+ "type": "uint32[]"
223
+ },
224
+ {
225
+ "internalType": "uint8[]",
226
+ "name": "_types",
227
+ "type": "uint8[]"
228
+ },
229
+ {
230
+ "internalType": "bytes[]",
231
+ "name": "_options",
232
+ "type": "bytes[]"
233
+ }
234
+ ],
235
+ "name": "batchIncrement",
236
+ "outputs": [],
237
+ "stateMutability": "payable",
238
+ "type": "function"
239
+ },
240
+ {
241
+ "inputs": [
242
+ {
243
+ "internalType": "uint32",
244
+ "name": "_eid",
245
+ "type": "uint32"
246
+ },
247
+ {
248
+ "internalType": "uint8",
249
+ "name": "_type",
250
+ "type": "uint8"
251
+ },
252
+ {
253
+ "internalType": "bytes",
254
+ "name": "_options",
255
+ "type": "bytes"
256
+ }
257
+ ],
258
+ "name": "brokenIncrement",
259
+ "outputs": [],
260
+ "stateMutability": "payable",
261
+ "type": "function"
262
+ },
263
+ {
264
+ "inputs": [],
265
+ "name": "composedCount",
266
+ "outputs": [
267
+ {
268
+ "internalType": "uint256",
269
+ "name": "",
270
+ "type": "uint256"
271
+ }
272
+ ],
273
+ "stateMutability": "view",
274
+ "type": "function"
275
+ },
276
+ {
277
+ "inputs": [],
278
+ "name": "count",
279
+ "outputs": [
280
+ {
281
+ "internalType": "uint256",
282
+ "name": "",
283
+ "type": "uint256"
284
+ }
285
+ ],
286
+ "stateMutability": "view",
287
+ "type": "function"
288
+ },
289
+ {
290
+ "inputs": [],
291
+ "name": "eid",
292
+ "outputs": [
293
+ {
294
+ "internalType": "uint32",
295
+ "name": "",
296
+ "type": "uint32"
297
+ }
298
+ ],
299
+ "stateMutability": "view",
300
+ "type": "function"
301
+ },
302
+ {
303
+ "inputs": [],
304
+ "name": "endpoint",
305
+ "outputs": [
306
+ {
307
+ "internalType": "contract ILayerZeroEndpointV2",
308
+ "name": "",
309
+ "type": "address"
310
+ }
311
+ ],
312
+ "stateMutability": "view",
313
+ "type": "function"
314
+ },
315
+ {
316
+ "inputs": [
317
+ {
318
+ "internalType": "uint32",
319
+ "name": "srcEid",
320
+ "type": "uint32"
321
+ }
322
+ ],
323
+ "name": "inboundCount",
324
+ "outputs": [
325
+ {
326
+ "internalType": "uint256",
327
+ "name": "count",
328
+ "type": "uint256"
329
+ }
330
+ ],
331
+ "stateMutability": "view",
332
+ "type": "function"
333
+ },
334
+ {
335
+ "inputs": [
336
+ {
337
+ "internalType": "uint32",
338
+ "name": "_eid",
339
+ "type": "uint32"
340
+ },
341
+ {
342
+ "internalType": "uint8",
343
+ "name": "_type",
344
+ "type": "uint8"
345
+ },
346
+ {
347
+ "internalType": "bytes",
348
+ "name": "_options",
349
+ "type": "bytes"
350
+ }
351
+ ],
352
+ "name": "increment",
353
+ "outputs": [],
354
+ "stateMutability": "payable",
355
+ "type": "function"
356
+ },
357
+ {
358
+ "inputs": [
359
+ {
360
+ "components": [
361
+ {
362
+ "internalType": "uint32",
363
+ "name": "srcEid",
364
+ "type": "uint32"
365
+ },
366
+ {
367
+ "internalType": "bytes32",
368
+ "name": "sender",
369
+ "type": "bytes32"
370
+ },
371
+ {
372
+ "internalType": "uint64",
373
+ "name": "nonce",
374
+ "type": "uint64"
375
+ }
376
+ ],
377
+ "internalType": "struct Origin",
378
+ "name": "",
379
+ "type": "tuple"
380
+ },
381
+ {
382
+ "internalType": "bytes",
383
+ "name": "",
384
+ "type": "bytes"
385
+ },
386
+ {
387
+ "internalType": "address",
388
+ "name": "_sender",
389
+ "type": "address"
390
+ }
391
+ ],
392
+ "name": "isComposeMsgSender",
393
+ "outputs": [
394
+ {
395
+ "internalType": "bool",
396
+ "name": "",
397
+ "type": "bool"
398
+ }
399
+ ],
400
+ "stateMutability": "view",
401
+ "type": "function"
402
+ },
403
+ {
404
+ "inputs": [
405
+ {
406
+ "internalType": "uint32",
407
+ "name": "_eid",
408
+ "type": "uint32"
409
+ },
410
+ {
411
+ "internalType": "bytes32",
412
+ "name": "_peer",
413
+ "type": "bytes32"
414
+ }
415
+ ],
416
+ "name": "isPeer",
417
+ "outputs": [
418
+ {
419
+ "internalType": "bool",
420
+ "name": "",
421
+ "type": "bool"
422
+ }
423
+ ],
424
+ "stateMutability": "view",
425
+ "type": "function"
426
+ },
427
+ {
428
+ "inputs": [
429
+ {
430
+ "internalType": "address",
431
+ "name": "_oApp",
432
+ "type": "address"
433
+ },
434
+ {
435
+ "internalType": "bytes32",
436
+ "name": "",
437
+ "type": "bytes32"
438
+ },
439
+ {
440
+ "internalType": "bytes",
441
+ "name": "_message",
442
+ "type": "bytes"
443
+ },
444
+ {
445
+ "internalType": "address",
446
+ "name": "",
447
+ "type": "address"
448
+ },
449
+ {
450
+ "internalType": "bytes",
451
+ "name": "",
452
+ "type": "bytes"
453
+ }
454
+ ],
455
+ "name": "lzCompose",
456
+ "outputs": [],
457
+ "stateMutability": "payable",
458
+ "type": "function"
459
+ },
460
+ {
461
+ "inputs": [
462
+ {
463
+ "components": [
464
+ {
465
+ "internalType": "uint32",
466
+ "name": "srcEid",
467
+ "type": "uint32"
468
+ },
469
+ {
470
+ "internalType": "bytes32",
471
+ "name": "sender",
472
+ "type": "bytes32"
473
+ },
474
+ {
475
+ "internalType": "uint64",
476
+ "name": "nonce",
477
+ "type": "uint64"
478
+ }
479
+ ],
480
+ "internalType": "struct Origin",
481
+ "name": "_origin",
482
+ "type": "tuple"
483
+ },
484
+ {
485
+ "internalType": "bytes32",
486
+ "name": "_guid",
487
+ "type": "bytes32"
488
+ },
489
+ {
490
+ "internalType": "bytes",
491
+ "name": "_message",
492
+ "type": "bytes"
493
+ },
494
+ {
495
+ "internalType": "address",
496
+ "name": "_executor",
497
+ "type": "address"
498
+ },
499
+ {
500
+ "internalType": "bytes",
501
+ "name": "_extraData",
502
+ "type": "bytes"
503
+ }
504
+ ],
505
+ "name": "lzReceive",
506
+ "outputs": [],
507
+ "stateMutability": "payable",
508
+ "type": "function"
509
+ },
510
+ {
511
+ "inputs": [
512
+ {
513
+ "components": [
514
+ {
515
+ "components": [
516
+ {
517
+ "internalType": "uint32",
518
+ "name": "srcEid",
519
+ "type": "uint32"
520
+ },
521
+ {
522
+ "internalType": "bytes32",
523
+ "name": "sender",
524
+ "type": "bytes32"
525
+ },
526
+ {
527
+ "internalType": "uint64",
528
+ "name": "nonce",
529
+ "type": "uint64"
530
+ }
531
+ ],
532
+ "internalType": "struct Origin",
533
+ "name": "origin",
534
+ "type": "tuple"
535
+ },
536
+ {
537
+ "internalType": "uint32",
538
+ "name": "dstEid",
539
+ "type": "uint32"
540
+ },
541
+ {
542
+ "internalType": "address",
543
+ "name": "receiver",
544
+ "type": "address"
545
+ },
546
+ {
547
+ "internalType": "bytes32",
548
+ "name": "guid",
549
+ "type": "bytes32"
550
+ },
551
+ {
552
+ "internalType": "uint256",
553
+ "name": "value",
554
+ "type": "uint256"
555
+ },
556
+ {
557
+ "internalType": "address",
558
+ "name": "executor",
559
+ "type": "address"
560
+ },
561
+ {
562
+ "internalType": "bytes",
563
+ "name": "message",
564
+ "type": "bytes"
565
+ },
566
+ {
567
+ "internalType": "bytes",
568
+ "name": "extraData",
569
+ "type": "bytes"
570
+ }
571
+ ],
572
+ "internalType": "struct InboundPacket[]",
573
+ "name": "_packets",
574
+ "type": "tuple[]"
575
+ }
576
+ ],
577
+ "name": "lzReceiveAndRevert",
578
+ "outputs": [],
579
+ "stateMutability": "payable",
580
+ "type": "function"
581
+ },
582
+ {
583
+ "inputs": [
584
+ {
585
+ "components": [
586
+ {
587
+ "internalType": "uint32",
588
+ "name": "srcEid",
589
+ "type": "uint32"
590
+ },
591
+ {
592
+ "internalType": "bytes32",
593
+ "name": "sender",
594
+ "type": "bytes32"
595
+ },
596
+ {
597
+ "internalType": "uint64",
598
+ "name": "nonce",
599
+ "type": "uint64"
600
+ }
601
+ ],
602
+ "internalType": "struct Origin",
603
+ "name": "_origin",
604
+ "type": "tuple"
605
+ },
606
+ {
607
+ "internalType": "bytes32",
608
+ "name": "_guid",
609
+ "type": "bytes32"
610
+ },
611
+ {
612
+ "internalType": "bytes",
613
+ "name": "_message",
614
+ "type": "bytes"
615
+ },
616
+ {
617
+ "internalType": "address",
618
+ "name": "_executor",
619
+ "type": "address"
620
+ },
621
+ {
622
+ "internalType": "bytes",
623
+ "name": "_extraData",
624
+ "type": "bytes"
625
+ }
626
+ ],
627
+ "name": "lzReceiveSimulate",
628
+ "outputs": [],
629
+ "stateMutability": "payable",
630
+ "type": "function"
631
+ },
632
+ {
633
+ "inputs": [
634
+ {
635
+ "internalType": "uint32",
636
+ "name": "_srcEid",
637
+ "type": "uint32"
638
+ },
639
+ {
640
+ "internalType": "bytes32",
641
+ "name": "_sender",
642
+ "type": "bytes32"
643
+ }
644
+ ],
645
+ "name": "nextNonce",
646
+ "outputs": [
647
+ {
648
+ "internalType": "uint64",
649
+ "name": "",
650
+ "type": "uint64"
651
+ }
652
+ ],
653
+ "stateMutability": "view",
654
+ "type": "function"
655
+ },
656
+ {
657
+ "inputs": [],
658
+ "name": "oApp",
659
+ "outputs": [
660
+ {
661
+ "internalType": "address",
662
+ "name": "",
663
+ "type": "address"
664
+ }
665
+ ],
666
+ "stateMutability": "view",
667
+ "type": "function"
668
+ },
669
+ {
670
+ "inputs": [],
671
+ "name": "oAppVersion",
672
+ "outputs": [
673
+ {
674
+ "internalType": "uint64",
675
+ "name": "senderVersion",
676
+ "type": "uint64"
677
+ },
678
+ {
679
+ "internalType": "uint64",
680
+ "name": "receiverVersion",
681
+ "type": "uint64"
682
+ }
683
+ ],
684
+ "stateMutability": "pure",
685
+ "type": "function"
686
+ },
687
+ {
688
+ "inputs": [
689
+ {
690
+ "internalType": "uint32",
691
+ "name": "dstEid",
692
+ "type": "uint32"
693
+ }
694
+ ],
695
+ "name": "outboundCount",
696
+ "outputs": [
697
+ {
698
+ "internalType": "uint256",
699
+ "name": "count",
700
+ "type": "uint256"
701
+ }
702
+ ],
703
+ "stateMutability": "view",
704
+ "type": "function"
705
+ },
706
+ {
707
+ "inputs": [],
708
+ "name": "owner",
709
+ "outputs": [
710
+ {
711
+ "internalType": "address",
712
+ "name": "",
713
+ "type": "address"
714
+ }
715
+ ],
716
+ "stateMutability": "view",
717
+ "type": "function"
718
+ },
719
+ {
720
+ "inputs": [
721
+ {
722
+ "internalType": "uint32",
723
+ "name": "eid",
724
+ "type": "uint32"
725
+ }
726
+ ],
727
+ "name": "peers",
728
+ "outputs": [
729
+ {
730
+ "internalType": "bytes32",
731
+ "name": "peer",
732
+ "type": "bytes32"
733
+ }
734
+ ],
735
+ "stateMutability": "view",
736
+ "type": "function"
737
+ },
738
+ {
739
+ "inputs": [],
740
+ "name": "preCrime",
741
+ "outputs": [
742
+ {
743
+ "internalType": "address",
744
+ "name": "",
745
+ "type": "address"
746
+ }
747
+ ],
748
+ "stateMutability": "view",
749
+ "type": "function"
750
+ },
751
+ {
752
+ "inputs": [
753
+ {
754
+ "internalType": "uint32",
755
+ "name": "_eid",
756
+ "type": "uint32"
757
+ },
758
+ {
759
+ "internalType": "uint8",
760
+ "name": "_type",
761
+ "type": "uint8"
762
+ },
763
+ {
764
+ "internalType": "bytes",
765
+ "name": "_options",
766
+ "type": "bytes"
767
+ }
768
+ ],
769
+ "name": "quote",
770
+ "outputs": [
771
+ {
772
+ "internalType": "uint256",
773
+ "name": "nativeFee",
774
+ "type": "uint256"
775
+ },
776
+ {
777
+ "internalType": "uint256",
778
+ "name": "lzTokenFee",
779
+ "type": "uint256"
780
+ }
781
+ ],
782
+ "stateMutability": "view",
783
+ "type": "function"
784
+ },
785
+ {
786
+ "inputs": [],
787
+ "name": "renounceOwnership",
788
+ "outputs": [],
789
+ "stateMutability": "nonpayable",
790
+ "type": "function"
791
+ },
792
+ {
793
+ "inputs": [
794
+ {
795
+ "internalType": "address",
796
+ "name": "_admin",
797
+ "type": "address"
798
+ }
799
+ ],
800
+ "name": "setAdmin",
801
+ "outputs": [],
802
+ "stateMutability": "nonpayable",
803
+ "type": "function"
804
+ },
805
+ {
806
+ "inputs": [
807
+ {
808
+ "internalType": "address",
809
+ "name": "_delegate",
810
+ "type": "address"
811
+ }
812
+ ],
813
+ "name": "setDelegate",
814
+ "outputs": [],
815
+ "stateMutability": "nonpayable",
816
+ "type": "function"
817
+ },
818
+ {
819
+ "inputs": [
820
+ {
821
+ "internalType": "bool",
822
+ "name": "_orderedNonce",
823
+ "type": "bool"
824
+ }
825
+ ],
826
+ "name": "setOrderedNonce",
827
+ "outputs": [],
828
+ "stateMutability": "nonpayable",
829
+ "type": "function"
830
+ },
831
+ {
832
+ "inputs": [
833
+ {
834
+ "internalType": "uint32",
835
+ "name": "_eid",
836
+ "type": "uint32"
837
+ },
838
+ {
839
+ "internalType": "bytes32",
840
+ "name": "_peer",
841
+ "type": "bytes32"
842
+ }
843
+ ],
844
+ "name": "setPeer",
845
+ "outputs": [],
846
+ "stateMutability": "nonpayable",
847
+ "type": "function"
848
+ },
849
+ {
850
+ "inputs": [
851
+ {
852
+ "internalType": "address",
853
+ "name": "_preCrime",
854
+ "type": "address"
855
+ }
856
+ ],
857
+ "name": "setPreCrime",
858
+ "outputs": [],
859
+ "stateMutability": "nonpayable",
860
+ "type": "function"
861
+ },
862
+ {
863
+ "inputs": [
864
+ {
865
+ "internalType": "uint32",
866
+ "name": "_srcEid",
867
+ "type": "uint32"
868
+ },
869
+ {
870
+ "internalType": "bytes32",
871
+ "name": "_sender",
872
+ "type": "bytes32"
873
+ },
874
+ {
875
+ "internalType": "uint64",
876
+ "name": "_nonce",
877
+ "type": "uint64"
878
+ }
879
+ ],
880
+ "name": "skipInboundNonce",
881
+ "outputs": [],
882
+ "stateMutability": "nonpayable",
883
+ "type": "function"
884
+ },
885
+ {
886
+ "inputs": [
887
+ {
888
+ "internalType": "address",
889
+ "name": "newOwner",
890
+ "type": "address"
891
+ }
892
+ ],
893
+ "name": "transferOwnership",
894
+ "outputs": [],
895
+ "stateMutability": "nonpayable",
896
+ "type": "function"
897
+ },
898
+ {
899
+ "inputs": [
900
+ {
901
+ "internalType": "address payable",
902
+ "name": "_to",
903
+ "type": "address"
904
+ },
905
+ {
906
+ "internalType": "uint256",
907
+ "name": "_amount",
908
+ "type": "uint256"
909
+ }
910
+ ],
911
+ "name": "withdraw",
912
+ "outputs": [],
913
+ "stateMutability": "nonpayable",
914
+ "type": "function"
915
+ },
916
+ {
917
+ "stateMutability": "payable",
918
+ "type": "receive"
919
+ }
920
+ ],
921
+ "bytecode": "0x60a06040523480156200001157600080fd5b50d380156200001f57600080fd5b50d280156200002d57600080fd5b50604051620039ce380380620039ce833981016040819052620000509162000216565b81818181818162000061336200019c565b6001600160a01b0380831660805281166200008f57604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e190602401600060405180830381600087803b158015620000d757600080fd5b505af1158015620000ec573d6000803e3d6000fd5b5050600580546001600160a01b0319163317905550506040805163416ecebf60e01b815290516001600160a01b038816955063416ecebf9450600480830194506020935090918290030181865afa1580156200014c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017291906200024e565b600560146101000a81548163ffffffff021916908363ffffffff160217905550505050506200027d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516000906001600160a81b03811681146200020757600080fd5b6001600160a01b031692915050565b600080604083850312156200022a57600080fd5b6200023583620001ec565b91506200024560208401620001ec565b90509250929050565b6000602082840312156200026157600080fd5b815163ffffffff811681146200027657600080fd5b9392505050565b6080516136f6620002d8600039600081816104a80152818161092d01528181610d870152818161122a0152818161136101528181611aa501528181611df701528181612056015281816122ea01526123e301526136f66000f3fe6080604052600436106101e75760003560e01c80637d25a05e1161010e578063ca5eb5e1116100a7578063d424388511610079578063f3fef3a311610061578063f3fef3a314610870578063f851a440146108aa578063ff7bd03d146108f157005b8063d4243885146107fc578063f2fde38b1461083657005b8063ca5eb5e11461074d578063d045a0dc14610787578063d0a102601461079a578063d22446ce146107ad57005b8063b7abbb5d116100e0578063b7abbb5d146106cd578063bb0b6a53146106e0578063bd815db014610727578063c95c55be1461073a57005b80637d25a05e146105b457806382413eac146106075780638da5cb5b14610641578063b731ea0a1461068657005b806356a4728911610180578063622f17f611610152578063622f17f6146104ca578063704b6c02146105115780637112f86f1461054b578063715018a61461058557005b806356a47289146103b15780635a0dfe4d146103f85780635b849af6146104425780635e280f111461047c57005b80633400288b116101b95780633400288b146102b2578063416ecebf146102ec57806352ae287914610350578063542e7b561461039e57005b806306661abd146101f057806313137d651461023357806317442b7014610246578063257f4e051461028257005b366101ee57005b005b3480156101fc57600080fd5b50d3801561020957600080fd5b50d2801561021657600080fd5b5061022060035481565b6040519081526020015b60405180910390f35b6101ee6102413660046129f8565b61092b565b34801561025257600080fd5b50d3801561025f57600080fd5b50d2801561026c57600080fd5b506040805160018152600260208201520161022a565b34801561028e57600080fd5b50d3801561029b57600080fd5b50d280156102a857600080fd5b5061022060045481565b3480156102be57600080fd5b50d380156102cb57600080fd5b50d280156102d857600080fd5b506101ee6102e7366004612ac8565b610a2a565b3480156102f857600080fd5b50d3801561030557600080fd5b50d2801561031257600080fd5b5060055461033b9074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff909116815260200161022a565b34801561035c57600080fd5b50d3801561036957600080fd5b50d2801561037657600080fd5b50305b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161022a565b6101ee6103ac366004612b37565b610a40565b3480156103bd57600080fd5b50d380156103ca57600080fd5b50d280156103d757600080fd5b506102206103e6366004612bd1565b60086020526000908152604090205481565b34801561040457600080fd5b50d3801561041157600080fd5b50d2801561041e57600080fd5b5061043261042d366004612ac8565b610c0e565b604051901515815260200161022a565b34801561044e57600080fd5b50d3801561045b57600080fd5b50d2801561046857600080fd5b506101ee610477366004612bfa565b610c2d565b34801561048857600080fd5b50d3801561049557600080fd5b50d280156104a257600080fd5b506103797f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d657600080fd5b50d380156104e357600080fd5b50d280156104f057600080fd5b506102206104ff366004612bd1565b60096020526000908152604090205481565b34801561051d57600080fd5b50d3801561052a57600080fd5b50d2801561053757600080fd5b506101ee610546366004612c17565b610c66565b34801561055757600080fd5b50d3801561056457600080fd5b50d2801561057157600080fd5b506101ee610580366004612c67565b610d2e565b34801561059157600080fd5b50d3801561059e57600080fd5b50d280156105ab57600080fd5b506101ee610e68565b3480156105c057600080fd5b50d380156105cd57600080fd5b50d280156105da57600080fd5b506105ee6105e9366004612ac8565b610e7c565b60405167ffffffffffffffff909116815260200161022a565b34801561061357600080fd5b50d3801561062057600080fd5b50d2801561062d57600080fd5b5061043261063c366004612ca7565b610ecf565b34801561064d57600080fd5b50d3801561065a57600080fd5b50d2801561066757600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610379565b34801561069257600080fd5b50d3801561069f57600080fd5b50d280156106ac57600080fd5b506002546103799073ffffffffffffffffffffffffffffffffffffffff1681565b6101ee6106db366004612d37565b610ef1565b3480156106ec57600080fd5b50d380156106f957600080fd5b50d2801561070657600080fd5b50610220610715366004612bd1565b60016020526000908152604090205481565b6101ee610735366004612d98565b610f74565b6101ee610748366004612d37565b611135565b34801561075957600080fd5b50d3801561076657600080fd5b50d2801561077357600080fd5b506101ee610782366004612c17565b6111dd565b6101ee6107953660046129f8565b611282565b6101ee6107a8366004612dda565b6112ca565b3480156107b957600080fd5b50d380156107c657600080fd5b50d280156107d357600080fd5b506107e76107e2366004612d37565b61159f565b6040805192835260208301919091520161022a565b34801561080857600080fd5b50d3801561081557600080fd5b50d2801561082257600080fd5b506101ee610831366004612c17565b611616565b34801561084257600080fd5b50d3801561084f57600080fd5b50d2801561085c57600080fd5b506101ee61086b366004612c17565b611697565b34801561087c57600080fd5b50d3801561088957600080fd5b50d2801561089657600080fd5b506101ee6108a5366004612e84565b61174e565b3480156108b657600080fd5b50d380156108c357600080fd5b50d280156108d057600080fd5b506005546103799073ffffffffffffffffffffffffffffffffffffffff1681565b3480156108fd57600080fd5b50d3801561090a57600080fd5b50d2801561091757600080fd5b50610432610926366004612ec6565b611899565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1633146109a1576040517f91ac5e4f0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b602087018035906109bb906109b6908a612bd1565b6118cf565b14610a12576109cd6020880188612bd1565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015260208801356024820152604401610998565b610a2187878787878787611924565b50505050505050565b610a32611c75565b610a3c8282611cf6565b5050565b8481148015610a4e57508483145b610ab4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4f6d6e69436f756e7465723a206c656e677468206d69736d61746368000000006044820152606401610998565b610abc61292c565b3460005b87811015610c03576000610ad560018a612f11565b8214610ae15730610ae3565b335b905060008a8a84818110610af957610af9612f24565b9050602002016020810190610b0e9190612bd1565b90506000898985818110610b2457610b24612f24565b9050602002016020810190610b399190612f53565b9050610bd082610b5b83600560149054906101000a900463ffffffff16611d4b565b8a8a88818110610b6d57610b6d612f24565b9050602002810190610b7f9190612f6e565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080518082019091528d815260208101919091529250899150611dc49050565b9550610bdb82611edc565b604086015151610beb9086612f11565b94505050508080610bfb90612fd3565b915050610ac0565b505050505050505050565b63ffffffff821660009081526001602052604090205481145b92915050565b610c35611c75565b600780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60055473ffffffffffffffffffffffffffffffffffffffff163314610ce7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e000000000000000000000000000000000000000000006044820152606401610998565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610d36611c75565b6040517fd70b890200000000000000000000000000000000000000000000000000000000815230600482015263ffffffff841660248201526044810183905267ffffffffffffffff821660648201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d70b890290608401600060405180830381600087803b158015610de057600080fd5b505af1158015610df4573d6000803e3d6000fd5b505060075460ff16159150610e6390505763ffffffff831660009081526006602090815260408083208584529091528120805467ffffffffffffffff1691610e3b8361300b565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b505050565b610e70611c75565b610e7a6000611f05565b565b60075460009060ff1615610ec75763ffffffff83166000908152600660209081526040808320858452909152902054610ec09067ffffffffffffffff166001613032565b9050610c27565b506000610c27565b73ffffffffffffffffffffffffffffffffffffffff811630145b949350505050565b610f6484610f1185600560149054906101000a900463ffffffff16611d4b565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805180820190915234815260208101919091529250339150611dc49050565b50610f6e84611edc565b50505050565b60005b818110156110705736838383818110610f9257610f92612f24565b9050602002810190610fa4919061305a565b9050610fc0610fb66020830183612bd1565b6020830135610c0e565b610fca575061105e565b3063d045a0dc60c08301358360a0810135610fe9610100830183612f6e565b610ffa610100890160e08a01612c17565b6110086101208a018a612f6e565b6040518963ffffffff1660e01b815260040161102a97969594939291906130e1565b6000604051808303818588803b15801561104357600080fd5b505af1158015611057573d6000803e3d6000fd5b5050505050505b8061106881612fd3565b915050610f77565b503373ffffffffffffffffffffffffffffffffffffffff16638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa1580156110bc573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261110291908101906131c8565b6040517f8351eea700000000000000000000000000000000000000000000000000000000815260040161099891906132d2565b60055473ffffffffffffffffffffffffffffffffffffffff1633146111b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e000000000000000000000000000000000000000000006044820152606401610998565b6111d684610f1185600560149054906101000a900463ffffffff16611d4b565b5050505050565b6111e5611c75565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b15801561126e57600080fd5b505af11580156111d6573d6000803e3d6000fd5b3330146112bb576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a2187878787878787610a12565b73ffffffffffffffffffffffffffffffffffffffff87163014611349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f216f4170700000000000000000000000000000000000000000000000000000006044820152606401610998565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146113e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21656e64706f696e7400000000000000000000000000000000000000000000006044820152606401610998565b60006113f48686611f7a565b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff82160161143e5760016004600082825461143391906132e5565b909155506115959050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60ff8216016115335760016004600082825461147b91906132e5565b909155506000905061148d8787611f9c565b905061149881611edc565b60006114eb62030d4060006114e4604080517e03000000000000000000000000000000000000000000000000000000000000602082015281516002818303018152602290910190915290565b9190611fbf565b905061152b8261150e6001600560149054906101000a900463ffffffff16611d4b565b836040518060400160405280348152602001600081525030611dc4565b505050611595565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f696e76616c6964206d65737361676520747970650000000000000000000000006044820152606401610998565b5050505050505050565b6000806000611600876115c488600560149054906101000a900463ffffffff16611d4b565b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250612040915050565b8051602090910151909890975095505050505050565b61161e611c75565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c24277609060200160405180910390a150565b61169f611c75565b73ffffffffffffffffffffffffffffffffffffffff8116611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610998565b61174b81611f05565b50565b60055473ffffffffffffffffffffffffffffffffffffffff1633146117cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e000000000000000000000000000000000000000000006044820152606401610998565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611829576040519150601f19603f3d011682016040523d82523d6000602084013e61182e565b606091505b5050905080610e63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4f6d6e69436f756e7465723a207769746864726177206661696c6564000000006044820152606401610998565b60006020820180359060019083906118b19086612bd1565b63ffffffff1681526020810191909152604001600020541492915050565b63ffffffff811660009081526001602052604081205480610c27576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401610998565b61194e6119346020890189612bd1565b602089013561194960608b0160408c016132f8565b61212e565b600061195a8686611f7a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff821601611a28576003805490600061199683612fd3565b91905055506119a58686612264565b341015611a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4f6d6e69436f756e7465723a20696e73756666696369656e742076616c7565006044820152606401610998565b611a23611a1e60208a018a612bd1565b612283565b611595565b60ff811660021480611a3d575060ff81166004145b15611b1a5760038054906000611a5283612fd3565b90915550611a689050611a1e60208a018a612bd1565b6040517f7cb5901200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637cb5901290611ae39030908b906000908c908c90600401613315565b600060405180830381600087803b158015611afd57600080fd5b505af1158015611b11573d6000803e3d6000fd5b50505050611595565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd60ff8216016115335760038054906000611b5483612fd3565b90915550611b6a9050611a1e60208a018a612bd1565b611b7f611b7a60208a018a612bd1565b611edc565b6000611bcb62030d40600a6114e4604080517e03000000000000000000000000000000000000000000000000000000000000602082015281516002818303018152602290910190915290565b9050611c6e611bdd60208b018b612bd1565b600554604080517f010000000000000000000000000000000000000000000000000000000000000060208201527401000000000000000000000000000000000000000090920460e01b7fffffffff00000000000000000000000000000000000000000000000000000000166021830152600a602580840191909152815180840390910181526045909201905261150e565b5050611595565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e7a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610998565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b6040517fff0000000000000000000000000000000000000000000000000000000000000060f884901b1660208201527fffffffff0000000000000000000000000000000000000000000000000000000060e083901b1660218201526060906025015b604051602081830303815290604052905092915050565b611dcc61292c565b6000611ddb84600001516122a4565b602085015190915015611df557611df584602001516122e6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632637a450826040518060a001604052808b63ffffffff168152602001611e528c6118cf565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401611e8e929190613355565b60806040518083038185885af1158015611eac573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ed19190613448565b979650505050505050565b63ffffffff81166000908152600960205260408120805491611efd83612fd3565b919050555050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611f8960018284866134b0565b611f92916134da565b60f81c9392505050565b6000611fac6005600184866134b0565b611fb591613522565b60e01c9392505050565b6060836003611fcf826000612408565b61ffff161461201c57611fe3816000612408565b6040517f3a51740d00000000000000000000000000000000000000000000000000000000815261ffff9091166004820152602401610998565b60006120288585612488565b905061203686600183612528565b9695505050505050565b60408051808201909152600080825260208201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff1681526020016120b0896118cf565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b81526004016120e5929190613355565b6040805180830381865afa158015612101573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121259190613568565b95945050505050565b63ffffffff8316600090815260066020908152604080832085845290915290205460075467ffffffffffffffff9091169060ff16156121ee57612172816001613032565b67ffffffffffffffff168267ffffffffffffffff16146121ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4170703a20696e76616c6964206e6f6e6365000000000000000000000000006044820152606401610998565b8067ffffffffffffffff168267ffffffffffffffff161115610f6e5763ffffffff841660009081526006602090815260408083208684529091529020805467ffffffffffffffff84167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090911617905550505050565b600061227382600581866134b0565b61227c91613584565b9392505050565b63ffffffff81166000908152600860205260408120805491611efd83612fd3565b6000813410156122e2576040517f9f704120000000000000000000000000000000000000000000000000000000008152346004820152602401610998565b5090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015612353573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061237791906135c0565b905073ffffffffffffffffffffffffffffffffffffffff81166123c6576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a3c73ffffffffffffffffffffffffffffffffffffffff8216337f000000000000000000000000000000000000000000000000000000000000000085612593565b60006124158260026132e5565b8351101561247f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7431365f6f75744f66426f756e64730000000000000000000000006044820152606401610998565b50016002015190565b60606fffffffffffffffffffffffffffffffff8216156124f157604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000608086811b8216602084015285901b1660308201520160405160208183030381529060405261227c565b6040517fffffffffffffffffffffffffffffffff00000000000000000000000000000000608085901b166020820152603001611dad565b6060836003612538826000612408565b61ffff161461254c57611fe3816000612408565b8460016125598551612628565b6125649060016135dd565b868660405160200161257a9594939291906135f8565b6040516020818303038152906040529150509392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052610f6e9085906126bc565b600061ffff8211156122e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f36206269747300000000000000000000000000000000000000000000000000006064820152608401610998565b600061271e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166127cb9092919063ffffffff16565b905080516000148061273f57508080602001905181019061273f9190613691565b610e63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610998565b6060610ee98484600085856000808673ffffffffffffffffffffffffffffffffffffffff1685876040516127ff91906136ae565b60006040518083038185875af1925050503d806000811461283c576040519150601f19603f3d011682016040523d82523d6000602084013e612841565b606091505b5091509150611ed187838387606083156128e35782516000036128dc5773ffffffffffffffffffffffffffffffffffffffff85163b6128dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610998565b5081610ee9565b610ee983838151156128f85781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099891906132d2565b604051806060016040528060008019168152602001600067ffffffffffffffff16815260200161296f604051806040016040528060008152602001600081525090565b905290565b60006060828403121561298657600080fd5b50919050565b60008083601f84011261299e57600080fd5b50813567ffffffffffffffff8111156129b657600080fd5b6020830191508360208285010111156129ce57600080fd5b9250929050565b74ffffffffffffffffffffffffffffffffffffffffff8116811461174b57600080fd5b600080600080600080600060e0888a031215612a1357600080fd5b612a1d8989612974565b965060608801359550608088013567ffffffffffffffff80821115612a4157600080fd5b612a4d8b838c0161298c565b909750955060a08a01359150612a62826129d5565b73ffffffffffffffffffffffffffffffffffffffff8216945060c08a0135915080821115612a8f57600080fd5b50612a9c8a828b0161298c565b989b979a50959850939692959293505050565b803563ffffffff81168114612ac357600080fd5b919050565b60008060408385031215612adb57600080fd5b612ae483612aaf565b946020939093013593505050565b60008083601f840112612b0457600080fd5b50813567ffffffffffffffff811115612b1c57600080fd5b6020830191508360208260051b85010111156129ce57600080fd5b60008060008060008060608789031215612b5057600080fd5b863567ffffffffffffffff80821115612b6857600080fd5b612b748a838b01612af2565b90985096506020890135915080821115612b8d57600080fd5b612b998a838b01612af2565b90965094506040890135915080821115612bb257600080fd5b50612bbf89828a01612af2565b979a9699509497509295939492505050565b600060208284031215612be357600080fd5b61227c82612aaf565b801515811461174b57600080fd5b600060208284031215612c0c57600080fd5b813561227c81612bec565b600060208284031215612c2957600080fd5b8135612c34816129d5565b73ffffffffffffffffffffffffffffffffffffffff169392505050565b67ffffffffffffffff8116811461174b57600080fd5b600080600060608486031215612c7c57600080fd5b612c8584612aaf565b9250602084013591506040840135612c9c81612c51565b809150509250925092565b60008060008060a08587031215612cbd57600080fd5b612cc78686612974565b9350606085013567ffffffffffffffff811115612ce357600080fd5b612cef8782880161298c565b9094509250506080850135612d03816129d5565b73ffffffffffffffffffffffffffffffffffffffff811691505092959194509250565b803560ff81168114612ac357600080fd5b60008060008060608587031215612d4d57600080fd5b612d5685612aaf565b9350612d6460208601612d26565b9250604085013567ffffffffffffffff811115612d8057600080fd5b612d8c8782880161298c565b95989497509550505050565b60008060208385031215612dab57600080fd5b823567ffffffffffffffff811115612dc257600080fd5b612dce85828601612af2565b90969095509350505050565b600080600080600080600060a0888a031215612df557600080fd5b8735612e00816129d5565b73ffffffffffffffffffffffffffffffffffffffff90811697506020890135965060408901359067ffffffffffffffff80831115612e3d57600080fd5b612e498c848d0161298c565b909850965060608b01359250612e5e836129d5565b918116945060808a01359180831115612e7657600080fd5b5050612a9c8a828b0161298c565b60008060408385031215612e9757600080fd5b8235612ea2816129d5565b73ffffffffffffffffffffffffffffffffffffffff16946020939093013593505050565b600060608284031215612ed857600080fd5b61227c8383612974565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610c2757610c27612ee2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215612f6557600080fd5b61227c82612d26565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612fa357600080fd5b83018035915067ffffffffffffffff821115612fbe57600080fd5b6020019150368190038213156129ce57600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361300457613004612ee2565b5060010190565b600067ffffffffffffffff80831681810361302857613028612ee2565b6001019392505050565b67ffffffffffffffff81811683821601908082111561305357613053612ee2565b5092915050565b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec183360301811261308e57600080fd5b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff6130ef89612aaf565b168152602088013560208201526000604089013561310c81612c51565b67ffffffffffffffff811660408401525087606083015260e0608083015261313860e083018789613098565b73ffffffffffffffffffffffffffffffffffffffff861660a084015282810360c0840152613167818587613098565b9a9950505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60005b838110156131bf5781810151838201526020016131a7565b50506000910152565b6000602082840312156131da57600080fd5b815167ffffffffffffffff808211156131f257600080fd5b818401915084601f83011261320657600080fd5b81518181111561321857613218613175565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561325e5761325e613175565b8160405282815287602084870101111561327757600080fd5b611ed18360208301602088016131a4565b600081518084526132a08160208601602086016131a4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061227c6020830184613288565b80820180821115610c2757610c27612ee2565b60006020828403121561330a57600080fd5b813561227c81612c51565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015261ffff84166040820152608060608201526000611ed1608083018486613098565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a0608084015261338b60e0840182613288565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a08501526133c68282613288565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b60006040828403121561340b57600080fd5b6040516040810181811067ffffffffffffffff8211171561342e5761342e613175565b604052825181526020928301519281019290925250919050565b60006080828403121561345a57600080fd5b6040516060810181811067ffffffffffffffff8211171561347d5761347d613175565b60405282518152602083015161349281612c51565b60208201526134a484604085016133f9565b60408201529392505050565b600080858511156134c057600080fd5b838611156134cd57600080fd5b5050820193919092039150565b7fff00000000000000000000000000000000000000000000000000000000000000813581811691600185101561351a5780818660010360031b1b83161692505b505092915050565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561351a5760049490940360031b84901b1690921692915050565b60006040828403121561357a57600080fd5b61227c83836133f9565b80356020831015610c27577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b6000602082840312156135d257600080fd5b8151612c34816129d5565b61ffff81811683821601908082111561305357613053612ee2565b6000865161360a818460208b016131a4565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808860f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008760f01b166001830152808660f81b1660038301525083516136828160048401602088016131a4565b01600401979650505050505050565b6000602082840312156136a357600080fd5b815161227c81612bec565b6000825161308e8184602087016131a456fea26474726f6e5822122012576e6a5ff1cb9e00a47ff5a33e4b602d53c7a6d24a8544303834c9ce945cec64736f6c63430008140033",
922
+ "deployedBytecode": "0x6080604052600436106101e75760003560e01c80637d25a05e1161010e578063ca5eb5e1116100a7578063d424388511610079578063f3fef3a311610061578063f3fef3a314610870578063f851a440146108aa578063ff7bd03d146108f157005b8063d4243885146107fc578063f2fde38b1461083657005b8063ca5eb5e11461074d578063d045a0dc14610787578063d0a102601461079a578063d22446ce146107ad57005b8063b7abbb5d116100e0578063b7abbb5d146106cd578063bb0b6a53146106e0578063bd815db014610727578063c95c55be1461073a57005b80637d25a05e146105b457806382413eac146106075780638da5cb5b14610641578063b731ea0a1461068657005b806356a4728911610180578063622f17f611610152578063622f17f6146104ca578063704b6c02146105115780637112f86f1461054b578063715018a61461058557005b806356a47289146103b15780635a0dfe4d146103f85780635b849af6146104425780635e280f111461047c57005b80633400288b116101b95780633400288b146102b2578063416ecebf146102ec57806352ae287914610350578063542e7b561461039e57005b806306661abd146101f057806313137d651461023357806317442b7014610246578063257f4e051461028257005b366101ee57005b005b3480156101fc57600080fd5b50d3801561020957600080fd5b50d2801561021657600080fd5b5061022060035481565b6040519081526020015b60405180910390f35b6101ee6102413660046129f8565b61092b565b34801561025257600080fd5b50d3801561025f57600080fd5b50d2801561026c57600080fd5b506040805160018152600260208201520161022a565b34801561028e57600080fd5b50d3801561029b57600080fd5b50d280156102a857600080fd5b5061022060045481565b3480156102be57600080fd5b50d380156102cb57600080fd5b50d280156102d857600080fd5b506101ee6102e7366004612ac8565b610a2a565b3480156102f857600080fd5b50d3801561030557600080fd5b50d2801561031257600080fd5b5060055461033b9074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff909116815260200161022a565b34801561035c57600080fd5b50d3801561036957600080fd5b50d2801561037657600080fd5b50305b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161022a565b6101ee6103ac366004612b37565b610a40565b3480156103bd57600080fd5b50d380156103ca57600080fd5b50d280156103d757600080fd5b506102206103e6366004612bd1565b60086020526000908152604090205481565b34801561040457600080fd5b50d3801561041157600080fd5b50d2801561041e57600080fd5b5061043261042d366004612ac8565b610c0e565b604051901515815260200161022a565b34801561044e57600080fd5b50d3801561045b57600080fd5b50d2801561046857600080fd5b506101ee610477366004612bfa565b610c2d565b34801561048857600080fd5b50d3801561049557600080fd5b50d280156104a257600080fd5b506103797f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d657600080fd5b50d380156104e357600080fd5b50d280156104f057600080fd5b506102206104ff366004612bd1565b60096020526000908152604090205481565b34801561051d57600080fd5b50d3801561052a57600080fd5b50d2801561053757600080fd5b506101ee610546366004612c17565b610c66565b34801561055757600080fd5b50d3801561056457600080fd5b50d2801561057157600080fd5b506101ee610580366004612c67565b610d2e565b34801561059157600080fd5b50d3801561059e57600080fd5b50d280156105ab57600080fd5b506101ee610e68565b3480156105c057600080fd5b50d380156105cd57600080fd5b50d280156105da57600080fd5b506105ee6105e9366004612ac8565b610e7c565b60405167ffffffffffffffff909116815260200161022a565b34801561061357600080fd5b50d3801561062057600080fd5b50d2801561062d57600080fd5b5061043261063c366004612ca7565b610ecf565b34801561064d57600080fd5b50d3801561065a57600080fd5b50d2801561066757600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610379565b34801561069257600080fd5b50d3801561069f57600080fd5b50d280156106ac57600080fd5b506002546103799073ffffffffffffffffffffffffffffffffffffffff1681565b6101ee6106db366004612d37565b610ef1565b3480156106ec57600080fd5b50d380156106f957600080fd5b50d2801561070657600080fd5b50610220610715366004612bd1565b60016020526000908152604090205481565b6101ee610735366004612d98565b610f74565b6101ee610748366004612d37565b611135565b34801561075957600080fd5b50d3801561076657600080fd5b50d2801561077357600080fd5b506101ee610782366004612c17565b6111dd565b6101ee6107953660046129f8565b611282565b6101ee6107a8366004612dda565b6112ca565b3480156107b957600080fd5b50d380156107c657600080fd5b50d280156107d357600080fd5b506107e76107e2366004612d37565b61159f565b6040805192835260208301919091520161022a565b34801561080857600080fd5b50d3801561081557600080fd5b50d2801561082257600080fd5b506101ee610831366004612c17565b611616565b34801561084257600080fd5b50d3801561084f57600080fd5b50d2801561085c57600080fd5b506101ee61086b366004612c17565b611697565b34801561087c57600080fd5b50d3801561088957600080fd5b50d2801561089657600080fd5b506101ee6108a5366004612e84565b61174e565b3480156108b657600080fd5b50d380156108c357600080fd5b50d280156108d057600080fd5b506005546103799073ffffffffffffffffffffffffffffffffffffffff1681565b3480156108fd57600080fd5b50d3801561090a57600080fd5b50d2801561091757600080fd5b50610432610926366004612ec6565b611899565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1633146109a1576040517f91ac5e4f0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b602087018035906109bb906109b6908a612bd1565b6118cf565b14610a12576109cd6020880188612bd1565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015260208801356024820152604401610998565b610a2187878787878787611924565b50505050505050565b610a32611c75565b610a3c8282611cf6565b5050565b8481148015610a4e57508483145b610ab4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4f6d6e69436f756e7465723a206c656e677468206d69736d61746368000000006044820152606401610998565b610abc61292c565b3460005b87811015610c03576000610ad560018a612f11565b8214610ae15730610ae3565b335b905060008a8a84818110610af957610af9612f24565b9050602002016020810190610b0e9190612bd1565b90506000898985818110610b2457610b24612f24565b9050602002016020810190610b399190612f53565b9050610bd082610b5b83600560149054906101000a900463ffffffff16611d4b565b8a8a88818110610b6d57610b6d612f24565b9050602002810190610b7f9190612f6e565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080518082019091528d815260208101919091529250899150611dc49050565b9550610bdb82611edc565b604086015151610beb9086612f11565b94505050508080610bfb90612fd3565b915050610ac0565b505050505050505050565b63ffffffff821660009081526001602052604090205481145b92915050565b610c35611c75565b600780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60055473ffffffffffffffffffffffffffffffffffffffff163314610ce7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e000000000000000000000000000000000000000000006044820152606401610998565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610d36611c75565b6040517fd70b890200000000000000000000000000000000000000000000000000000000815230600482015263ffffffff841660248201526044810183905267ffffffffffffffff821660648201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d70b890290608401600060405180830381600087803b158015610de057600080fd5b505af1158015610df4573d6000803e3d6000fd5b505060075460ff16159150610e6390505763ffffffff831660009081526006602090815260408083208584529091528120805467ffffffffffffffff1691610e3b8361300b565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b505050565b610e70611c75565b610e7a6000611f05565b565b60075460009060ff1615610ec75763ffffffff83166000908152600660209081526040808320858452909152902054610ec09067ffffffffffffffff166001613032565b9050610c27565b506000610c27565b73ffffffffffffffffffffffffffffffffffffffff811630145b949350505050565b610f6484610f1185600560149054906101000a900463ffffffff16611d4b565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805180820190915234815260208101919091529250339150611dc49050565b50610f6e84611edc565b50505050565b60005b818110156110705736838383818110610f9257610f92612f24565b9050602002810190610fa4919061305a565b9050610fc0610fb66020830183612bd1565b6020830135610c0e565b610fca575061105e565b3063d045a0dc60c08301358360a0810135610fe9610100830183612f6e565b610ffa610100890160e08a01612c17565b6110086101208a018a612f6e565b6040518963ffffffff1660e01b815260040161102a97969594939291906130e1565b6000604051808303818588803b15801561104357600080fd5b505af1158015611057573d6000803e3d6000fd5b5050505050505b8061106881612fd3565b915050610f77565b503373ffffffffffffffffffffffffffffffffffffffff16638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa1580156110bc573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261110291908101906131c8565b6040517f8351eea700000000000000000000000000000000000000000000000000000000815260040161099891906132d2565b60055473ffffffffffffffffffffffffffffffffffffffff1633146111b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e000000000000000000000000000000000000000000006044820152606401610998565b6111d684610f1185600560149054906101000a900463ffffffff16611d4b565b5050505050565b6111e5611c75565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b15801561126e57600080fd5b505af11580156111d6573d6000803e3d6000fd5b3330146112bb576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a2187878787878787610a12565b73ffffffffffffffffffffffffffffffffffffffff87163014611349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f216f4170700000000000000000000000000000000000000000000000000000006044820152606401610998565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146113e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21656e64706f696e7400000000000000000000000000000000000000000000006044820152606401610998565b60006113f48686611f7a565b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff82160161143e5760016004600082825461143391906132e5565b909155506115959050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60ff8216016115335760016004600082825461147b91906132e5565b909155506000905061148d8787611f9c565b905061149881611edc565b60006114eb62030d4060006114e4604080517e03000000000000000000000000000000000000000000000000000000000000602082015281516002818303018152602290910190915290565b9190611fbf565b905061152b8261150e6001600560149054906101000a900463ffffffff16611d4b565b836040518060400160405280348152602001600081525030611dc4565b505050611595565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f696e76616c6964206d65737361676520747970650000000000000000000000006044820152606401610998565b5050505050505050565b6000806000611600876115c488600560149054906101000a900463ffffffff16611d4b565b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250612040915050565b8051602090910151909890975095505050505050565b61161e611c75565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c24277609060200160405180910390a150565b61169f611c75565b73ffffffffffffffffffffffffffffffffffffffff8116611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610998565b61174b81611f05565b50565b60055473ffffffffffffffffffffffffffffffffffffffff1633146117cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c792061646d696e000000000000000000000000000000000000000000006044820152606401610998565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611829576040519150601f19603f3d011682016040523d82523d6000602084013e61182e565b606091505b5050905080610e63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4f6d6e69436f756e7465723a207769746864726177206661696c6564000000006044820152606401610998565b60006020820180359060019083906118b19086612bd1565b63ffffffff1681526020810191909152604001600020541492915050565b63ffffffff811660009081526001602052604081205480610c27576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401610998565b61194e6119346020890189612bd1565b602089013561194960608b0160408c016132f8565b61212e565b600061195a8686611f7a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff821601611a28576003805490600061199683612fd3565b91905055506119a58686612264565b341015611a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4f6d6e69436f756e7465723a20696e73756666696369656e742076616c7565006044820152606401610998565b611a23611a1e60208a018a612bd1565b612283565b611595565b60ff811660021480611a3d575060ff81166004145b15611b1a5760038054906000611a5283612fd3565b90915550611a689050611a1e60208a018a612bd1565b6040517f7cb5901200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637cb5901290611ae39030908b906000908c908c90600401613315565b600060405180830381600087803b158015611afd57600080fd5b505af1158015611b11573d6000803e3d6000fd5b50505050611595565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd60ff8216016115335760038054906000611b5483612fd3565b90915550611b6a9050611a1e60208a018a612bd1565b611b7f611b7a60208a018a612bd1565b611edc565b6000611bcb62030d40600a6114e4604080517e03000000000000000000000000000000000000000000000000000000000000602082015281516002818303018152602290910190915290565b9050611c6e611bdd60208b018b612bd1565b600554604080517f010000000000000000000000000000000000000000000000000000000000000060208201527401000000000000000000000000000000000000000090920460e01b7fffffffff00000000000000000000000000000000000000000000000000000000166021830152600a602580840191909152815180840390910181526045909201905261150e565b5050611595565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e7a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610998565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b6040517fff0000000000000000000000000000000000000000000000000000000000000060f884901b1660208201527fffffffff0000000000000000000000000000000000000000000000000000000060e083901b1660218201526060906025015b604051602081830303815290604052905092915050565b611dcc61292c565b6000611ddb84600001516122a4565b602085015190915015611df557611df584602001516122e6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632637a450826040518060a001604052808b63ffffffff168152602001611e528c6118cf565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401611e8e929190613355565b60806040518083038185885af1158015611eac573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ed19190613448565b979650505050505050565b63ffffffff81166000908152600960205260408120805491611efd83612fd3565b919050555050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611f8960018284866134b0565b611f92916134da565b60f81c9392505050565b6000611fac6005600184866134b0565b611fb591613522565b60e01c9392505050565b6060836003611fcf826000612408565b61ffff161461201c57611fe3816000612408565b6040517f3a51740d00000000000000000000000000000000000000000000000000000000815261ffff9091166004820152602401610998565b60006120288585612488565b905061203686600183612528565b9695505050505050565b60408051808201909152600080825260208201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff1681526020016120b0896118cf565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b81526004016120e5929190613355565b6040805180830381865afa158015612101573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121259190613568565b95945050505050565b63ffffffff8316600090815260066020908152604080832085845290915290205460075467ffffffffffffffff9091169060ff16156121ee57612172816001613032565b67ffffffffffffffff168267ffffffffffffffff16146121ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4170703a20696e76616c6964206e6f6e6365000000000000000000000000006044820152606401610998565b8067ffffffffffffffff168267ffffffffffffffff161115610f6e5763ffffffff841660009081526006602090815260408083208684529091529020805467ffffffffffffffff84167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090911617905550505050565b600061227382600581866134b0565b61227c91613584565b9392505050565b63ffffffff81166000908152600860205260408120805491611efd83612fd3565b6000813410156122e2576040517f9f704120000000000000000000000000000000000000000000000000000000008152346004820152602401610998565b5090565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015612353573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061237791906135c0565b905073ffffffffffffffffffffffffffffffffffffffff81166123c6576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a3c73ffffffffffffffffffffffffffffffffffffffff8216337f000000000000000000000000000000000000000000000000000000000000000085612593565b60006124158260026132e5565b8351101561247f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7431365f6f75744f66426f756e64730000000000000000000000006044820152606401610998565b50016002015190565b60606fffffffffffffffffffffffffffffffff8216156124f157604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000608086811b8216602084015285901b1660308201520160405160208183030381529060405261227c565b6040517fffffffffffffffffffffffffffffffff00000000000000000000000000000000608085901b166020820152603001611dad565b6060836003612538826000612408565b61ffff161461254c57611fe3816000612408565b8460016125598551612628565b6125649060016135dd565b868660405160200161257a9594939291906135f8565b6040516020818303038152906040529150509392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052610f6e9085906126bc565b600061ffff8211156122e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f36206269747300000000000000000000000000000000000000000000000000006064820152608401610998565b600061271e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166127cb9092919063ffffffff16565b905080516000148061273f57508080602001905181019061273f9190613691565b610e63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610998565b6060610ee98484600085856000808673ffffffffffffffffffffffffffffffffffffffff1685876040516127ff91906136ae565b60006040518083038185875af1925050503d806000811461283c576040519150601f19603f3d011682016040523d82523d6000602084013e612841565b606091505b5091509150611ed187838387606083156128e35782516000036128dc5773ffffffffffffffffffffffffffffffffffffffff85163b6128dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610998565b5081610ee9565b610ee983838151156128f85781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099891906132d2565b604051806060016040528060008019168152602001600067ffffffffffffffff16815260200161296f604051806040016040528060008152602001600081525090565b905290565b60006060828403121561298657600080fd5b50919050565b60008083601f84011261299e57600080fd5b50813567ffffffffffffffff8111156129b657600080fd5b6020830191508360208285010111156129ce57600080fd5b9250929050565b74ffffffffffffffffffffffffffffffffffffffffff8116811461174b57600080fd5b600080600080600080600060e0888a031215612a1357600080fd5b612a1d8989612974565b965060608801359550608088013567ffffffffffffffff80821115612a4157600080fd5b612a4d8b838c0161298c565b909750955060a08a01359150612a62826129d5565b73ffffffffffffffffffffffffffffffffffffffff8216945060c08a0135915080821115612a8f57600080fd5b50612a9c8a828b0161298c565b989b979a50959850939692959293505050565b803563ffffffff81168114612ac357600080fd5b919050565b60008060408385031215612adb57600080fd5b612ae483612aaf565b946020939093013593505050565b60008083601f840112612b0457600080fd5b50813567ffffffffffffffff811115612b1c57600080fd5b6020830191508360208260051b85010111156129ce57600080fd5b60008060008060008060608789031215612b5057600080fd5b863567ffffffffffffffff80821115612b6857600080fd5b612b748a838b01612af2565b90985096506020890135915080821115612b8d57600080fd5b612b998a838b01612af2565b90965094506040890135915080821115612bb257600080fd5b50612bbf89828a01612af2565b979a9699509497509295939492505050565b600060208284031215612be357600080fd5b61227c82612aaf565b801515811461174b57600080fd5b600060208284031215612c0c57600080fd5b813561227c81612bec565b600060208284031215612c2957600080fd5b8135612c34816129d5565b73ffffffffffffffffffffffffffffffffffffffff169392505050565b67ffffffffffffffff8116811461174b57600080fd5b600080600060608486031215612c7c57600080fd5b612c8584612aaf565b9250602084013591506040840135612c9c81612c51565b809150509250925092565b60008060008060a08587031215612cbd57600080fd5b612cc78686612974565b9350606085013567ffffffffffffffff811115612ce357600080fd5b612cef8782880161298c565b9094509250506080850135612d03816129d5565b73ffffffffffffffffffffffffffffffffffffffff811691505092959194509250565b803560ff81168114612ac357600080fd5b60008060008060608587031215612d4d57600080fd5b612d5685612aaf565b9350612d6460208601612d26565b9250604085013567ffffffffffffffff811115612d8057600080fd5b612d8c8782880161298c565b95989497509550505050565b60008060208385031215612dab57600080fd5b823567ffffffffffffffff811115612dc257600080fd5b612dce85828601612af2565b90969095509350505050565b600080600080600080600060a0888a031215612df557600080fd5b8735612e00816129d5565b73ffffffffffffffffffffffffffffffffffffffff90811697506020890135965060408901359067ffffffffffffffff80831115612e3d57600080fd5b612e498c848d0161298c565b909850965060608b01359250612e5e836129d5565b918116945060808a01359180831115612e7657600080fd5b5050612a9c8a828b0161298c565b60008060408385031215612e9757600080fd5b8235612ea2816129d5565b73ffffffffffffffffffffffffffffffffffffffff16946020939093013593505050565b600060608284031215612ed857600080fd5b61227c8383612974565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610c2757610c27612ee2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215612f6557600080fd5b61227c82612d26565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612fa357600080fd5b83018035915067ffffffffffffffff821115612fbe57600080fd5b6020019150368190038213156129ce57600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361300457613004612ee2565b5060010190565b600067ffffffffffffffff80831681810361302857613028612ee2565b6001019392505050565b67ffffffffffffffff81811683821601908082111561305357613053612ee2565b5092915050565b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec183360301811261308e57600080fd5b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff6130ef89612aaf565b168152602088013560208201526000604089013561310c81612c51565b67ffffffffffffffff811660408401525087606083015260e0608083015261313860e083018789613098565b73ffffffffffffffffffffffffffffffffffffffff861660a084015282810360c0840152613167818587613098565b9a9950505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60005b838110156131bf5781810151838201526020016131a7565b50506000910152565b6000602082840312156131da57600080fd5b815167ffffffffffffffff808211156131f257600080fd5b818401915084601f83011261320657600080fd5b81518181111561321857613218613175565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561325e5761325e613175565b8160405282815287602084870101111561327757600080fd5b611ed18360208301602088016131a4565b600081518084526132a08160208601602086016131a4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061227c6020830184613288565b80820180821115610c2757610c27612ee2565b60006020828403121561330a57600080fd5b813561227c81612c51565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015261ffff84166040820152608060608201526000611ed1608083018486613098565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a0608084015261338b60e0840182613288565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a08501526133c68282613288565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b60006040828403121561340b57600080fd5b6040516040810181811067ffffffffffffffff8211171561342e5761342e613175565b604052825181526020928301519281019290925250919050565b60006080828403121561345a57600080fd5b6040516060810181811067ffffffffffffffff8211171561347d5761347d613175565b60405282518152602083015161349281612c51565b60208201526134a484604085016133f9565b60408201529392505050565b600080858511156134c057600080fd5b838611156134cd57600080fd5b5050820193919092039150565b7fff00000000000000000000000000000000000000000000000000000000000000813581811691600185101561351a5780818660010360031b1b83161692505b505092915050565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561351a5760049490940360031b84901b1690921692915050565b60006040828403121561357a57600080fd5b61227c83836133f9565b80356020831015610c27577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b6000602082840312156135d257600080fd5b8151612c34816129d5565b61ffff81811683821601908082111561305357613053612ee2565b6000865161360a818460208b016131a4565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808860f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008760f01b166001830152808660f81b1660038301525083516136828160048401602088016131a4565b01600401979650505050505050565b6000602082840312156136a357600080fd5b815161227c81612bec565b6000825161308e8184602087016131a456fea26474726f6e5822122012576e6a5ff1cb9e00a47ff5a33e4b602d53c7a6d24a8544303834c9ce945cec64736f6c63430008140033",
923
+ "linkReferences": {},
924
+ "deployedLinkReferences": {}
925
+ }