lynx-client 0.0.13 → 0.0.14

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 (157) hide show
  1. package/dist/cjs/index.js +10 -1
  2. package/dist/cjs/lib/contractsIntegration/EngineChipService/EngineChipService.js +289 -0
  3. package/dist/cjs/lib/contractsIntegration/EngineChipService/IEngineChipService.js +2 -0
  4. package/dist/cjs/lib/contractsIntegration/EngineChipService/index.js +5 -0
  5. package/dist/cjs/lib/contractsIntegration/OnBehalfTradingService/OnBehalfTradingService.js +25 -2
  6. package/dist/cjs/lib/contractsIntegration/OrderBookService/index.js +5 -0
  7. package/dist/cjs/lib/contractsIntegration/TradersPortalService/TradersPortalServiceService.js +6 -0
  8. package/dist/cjs/lib/contractsIntegration/TriggersService/index.js +5 -0
  9. package/dist/cjs/lib/contractsIntegration/WrappedNativeEngineChipHelperService/IWrappedNativeEngineChipHelperService.js +2 -0
  10. package/dist/cjs/lib/contractsIntegration/WrappedNativeEngineChipHelperService/WrappedNativeEngineChipHelperService.js +69 -0
  11. package/dist/cjs/lib/contractsIntegration/WrappedNativeEngineChipHelperService/index.js +5 -0
  12. package/dist/cjs/lib/contractsIntegration/deployedContractsConnector.js +34 -0
  13. package/dist/cjs/lib/typechain/contracts/Lynx/Chips/EngineChip/EngineChip.js +2 -0
  14. package/dist/cjs/lib/typechain/contracts/Peripheral/Chips/WrappedNativeEngineChipHelper.js +2 -0
  15. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Chips/EngineChip/EngineChip__factory.js +989 -0
  16. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.js +1 -1
  17. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.js +1 -1
  18. package/dist/cjs/lib/typechain/factories/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1__factory.js +195 -1
  19. package/dist/cjs/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.js +1 -1
  20. package/dist/cjs/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.js +27 -1
  21. package/dist/cjs/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.js +1 -1
  22. package/dist/cjs/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.js +79 -1
  23. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/Chips/WrappedNativeEngineChipHelper__factory.js +133 -0
  24. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.js +1 -1
  25. package/dist/cjs/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.js +1 -1
  26. package/dist/esm/index.d.ts +10 -0
  27. package/dist/esm/index.d.ts.map +1 -1
  28. package/dist/esm/index.js +10 -1
  29. package/dist/esm/lib/contractsIntegration/EngineChipService/EngineChipService.d.ts +27 -0
  30. package/dist/esm/lib/contractsIntegration/EngineChipService/EngineChipService.d.ts.map +1 -0
  31. package/dist/esm/lib/contractsIntegration/EngineChipService/EngineChipService.js +289 -0
  32. package/dist/esm/lib/contractsIntegration/EngineChipService/IEngineChipService.d.ts +83 -0
  33. package/dist/esm/lib/contractsIntegration/EngineChipService/IEngineChipService.d.ts.map +1 -0
  34. package/dist/esm/lib/contractsIntegration/EngineChipService/IEngineChipService.js +2 -0
  35. package/dist/esm/lib/contractsIntegration/EngineChipService/index.d.ts +3 -0
  36. package/dist/esm/lib/contractsIntegration/EngineChipService/index.d.ts.map +1 -0
  37. package/dist/esm/lib/contractsIntegration/EngineChipService/index.js +5 -0
  38. package/dist/esm/lib/contractsIntegration/OnBehalfTradingService/IOnBehalfTradingService.d.ts +6 -1
  39. package/dist/esm/lib/contractsIntegration/OnBehalfTradingService/IOnBehalfTradingService.d.ts.map +1 -1
  40. package/dist/esm/lib/contractsIntegration/OnBehalfTradingService/OnBehalfTradingService.d.ts.map +1 -1
  41. package/dist/esm/lib/contractsIntegration/OnBehalfTradingService/OnBehalfTradingService.js +25 -2
  42. package/dist/esm/lib/contractsIntegration/OrderBookService/index.d.ts +3 -0
  43. package/dist/esm/lib/contractsIntegration/OrderBookService/index.d.ts.map +1 -0
  44. package/dist/esm/lib/contractsIntegration/OrderBookService/index.js +5 -0
  45. package/dist/esm/lib/contractsIntegration/TradersPortalService/ITradersPortalService.d.ts +2 -0
  46. package/dist/esm/lib/contractsIntegration/TradersPortalService/ITradersPortalService.d.ts.map +1 -1
  47. package/dist/esm/lib/contractsIntegration/TradersPortalService/TradersPortalServiceService.d.ts.map +1 -1
  48. package/dist/esm/lib/contractsIntegration/TradersPortalService/TradersPortalServiceService.js +6 -0
  49. package/dist/esm/lib/contractsIntegration/TriggersService/index.d.ts +3 -0
  50. package/dist/esm/lib/contractsIntegration/TriggersService/index.d.ts.map +1 -0
  51. package/dist/esm/lib/contractsIntegration/TriggersService/index.js +5 -0
  52. package/dist/esm/lib/contractsIntegration/WrappedNativeEngineChipHelperService/IWrappedNativeEngineChipHelperService.d.ts +40 -0
  53. package/dist/esm/lib/contractsIntegration/WrappedNativeEngineChipHelperService/IWrappedNativeEngineChipHelperService.d.ts.map +1 -0
  54. package/dist/esm/lib/contractsIntegration/WrappedNativeEngineChipHelperService/IWrappedNativeEngineChipHelperService.js +2 -0
  55. package/dist/esm/lib/contractsIntegration/WrappedNativeEngineChipHelperService/WrappedNativeEngineChipHelperService.d.ts +22 -0
  56. package/dist/esm/lib/contractsIntegration/WrappedNativeEngineChipHelperService/WrappedNativeEngineChipHelperService.d.ts.map +1 -0
  57. package/dist/esm/lib/contractsIntegration/WrappedNativeEngineChipHelperService/WrappedNativeEngineChipHelperService.js +69 -0
  58. package/dist/esm/lib/contractsIntegration/WrappedNativeEngineChipHelperService/index.d.ts +3 -0
  59. package/dist/esm/lib/contractsIntegration/WrappedNativeEngineChipHelperService/index.d.ts.map +1 -0
  60. package/dist/esm/lib/contractsIntegration/WrappedNativeEngineChipHelperService/index.js +5 -0
  61. package/dist/esm/lib/contractsIntegration/deployedContractsConnector.d.ts +10 -0
  62. package/dist/esm/lib/contractsIntegration/deployedContractsConnector.d.ts.map +1 -1
  63. package/dist/esm/lib/contractsIntegration/deployedContractsConnector.js +34 -0
  64. package/dist/esm/lib/typechain/contracts/Lynx/Chips/EngineChip/EngineChip.d.ts +524 -0
  65. package/dist/esm/lib/typechain/contracts/Lynx/Chips/EngineChip/EngineChip.d.ts.map +1 -0
  66. package/dist/esm/lib/typechain/contracts/Lynx/Chips/EngineChip/EngineChip.js +2 -0
  67. package/dist/esm/lib/typechain/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1.d.ts +158 -2
  68. package/dist/esm/lib/typechain/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1.d.ts.map +1 -1
  69. package/dist/esm/lib/typechain/contracts/Lynx/TradersPortal/TradersPortalV1.d.ts +17 -1
  70. package/dist/esm/lib/typechain/contracts/Lynx/TradersPortal/TradersPortalV1.d.ts.map +1 -1
  71. package/dist/esm/lib/typechain/contracts/Lynx/Triggers/TriggersV1.d.ts +33 -1
  72. package/dist/esm/lib/typechain/contracts/Lynx/Triggers/TriggersV1.d.ts.map +1 -1
  73. package/dist/esm/lib/typechain/contracts/Peripheral/Chips/WrappedNativeEngineChipHelper.d.ts +56 -0
  74. package/dist/esm/lib/typechain/contracts/Peripheral/Chips/WrappedNativeEngineChipHelper.d.ts.map +1 -0
  75. package/dist/esm/lib/typechain/contracts/Peripheral/Chips/WrappedNativeEngineChipHelper.js +2 -0
  76. package/dist/esm/lib/typechain/factories/contracts/Lynx/Chips/EngineChip/EngineChip__factory.d.ts +756 -0
  77. package/dist/esm/lib/typechain/factories/contracts/Lynx/Chips/EngineChip/EngineChip__factory.d.ts.map +1 -0
  78. package/dist/esm/lib/typechain/factories/contracts/Lynx/Chips/EngineChip/EngineChip__factory.js +989 -0
  79. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.d.ts +1 -1
  80. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.js +1 -1
  81. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.d.ts +1 -1
  82. package/dist/esm/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.js +1 -1
  83. package/dist/esm/lib/typechain/factories/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1__factory.d.ts +155 -1
  84. package/dist/esm/lib/typechain/factories/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1__factory.d.ts.map +1 -1
  85. package/dist/esm/lib/typechain/factories/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1__factory.js +195 -1
  86. package/dist/esm/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.d.ts +1 -1
  87. package/dist/esm/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.js +1 -1
  88. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.d.ts +21 -1
  89. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.d.ts.map +1 -1
  90. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.js +27 -1
  91. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts +1 -1
  92. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts.map +1 -1
  93. package/dist/esm/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.js +1 -1
  94. package/dist/esm/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.d.ts +61 -1
  95. package/dist/esm/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.d.ts.map +1 -1
  96. package/dist/esm/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.js +79 -1
  97. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Chips/WrappedNativeEngineChipHelper__factory.d.ts +96 -0
  98. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Chips/WrappedNativeEngineChipHelper__factory.d.ts.map +1 -0
  99. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Chips/WrappedNativeEngineChipHelper__factory.js +133 -0
  100. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.d.ts +1 -1
  101. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.js +1 -1
  102. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.d.ts +1 -1
  103. package/dist/esm/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.js +1 -1
  104. package/dist/types/index.d.ts +10 -0
  105. package/dist/types/index.d.ts.map +1 -1
  106. package/dist/types/lib/contractsIntegration/EngineChipService/EngineChipService.d.ts +27 -0
  107. package/dist/types/lib/contractsIntegration/EngineChipService/EngineChipService.d.ts.map +1 -0
  108. package/dist/types/lib/contractsIntegration/EngineChipService/IEngineChipService.d.ts +83 -0
  109. package/dist/types/lib/contractsIntegration/EngineChipService/IEngineChipService.d.ts.map +1 -0
  110. package/dist/types/lib/contractsIntegration/EngineChipService/index.d.ts +3 -0
  111. package/dist/types/lib/contractsIntegration/EngineChipService/index.d.ts.map +1 -0
  112. package/dist/types/lib/contractsIntegration/OnBehalfTradingService/IOnBehalfTradingService.d.ts +6 -1
  113. package/dist/types/lib/contractsIntegration/OnBehalfTradingService/IOnBehalfTradingService.d.ts.map +1 -1
  114. package/dist/types/lib/contractsIntegration/OnBehalfTradingService/OnBehalfTradingService.d.ts.map +1 -1
  115. package/dist/types/lib/contractsIntegration/OrderBookService/index.d.ts +3 -0
  116. package/dist/types/lib/contractsIntegration/OrderBookService/index.d.ts.map +1 -0
  117. package/dist/types/lib/contractsIntegration/TradersPortalService/ITradersPortalService.d.ts +2 -0
  118. package/dist/types/lib/contractsIntegration/TradersPortalService/ITradersPortalService.d.ts.map +1 -1
  119. package/dist/types/lib/contractsIntegration/TradersPortalService/TradersPortalServiceService.d.ts.map +1 -1
  120. package/dist/types/lib/contractsIntegration/TriggersService/index.d.ts +3 -0
  121. package/dist/types/lib/contractsIntegration/TriggersService/index.d.ts.map +1 -0
  122. package/dist/types/lib/contractsIntegration/WrappedNativeEngineChipHelperService/IWrappedNativeEngineChipHelperService.d.ts +40 -0
  123. package/dist/types/lib/contractsIntegration/WrappedNativeEngineChipHelperService/IWrappedNativeEngineChipHelperService.d.ts.map +1 -0
  124. package/dist/types/lib/contractsIntegration/WrappedNativeEngineChipHelperService/WrappedNativeEngineChipHelperService.d.ts +22 -0
  125. package/dist/types/lib/contractsIntegration/WrappedNativeEngineChipHelperService/WrappedNativeEngineChipHelperService.d.ts.map +1 -0
  126. package/dist/types/lib/contractsIntegration/WrappedNativeEngineChipHelperService/index.d.ts +3 -0
  127. package/dist/types/lib/contractsIntegration/WrappedNativeEngineChipHelperService/index.d.ts.map +1 -0
  128. package/dist/types/lib/contractsIntegration/deployedContractsConnector.d.ts +10 -0
  129. package/dist/types/lib/contractsIntegration/deployedContractsConnector.d.ts.map +1 -1
  130. package/dist/types/lib/typechain/contracts/Lynx/Chips/EngineChip/EngineChip.d.ts +524 -0
  131. package/dist/types/lib/typechain/contracts/Lynx/Chips/EngineChip/EngineChip.d.ts.map +1 -0
  132. package/dist/types/lib/typechain/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1.d.ts +158 -2
  133. package/dist/types/lib/typechain/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1.d.ts.map +1 -1
  134. package/dist/types/lib/typechain/contracts/Lynx/TradersPortal/TradersPortalV1.d.ts +17 -1
  135. package/dist/types/lib/typechain/contracts/Lynx/TradersPortal/TradersPortalV1.d.ts.map +1 -1
  136. package/dist/types/lib/typechain/contracts/Lynx/Triggers/TriggersV1.d.ts +33 -1
  137. package/dist/types/lib/typechain/contracts/Lynx/Triggers/TriggersV1.d.ts.map +1 -1
  138. package/dist/types/lib/typechain/contracts/Peripheral/Chips/WrappedNativeEngineChipHelper.d.ts +56 -0
  139. package/dist/types/lib/typechain/contracts/Peripheral/Chips/WrappedNativeEngineChipHelper.d.ts.map +1 -0
  140. package/dist/types/lib/typechain/factories/contracts/Lynx/Chips/EngineChip/EngineChip__factory.d.ts +756 -0
  141. package/dist/types/lib/typechain/factories/contracts/Lynx/Chips/EngineChip/EngineChip__factory.d.ts.map +1 -0
  142. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/LexPool/LexPoolV1__factory.d.ts +1 -1
  143. package/dist/types/lib/typechain/factories/contracts/Lynx/Lex/PoolAccountant/PoolAccountantV1__factory.d.ts +1 -1
  144. package/dist/types/lib/typechain/factories/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1__factory.d.ts +155 -1
  145. package/dist/types/lib/typechain/factories/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1__factory.d.ts.map +1 -1
  146. package/dist/types/lib/typechain/factories/contracts/Lynx/OrderBook/OrderBookV1__factory.d.ts +1 -1
  147. package/dist/types/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.d.ts +21 -1
  148. package/dist/types/lib/typechain/factories/contracts/Lynx/TradersPortal/TradersPortalV1__factory.d.ts.map +1 -1
  149. package/dist/types/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts +1 -1
  150. package/dist/types/lib/typechain/factories/contracts/Lynx/TradingFloor/TradingFloorV1__factory.d.ts.map +1 -1
  151. package/dist/types/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.d.ts +61 -1
  152. package/dist/types/lib/typechain/factories/contracts/Lynx/Triggers/TriggersV1__factory.d.ts.map +1 -1
  153. package/dist/types/lib/typechain/factories/contracts/Peripheral/Chips/WrappedNativeEngineChipHelper__factory.d.ts +96 -0
  154. package/dist/types/lib/typechain/factories/contracts/Peripheral/Chips/WrappedNativeEngineChipHelper__factory.d.ts.map +1 -0
  155. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/TradingFloorLens__factory.d.ts +1 -1
  156. package/dist/types/lib/typechain/factories/contracts/Peripheral/Lens/TriggersAndPortalLens__factory.d.ts +1 -1
  157. package/package.json +1 -1
@@ -3730,7 +3730,7 @@ const _abi = [
3730
3730
  type: "function",
3731
3731
  },
3732
3732
  ];
3733
- const _bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633179055615f2c80620000336000396000f3fe608060405234801561001057600080fd5b50600436106107855760003560e01c806379518cca116103df578063bc7a36d61161020a578063d9cf36ba11610125578063ec857a46116100b8578063f851a44011610087578063f851a440146113f8578063fb56c48f1461140b578063ff295f331461141e578063ff4850351461143157600080fd5b8063ec857a46146113ac578063ee466846146113bf578063f1fccdc1146113d2578063f345eb27146113e557600080fd5b8063e72f75b3116100f4578063e72f75b314611353578063e8de573314611366578063e9b65faa14611386578063eb980acc1461139957600080fd5b8063d9cf36ba14611312578063db180bf11461131a578063e0dc17501461132d578063e5fac2d71461134057600080fd5b8063cfa992011161019d578063d370f1d41161016c578063d370f1d4146112c1578063d46cca36146112cc578063d62f8de1146112ec578063d84f4d3f146112ff57600080fd5b8063cfa992011461127c578063d037a11c14611285578063d0a6663e146112a5578063d2417429146112ae57600080fd5b8063c2b10883116101d9578063c2b108831461114c578063c317767814611243578063caa46c7914611256578063cee75ad11461126957600080fd5b8063bc7a36d614611115578063c19783141461111e578063c1d22d7d14611131578063c2665ac71461114457600080fd5b8063a6afed95116102fa578063b5373e3b1161028d578063b7750b811161025c578063b7750b811461106e578063b81b2b7114611081578063bc22e4bc1461108a578063bc6d40a11461110257600080fd5b8063b5373e3b14611034578063b6020b4114611047578063b70e351d1461105a578063b71f3cfe1461106357600080fd5b8063ab3d9a95116102c9578063ab3d9a9514610fd3578063ab5ba5ad1461101a578063ad1f2b5614611023578063aef393221461102b57600080fd5b8063a6afed9514610f93578063a92e850014610f9b578063aa5af0fd14610fbb578063aaf5eb6814610fc457600080fd5b806388c8f178116103725780639788f64f116103415780639788f64f14610edd578063981cdb3e14610ef0578063a40d726814610f03578063a499589214610f8057600080fd5b806388c8f17814610e95578063892e1ec714610e9e5780638bda2dc914610ea757806392cc04af14610eba57600080fd5b80637f3f8ffb116103ae5780637f3f8ffb14610e665780637f7c413814610e6f57806380193b2614610e82578063885e275014610e8c57600080fd5b806379518cca14610e145780637abb996e14610e375780637b10399914610e405780637dd29a6614610e5357600080fd5b80633cb57be7116105bf5780635c60da1b116104da578063659ef4411161046d5780636f307dc31161043c5780636f307dc314610d94578063733b278214610da757806377e798cf14610dce57806378d3168814610de157600080fd5b8063659ef44114610d4257806366e06fb914610d5557806367a7bf7314610d68578063684e038914610d8b57600080fd5b8063619d39be116104a9578063619d39be14610cd55780636491452414610cde578063657d6edf14610d19578063658de48a14610d3957600080fd5b80635c60da1b14610c945780635c9c2e8114610ca75780635dc70c7714610cba57806360a28c5b14610cc257600080fd5b8063485cc9551161055257806352913f6c1161052157806352913f6c14610c13578063541f771314610c265780635568268f14610c395780635929fa0414610c4c57600080fd5b8063485cc95514610b7d5780634a04770d14610b905780634fd5e29414610ba357806352713f6714610c0057600080fd5b8063419be3b61161058e578063419be3b614610b44578063430d84dd14610b645780634742a7e014610b6c57806347bd371814610b7457600080fd5b80633cb57be714610af85780633cdc20f814610b0b5780633e271e5b14610b1e57806340691c9514610b3157600080fd5b80631d504dc6116106af57806328e8fe7d116106425780632d21ef26116106115780632d21ef2614610a295780632ee371a414610a3c578063396f7b2314610a4f5780633979324d14610a6257600080fd5b806328e8fe7d146109a857806329dc10d6146109bb5780632a394628146109e15780632c05d4a9146109f457600080fd5b8063226a78561161067e578063226a785614610948578063267822471461095b578063276ef1301461096e578063284050221461098157600080fd5b80631d504dc6146109065780631dcf50ef1461091957806320bd079c1461092257806321833bb61461093557600080fd5b80630fc2b8f511610727578063167ba8bf116106f6578063167ba8bf146108ce5780631ab1a916146108e15780631cb92ed3146108f45780631d0de3ca146108fd57600080fd5b80630fc2b8f5146108765780631075dde61461088b57806312a45f65146108a857806315b09fc1146108bb57600080fd5b80630d3b0b76116107635780630d3b0b761461081c5780630d8adf22146108475780630e5ad9f11461085a5780630ea503fb1461086357600080fd5b806301bab09c1461078a5780630819b4bf1461079f5780630b392228146107d2575b600080fd5b61079d610798366004614e90565b611444565b005b6107bf6107ad366004614e90565b600e6020526000908152604090205481565b6040519081526020015b60405180910390f35b6108016107e0366004614e90565b60106020526000908152604090208054600182015460029092015490919083565b604080519384526020840192909252908201526060016107c9565b60065461082f906001600160a01b031681565b6040516001600160a01b0390911681526020016107c9565b61079d610855366004614ebe565b6114b6565b6107bf601e5481565b610801610871366004614edb565b611537565b61087e611659565b6040516107c99190614f0d565b6108936116d9565b604080519283526020830191909152016107c9565b61079d6108b6366004614f55565b611747565b61079d6108c9366004614e90565b6117d1565b6107bf6108dc366004614fa3565b611844565b61079d6108ef366004614fea565b611891565b6107bf60085481565b6107bf600b5481565b61079d610914366004614ebe565b6119ee565b6107bf60145481565b6107bf610930366004615002565b611a8b565b6107bf610943366004615059565b611b3a565b6107bf610956366004614e90565b611b99565b60015461082f906001600160a01b031681565b6107bf61097c3660046150b3565b611bd5565b61089361098f366004614e90565b6013602052600090815260409020805460019091015482565b60155461082f906001600160a01b031681565b6109ce6109c9366004614e90565b611e2e565b60405161ffff90911681526020016107c9565b61079d6109ef366004614e90565b611e66565b610a07610a02366004614e90565b611e9c565b60408051941515855260208501939093529183015260608201526080016107c9565b610801610a373660046150f5565b612016565b6107bf610a4a366004615112565b61210c565b60035461082f906001600160a01b031681565b610ab9610a703660046150f5565b60256020526000908152604090208054600182015460029092015461ffff82169263ffffffff620100008404811693600160301b8104821693600160501b909104909116919086565b6040805161ffff909716875263ffffffff95861660208801529385169386019390935292166060840152608083019190915260a082015260c0016107c9565b6107bf610b063660046150f5565b61215d565b61079d610b1936600461516f565b6121a6565b6107bf610b2c3660046151fa565b612278565b6107bf610b3f3660046150f5565b6122cf565b6107bf610b52366004614e90565b602a6020526000908152604090205481565b61087e61230e565b610a07612369565b6107bf60165481565b61079d610b8b366004614f55565b612388565b6109ce610b9e366004614e90565b612396565b610beb610bb13660046150f5565b61ffff908116600090815260246020908152604080832054600160201b90049093168252602690522054600160301b900463ffffffff1690565b60405163ffffffff90911681526020016107c9565b610893610c0e366004615237565b6123a6565b6107bf610c21366004614edb565b61249f565b61079d610c34366004614ebe565b6124eb565b61079d610c473660046152b8565b612570565b610beb610c5a3660046150f5565b61ffff908116600090815260246020908152604080832054600160201b90049093168252602690522054600160501b900463ffffffff1690565b60025461082f906001600160a01b031681565b61079d610cb5366004614e90565b61261c565b601a546107bf565b61079d610cd0366004614fea565b612681565b6107bf600a5481565b610cf1610cec3660046152f6565b612882565b604080519586526020860194909452928401919091526060830152608082015260a0016107c9565b6107bf610d27366004614e90565b601b6020526000908152604090205481565b6107bf60235481565b6107bf610d50366004615059565b6129f7565b61079d610d63366004614ebe565b612a2e565b6107bf610d76366004614e90565b60009081526010602052604090206002015490565b6107bf601a5481565b60055461082f906001600160a01b031681565b610893610db5366004614e90565b6011602052600090815260409020805460019091015482565b6107bf610ddc366004615352565b612a7a565b610df4610def366004615387565b612b58565b6040805194855260208501939093529183015260608201526080016107c9565b6107bf610e22366004614e90565b60009081526010602052604090206001015490565b6107bf60205481565b60045461082f906001600160a01b031681565b610893610e613660046153fd565b612d7b565b6107bf602d5481565b6107bf610e7d36600461546c565b612dbd565b6107bf620186a081565b6107bf60225481565b6107bf601f5481565b6107bf600c5481565b60075461082f906001600160a01b031681565b6107bf610ec8366004614e90565b60009081526011602052604090206001015490565b61079d610eeb366004614e90565b612e08565b61079d610efe366004614e90565b612e3e565b6107bf610f113660046154dc565b60408051606095861b6bffffffffffffffffffffffff199081166020808401919091529590961b909516603486015260f09290921b6001600160f01b031916604885015260e01b6001600160e01b031916604a8401528051602e818503018152604e9093019052815191012090565b6109ce610f8e366004614e90565b612e7f565b610801612e8f565b6107bf610fa9366004614e90565b60009081526011602052604090205490565b6107bf60175481565b6107bf670de0b6b3a764000081565b610beb610fe13660046150f5565b61ffff908116600090815260246020908152604080832054600160201b9004909316825260269052205462010000900463ffffffff1690565b6107bf601d5481565b6107bf606481565b6107bf600d5481565b6107bf6110423660046150f5565b612eaf565b610893611055366004615538565b613013565b6107bf602c5481565b6107bf633b9aca0081565b61079d61107c366004615564565b61309a565b6107bf60215481565b6110d16110983660046150f5565b60266020526000908152604090205461ffff81169063ffffffff620100008204811691600160301b8104821691600160501b9091041684565b6040805161ffff909516855263ffffffff9384166020860152918316918401919091521660608201526080016107c9565b61079d611110366004614e90565b6133c2565b6107bf60195481565b61079d61112c366004615577565b6133f8565b610a0761113f3660046150f5565b6136a0565b61087e61383d565b6111d261115a3660046150f5565b602460205260009081526040902080546001820154600283015460038401546004850154600586015460069096015461ffff80871697620100008804821697600160201b81049092169663ffffffff600160301b8404811697600160501b8504821697600160701b909504909116959194909392908c565b6040805161ffff9d8e1681529b8d1660208d01529b9099169a8a019a909a5263ffffffff96871660608a015294861660808901529490921660a087015260c086015260e0850152610100840191909152610120830152610140820192909252610160810191909152610180016107c9565b61079d611251366004614e90565b613898565b61079d611264366004615589565b6138ce565b6107bf6112773660046150b3565b613931565b6107bf60185481565b6107bf611293366004614e90565b601c6020526000908152604090205481565b6107bf600f5481565b61079d6112bc366004614e90565b6139a3565b601654601a54610893565b6107bf6112da366004614e90565b60126020526000908152604090205481565b61079d6112fa366004615564565b613a3b565b6107bf61130d3660046155ff565b613a6e565b6107bf613afc565b61079d611328366004615538565b613b0f565b61080161133b366004614e90565b613b4a565b61079d61134e366004614e90565b613ba9565b61079d611361366004614e90565b613bdf565b6107bf611374366004614e90565b60009081526010602052604090205490565b61079d6113943660046150f5565b613c15565b61079d6113a7366004614e90565b613c71565b6107bf6113ba366004614edb565b613cea565b61079d6113cd366004614ebe565b613d1e565b61079d6113e0366004615650565b613d75565b61079d6113f3366004615577565b613ddb565b60005461082f906001600160a01b031681565b602b5461082f906001600160a01b031681565b6107bf61142c36600461568f565b613fd4565b60095461082f906001600160a01b031681565b6000546001600160a01b031633146114775760405162461bcd60e51b815260040161146e906156c4565b60405180910390fd5b601f81905560095b6040518281527fcb48ce14f4edda961e8a606e8fd9c6562f93440fb820dca0908689c65412abd1906020015b60405180910390a250565b6000546001600160a01b031633146114e05760405162461bcd60e51b815260040161146e906156c4565b600780546001600160a01b0319166001600160a01b03831617905560035b6040516001600160a01b03831681527fdab6a10a2b64bf52b6d4f3921f6244f7e050c6a0bc35a77f81b42d0095248ee6906020016114ab565b60008060008587036115515750600091508190508061164f565b8587116000808261156357888a611566565b89895b90925090506000611577888a615714565b905060006115858483615714565b9050600080611598633b9aca0085615714565b91508415611605576000670de0b6b3a7640000602d54856115b99190615714565b6115c39190615741565b90506115d7670de0b6b3a764000082615741565b985085633b9aca006115e98387615755565b6115f39190615714565b6115fd9190615741565b91505061161a565b611617670de0b6b3a764000084615741565b97505b8661162d5761162881615768565b61162f565b815b99508661163c5781611645565b61164581615768565b9850505050505050505b9450945094915050565b606060278054806020026020016040519081016040528092919081815260200182805480156116cf57602002820191906000526020600020906000905b82829054906101000a900461ffff1661ffff16815260200190600201906020826001010492830192600103820291508084116116965790505b5050505050905090565b602b5460009081906001600160a01b031633146117205760405162461bcd60e51b815260206004820152600560248201526408541bdbdb60da1b604482015260640161146e565b5050601a54602c5461173961173482615768565b614009565b6000601a819055602c559091565b6006546001600160a01b031615801561176957506005546001600160a01b0316155b6117a35760405162461bcd60e51b815260206004820152600b60248201526a125b9a5d1a585b1a5e995960aa1b604482015260640161146e565b600680546001600160a01b039384166001600160a01b03199182161790915560058054929093169116179055565b6000546001600160a01b031633146117fb5760405162461bcd60e51b815260040161146e906156c4565b620186a08111156118385760405162461bcd60e51b8152602060048201526007602482015266214c697146656560c81b604482015260640161146e565b600c819055600561147f565b60008061185384848789614023565b905060008113611867576000915050611888565b670de0b6b3a764000061187a8883615714565b6118849190615741565b9150505b95945050505050565b6000546001600160a01b031633146118bb5760405162461bcd60e51b815260040161146e906156c4565b6118c860208201826150f5565b61ffff8082166000818152602660205260409020549091161461191e5760405162461bcd60e51b815260206004820152600e60248201526d11915157d393d517d31254d5115160921b604482015260640161146e565b81600061192e60208301836150f5565b61ffff161161196e5760405162461bcd60e51b815260206004820152600c60248201526b15d493d391d7d1915157d25160a21b604482015260640161146e565b826026600061198060208401846150f5565b61ffff168152602081019190915260400160002061199e82826157c1565b506119ae905060208401846150f5565b61ffff167fd054fb446fbe8a5875314c566b5202257a9052adfca913ead073d6a5dbecd301846040516119e1919061584a565b60405180910390a2505050565b806001600160a01b031663c1e803346040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5291906158b0565b15611a885760405162461bcd60e51b815260040161146e9060208082526004908201526319985a5b60e21b604082015260600190565b50565b60008085606488858789620186a0600b548e611aa79190615714565b611ab19190615741565b611abb91906158c9565b611ac591906158c9565b611acf91906158c9565b611ad9908d6158f0565b611ae39190615920565b611aed91906158f0565b611af79190615920565b9050600088611b0f57611b0a828b61594e565b611b19565b611b19828b6158c9565b905060008113611b2a576000611b2c565b805b9a9950505050505050505050565b600080611b45612e8f565b60008781526011602090815260408083208151808301835281548152600190910154818401528a845260129092529091205481519295509093509150611b8d90848784613cea565b93505050505b92915050565b6000818152601360209081526040808320815180830190925280548083526001909101549282018390529091611bce916158c9565b9392505050565b6000611be7838363ffffffff1661407b565b61ffff80861660009081526024602090815260409182902082516101808101845281548086168252620100008104861693820193909352600160201b83049094169284019290925263ffffffff600160301b820481166060850152600160501b8204811660808501819052600160701b909204811660a0850152600183015460c0850152600283015460e085015260038301546101008501526004830154610120850152600583015461014085015260069092015461016084015292935090919084161115611cce57600483604051632eb752bf60e21b815260040161146e929190615998565b806060015163ffffffff168363ffffffff161015611d0457600583604051632eb752bf60e21b815260040161146e929190615998565b8060c00151821115611d2e57600282604051632eb752bf60e21b815260040161146e9291906159b9565b60208082015161ffff908116600090815260258352604090819020815160c0810183528154938416815263ffffffff620100008504811695820195909552600160301b84048516928101839052600160501b90930484166060840152600181015460808401526002015460a0830152909185161115611dc557600484604051632eb752bf60e21b815260040161146e929190615998565b806020015163ffffffff168463ffffffff161015611dfb57600584604051632eb752bf60e21b815260040161146e929190615998565b8060800151831115611e2557600383604051632eb752bf60e21b815260040161146e9291906159b9565b50509392505050565b60298181548110611e3e57600080fd5b9060005260206000209060109182820401919006600202915054906101000a900461ffff1681565b6000546001600160a01b03163314611e905760405162461bcd60e51b815260040161146e906156c4565b6014819055600161147f565b6018546000908190819081904290818103611ecb576000601954601754601a549550955095509550505061200f565b601654601a546017546015546000906001600160a01b0316639fa83b5a611ef28d87614089565b6040518263ffffffff1660e01b8152600401611f1091815260200190565b602060405180830381865afa158015611f2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5191906158b0565b9050601e54811115611f7b57600d81604051632eb752bf60e21b815260040161146e9291906159b9565b6000611f878688615755565b90506000611f958284615714565b90506000670de0b6b3a7640000611fac8884615714565b611fb69190615741565b9050670de0b6b3a764000081601d54611fcf9190615714565b611fd99190615741565b611fe390876159d4565b9950611fef82866159d4565b9a5080601954611fff91906159d4565b9b5060019c505050505050505050505b9193509193565b600080600080612025856136a0565b9196509450925090508015612104576040805160608101825285815260208082018681524283850190815261ffff8a1660009081526010909352938220925183555160018301559151600290910155602c80548492906120869084906159d4565b909155505060405182815261ffff8616907f9c61e7f8484b2101ad51c696eb172f4c7b1aafe7c8872405da752db2ad6dceba9060200160405180910390a2604080518581526020810185905261ffff8716917ffa891c319a832a3711ea90f45f728b757a30eb5a8056c2d136fab2e642ee755d910160405180910390a25b509193909250565b600080600061211a87612016565b5060008a815260116020526040902060010154919350915061215081886121415783612143565b845b888863ffffffff1661249f565b9998505050505050505050565b6000806121686140bf565b61ffff8416600090815260246020526040902054909150620186a09061219c908390600160701b900463ffffffff16615714565b611bce9190615741565b6006546001600160a01b031633146121d05760405162461bcd60e51b815260040161146e906159e7565b6121e283828763ffffffff1687613d75565b60006121f7878763ffffffff16878787611844565b9050600061220e888863ffffffff16888887611844565b9050818111156122465760008061222e8b6122298686615755565b614149565b9150915061223f8282610c47613afc565b5050612261565b81811015612261576122618961225c8385615755565b6142bc565b61226b8b83614391565b5050505050505050505050565b60008061228585876158c9565b905060008461229c5761229784615768565b61229e565b835b90506122aa818361594e565b9150600082136122c2576122bd82615768565b6122c4565b815b979650505050505050565b6000806122da6140bf565b61ffff8416600090815260256020526040902054909150620186a09061219c908390600160501b900463ffffffff16615714565b606060298054806020026020016040519081016040528092919081815260200182805480156116cf576000918252602091829020805461ffff1684529082028301929091600291018084116116965790505050505050905090565b60008060008061237a610a026140bf565b935093509350935090919293565b61239282826143c1565b5050565b60278181548110611e3e57600080fd5b60065460009081906001600160a01b031633146123d55760405162461bcd60e51b815260040161146e906159e7565b6123de88613c15565b60006123eb898989611bd5565b90506123ff84868963ffffffff1689613d75565b6124098982613013565b9093509150600061241a848a615755565b90506124268a82613b0f565b6000612438828a63ffffffff1661407b565b90506124488b8260018b8a614491565b6000806124628d612229868e63ffffffff168e8d8f611844565b915091506124738282610c47613afc565b61247e8f8e8c614649565b61248d8f8f8f8f8f8f8d6146e3565b50505050509850989650505050505050565b6000633b9aca006124b9670de0b6b3a76400006064615714565b6124c39190615714565b6124cd8385615714565b6124d787876158c9565b6124e191906158f0565b6118889190615920565b6000546001600160a01b031633146125155760405162461bcd60e51b815260040161146e906156c4565b601580546001600160a01b0319166001600160a01b03831617905560015b6015546040516001600160a01b0390911681527fdab6a10a2b64bf52b6d4f3921f6244f7e050c6a0bc35a77f81b42d0095248ee6906020016114ab565b602b54604051639bb7d70760e01b81526004810185905260248101849052604481018390526000916001600160a01b031690639bb7d70790606401602060405180830381865afa1580156125c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ec91906158b0565b905060205481111561261657600681604051632eb752bf60e21b815260040161146e9291906159b9565b50505050565b6000546001600160a01b031633146126465760405162461bcd60e51b815260040161146e906156c4565b6000818152602a60205260408082208290555182917f8e6e6257c9bb8dcb60b0b1cdf2e4713603036394ab66bc6004c209f6e1d34fb591a250565b6000546001600160a01b031633146126ab5760405162461bcd60e51b815260040161146e906156c4565b8060006126bb60208301836150f5565b61ffff16116126fb5760405162461bcd60e51b815260206004820152600c60248201526b15d493d391d7d1915157d25160a21b604482015260640161146e565b600061270a60208401846150f5565b90508061ffff1660000361274d5760405162461bcd60e51b815260206004820152600a6024820152691253959053125117d25160b21b604482015260640161146e565b61ffff8082166000818152602660205260409020549091160361279f5760405162461bcd60e51b815260206004820152600a6024820152694645455f45584953545360b01b604482015260640161146e565b61ffff8116600090815260266020526040902083906127be82826157c1565b50602990506127d060208501856150f5565b815460018101835560009283526020832060108204018054600f9092166002026101000a61ffff818102199093169390921691909102919091179055602380549161281a83615a13565b9091555050604080516020810182526000815290516128399190615a2c565b60405180910390208161ffff167f9a0c6b146a79daf7bc3f7287373a4d73bfbe47be4a5ad5eb50650ecea3778ec385604051612875919061584a565b60405180910390a3505050565b6000806000806000612892612e8f565b50505061289e89612016565b5061290991508b90508a6128b860608c0160408d01615a5b565b8b356128ca60408e0160208f01615a76565b8d60600160208101906128dd9190615aab565b67ffffffffffffffff168e60800160208101906128fa9190615aab565b67ffffffffffffffff16612d7b565b909250905060006129268a8a3561127760408d0160208e01615a76565b905061297161293b60808b0160608c01615aab565b67ffffffffffffffff168961295660608d0160408e01615a5b565b61296660408e0160208f01615a76565b63ffffffff16614023565b935060006129818b8b3587612a7a565b90508b7f05fd5872a25a89572f63c014f039fe89a3538f159f2286b50d1813cbfa56f464826040516129b591815260200190565b60405180910390a26129c781836159d4565b91506129d88a35868686868d613a6e565b96506129e68a35848461478d565b955050509550955095509550959050565b600080612a0384611b99565b6000858152600e602052604081205491925090612a219083906147c1565b905061188882828661480c565b6000546001600160a01b03163314612a585760405162461bcd60e51b815260040161146e906156c4565b600980546001600160a01b0319166001600160a01b03831617905560026114fe565b61ffff8316600090815260246020526040812060060154600080670de0b6b3a7640000612aa786886158f0565b612ab19190615920565b90508060001215612b205761ffff808816600090815260246020908152604080832054600160201b90049093168252602690522054612b05908290600160501b900463ffffffff165b63ffffffff16614858565b9150828210612b145781612b16565b825b9350505050611bce565b6000612b2b82615768565b905083811115612b42576000945050505050611bce565b612b4c8185615755565b98975050505050505050565b6006546000908190819081906001600160a01b03163314612b8b5760405162461bcd60e51b815260040161146e906159e7565b60006003866004811115612ba157612ba16156e8565b14905080612bdc57612bd787612bbd60a08b0160808c01615aab565b67ffffffffffffffff1661142c60608c0160408d01615a5b565b612c3d565b612c3d8b8a612bf160808c0160608d01615aab565b67ffffffffffffffff16612c0b60a08d0160808e01615aab565b67ffffffffffffffff16612c2560608e0160408f01615a5b565b8d600001358e6020016020810190610e7d9190615a76565b91506000612c618935612c5660408c0160208d01615a76565b63ffffffff1661407b565b9050612c9c8a826000612c7a60608e0160408f01615a5b565b8d6060016020810190612c8d9190615aab565b67ffffffffffffffff16614491565b612d0d8a61225c8b35612cb560408e0160208f01615a76565b63ffffffff168d6040016020810190612cce9190615a5b565b8e6060016020810190612ce19190615aab565b67ffffffffffffffff168f6080016020810190612cfe9190615aab565b67ffffffffffffffff16611844565b612d1b8c8c8c8c8787614868565b9097509095509350612d3361ffff8b168a35866148fa565b612d6c8c8c8c8c600001358d6020016020810190612d519190615a76565b8e6040016020810190612d649190615a5b565b8c8b8d614949565b50509650965096509692505050565b6000806000612d93878763ffffffff168a8888611844565b9050612d9f8a82611b3a565b9250612dae8a8a8a8a8a61210c565b91505097509795505050505050565b6000806000612dd18a8a8888888d8d612d7b565b915091506000612de28a8787613931565b9050612df98988888863ffffffff16878787611a8b565b9b9a5050505050505050505050565b6000546001600160a01b03163314612e325760405162461bcd60e51b815260040161146e906156c4565b600a819055600661147f565b6000546001600160a01b03163314612e685760405162461bcd60e51b815260040161146e906156c4565b612e70612e8f565b505050601d819055600761147f565b60288181548110611e3e57600080fd5b6000806000612ea4612e9f6140bf565b614a00565b925092509250909192565b61ffff808216600090815260246020908152604080832081516101808101835281548087168252620100008104871694820194909452600160201b84049095169185019190915263ffffffff600160301b830481166060860152600160501b830481166080860152600160701b90920490911660a0840152600181015460c0840152600281015460e084015260038101546101008401526004810154610120840152600581015461014084018190526006909101546101608401529091906000191115612f8157610140015192915050565b60208082015161ffff908116600090815260258352604090819020815160c0810183528154938416815263ffffffff620100008504811695820195909552600160301b8404851692810192909252600160501b9092049092166060830152600181015460808301526002015460a0820181905260001911156130085760a001519392505050565b505060145492915050565b60008061305883612afa8661ffff908116600090815260246020908152604080832054600160201b9004909316825260269052205463ffffffff620100009091041690565b915061306384612eaf565b82101561308857600182604051632eb752bf60e21b815260040161146e9291906159b9565b61309182614a82565b90509250929050565b806130ca6130ae60408301602084016150f5565b61ffff9081166000818152602560205260409020549091161490565b6131045760405162461bcd60e51b815260206004820152600b60248201526a057726f6e672067726f75760ac1b604482015260640161146e565b61313361311760608301604084016150f5565b61ffff9081166000818152602660205260409020549091161490565b61316b5760405162461bcd60e51b815260206004820152600960248201526857726f6e672066656560b81b604482015260640161146e565b600261317960646001615714565b6131839190615741565b6131936080830160608401615a76565b63ffffffff16101580156131c857506131af60646103e8615714565b6131bf60a0830160808401615a76565b63ffffffff1611155b80156131fe57506131df60a0820160808301615a76565b63ffffffff166131f56080830160608401615a76565b63ffffffff1611155b61321a5760405162461bcd60e51b815260040161146e90615ac6565b61322d670de0b6b3a76400006001615714565b61323d60c0830160a08401615a76565b63ffffffff1611156132615760405162461bcd60e51b815260040161146e90615aef565b80610100013581610120013511156132ac5760405162461bcd60e51b815260206004820152600e60248201526d4d6178536b65773c3d4d6178494f60901b604482015260640161146e565b6132b960208301836150f5565b61ffff808216600081815260246020526040902054909116146133105760405162461bcd60e51b815260206004820152600f60248201526e1410525497d393d517d31254d51151608a1b604482015260640161146e565b6000546001600160a01b0316331461333a5760405162461bcd60e51b815260040161146e906156c4565b61334a610a3760208501856150f5565b5084915060249050600061336160208401846150f5565b61ffff168152602081019190915260400160002061337f8282615b19565b5061338f905060208401846150f5565b61ffff167f3b94052e7459a8a9ca44173c1f584a671f9a0109b819e79b2d2870bab3696608846040516119e19190615c49565b6000546001600160a01b031633146133ec5760405162461bcd60e51b815260040161146e906156c4565b6008819055600361147f565b6000546001600160a01b031633146134225760405162461bcd60e51b815260040161146e906156c4565b80600261343160646001615714565b61343b9190615741565b61344b6040830160208401615a76565b63ffffffff1610158015613480575061346760646103e8615714565b6134776060830160408401615a76565b63ffffffff1611155b80156134b657506134976060820160408301615a76565b63ffffffff166134ad6040830160208401615a76565b63ffffffff1611155b6134d25760405162461bcd60e51b815260040161146e90615ac6565b6134e5670de0b6b3a76400006001615714565b6134f56080830160608401615a76565b63ffffffff1611156135195760405162461bcd60e51b815260040161146e90615aef565b600061352860208401846150f5565b90508061ffff1660000361356b5760405162461bcd60e51b815260206004820152600a6024820152691253959053125117d25160b21b604482015260640161146e565b61ffff808216600081815260256020526040902054909116036135bf5760405162461bcd60e51b815260206004820152600c60248201526b47524f55505f45584953545360a01b604482015260640161146e565b61ffff8116600090815260256020526040902083906135de8282615d19565b50506028805460018101825560009182527fe16da923a2d88192e5070f37b4571d58682c0d66212ec634d495f33de3f77ab560108204018054600f9092166002026101000a61ffff8181021990931692851602919091179055602280549161364583615a13565b9091555050604080516020810182526000815290516136649190615a2c565b60405180910390208161ffff167f3f6eb4c4b17f2ae016a0202b4b42b0384a37431c3d328433bfa4cb4eea42fcf0856040516128759190615dbb565b61ffff8116600090815260106020908152604080832081516060810183528154808252600183015494820185905260029092015492810183905290929184919082906136ec9042615755565b90508060000361370557506000945084915061200f9050565b61ffff871660008181526013602090815260408083208151808301835281548152600190910154818401908152858552602493849052828520600301546009548351925194516303d05eb560e21b8152600481019890985294870191909152604486019290925260648501829052939092916001600160a01b031690630f417ad490608401602060405180830381865afa1580156137a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137cb91906158b0565b9050600a548111156137f557600e81604051632eb752bf60e21b815260040161146e9291906159b9565b60008061380c856000015186602001518589611537565b9950909250905061381d828b61594e565b9950613829818a61594e565b985060019a50505050505050509193509193565b606060288054806020026020016040519081016040528092919081815260200182805480156116cf576000918252602091829020805461ffff1684529082028301929091600291018084116116965790505050505050905090565b6000546001600160a01b031633146138c25760405162461bcd60e51b815260040161146e906156c4565b602d819055600b61147f565b6000546001600160a01b031633146138f85760405162461bcd60e51b815260040161146e906156c4565b60005b8181101561392c5761392483838381811061391857613918615e32565b90506101800201614aa0565b6001016138fb565b505050565b600080613944848463ffffffff1661407b565b905060006139878661ffff908116600090815260246020908152604080832054600160201b9004909316825260269052205463ffffffff600160301b9091041690565b63ffffffff1690506139998282614858565b9695505050505050565b6000546001600160a01b031633146139cd5760405162461bcd60e51b815260040161146e906156c4565b6139e0670de0b6b3a76400006001615714565b811115613a2f5760405162461bcd60e51b815260206004820152601d60248201527f496c6c6567616c206d61785669727475616c5574696c697a6174696f6e000000604482015260640161146e565b6020819055600a61147f565b6000546001600160a01b03163314613a655760405162461bcd60e51b815260040161146e906156c4565b611a8881614aa0565b600080838587670de0b6b3a7640000613a878b8d6158f0565b613a919190615920565b613a9b908c61594e565b613aa591906158c9565b613aaf91906158c9565b613ab991906158c9565b90508215613aed57620186a0600c54620186a0613ad69190615755565b613ae090836158f0565b613aea9190615920565b90505b600081136122c4576000612b4c565b6000600f54613b0a90615768565b905090565b61ffff8216600090815260246020526040902060060154811161239257601181604051632eb752bf60e21b815260040161146e9291906159b9565b602b54600090819081906001600160a01b03163314613b935760405162461bcd60e51b815260206004820152600560248201526404282eae8d60db1b604482015260640161146e565b613b9c84614a00565b9250925092509193909250565b6000546001600160a01b03163314613bd35760405162461bcd60e51b815260040161146e906156c4565b600d819055600261147f565b6000546001600160a01b03163314613c095760405162461bcd60e51b815260040161146e906156c4565b601e819055600861147f565b61ffff81166000908152602a60205260408120549081138015613c4e575061ffff82166000908152602460205260409020600201548112155b1561239257600c81604051632eb752bf60e21b815260040161146e9291906159b9565b6000546001600160a01b03163314613c9b5760405162461bcd60e51b815260040161146e906156c4565b620186a0811115613cde5760405162461bcd60e51b815260206004820152600d60248201526c08531a5c551a1c995cda1bdb19609a1b604482015260640161146e565b600b819055600461147f565b600081670de0b6b3a7640000613d008787615755565b613d0a9086615714565b613d149190615741565b61188891906159d4565b6000546001600160a01b03163314613d485760405162461bcd60e51b815260040161146e906156c4565b613d50612e8f565b5050601580546001600160a01b0319166001600160a01b038416179055506001612533565b6000613d8385858486614023565b90506000620186a0670de0b6b3a7640000600854613da19190615714565b613dab9190615741565b905080821315613dd357600f82604051632eb752bf60e21b815260040161146e9291906159b9565b505050505050565b6000546001600160a01b03163314613e055760405162461bcd60e51b815260040161146e906156c4565b613e1260208201826150f5565b61ffff80821660008181526025602052604090205490911614613e6a5760405162461bcd60e51b815260206004820152601060248201526f11d493d55417d393d517d31254d5115160821b604482015260640161146e565b816002613e7960646001615714565b613e839190615741565b613e936040830160208401615a76565b63ffffffff1610158015613ec85750613eaf60646103e8615714565b613ebf6060830160408401615a76565b63ffffffff1611155b8015613efe5750613edf6060820160408301615a76565b63ffffffff16613ef56040830160208401615a76565b63ffffffff1611155b613f1a5760405162461bcd60e51b815260040161146e90615ac6565b613f2d670de0b6b3a76400006001615714565b613f3d6080830160608401615a76565b63ffffffff161115613f615760405162461bcd60e51b815260040161146e90615aef565b8260256000613f7360208401846150f5565b61ffff1681526020810191909152604001600020613f918282615d19565b50613fa1905060208401846150f5565b61ffff167fff0d1e662db49cdbfee5d28277af14118c69157bf9ab9586bed8ab85744f6946846040516119e19190615dbb565b60008115613ff257828411613fe95783613feb565b825b9050611bce565b828410613fff5783614001565b825b949350505050565b80600f600082825461401b919061594e565b909155505050565b60008484828561403c5761403782846158c9565b614046565b61404683836158c9565b905082606461405d87670de0b6b3a7640000615714565b6140679190615741565b61407190836158f0565b612b4c9190615920565b6000606461219c8385615714565b60008160000361409b57506000611b93565b826000036140ac5750600019611b93565b8261219c670de0b6b3a764000084615714565b602b546000906001600160a01b0316633ce9a2946140dc601a5490565b6140e4613afc565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401602060405180830381865afa158015614125573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b0a91906158b0565b600080614154612e8f565b5061ffff86166000908152601b602052604081205491935090915061417985836159d4565b90506141848661215d565b8111156141a957600981604051632eb752bf60e21b815260040161146e9291906159b9565b61ffff808716600090815260246020908152604080832054620100009004909316808352601c90915291812054906141e188836159d4565b90506141ec836122cf565b81111561421157600a81604051632eb752bf60e21b815260040161146e9291906159b9565b60165461421e89826159d4565b9750601f5488111561424857601088604051632eb752bf60e21b815260040161146e9291906159b9565b61ffff8a81166000818152601b602090815260408083208a90559388168252601c81529083902085905560168b905582518c81529081018b905290917fd67bffb11f634e8d9df020d50462c82383a8dab0e8025486778c08f303353432910160405180910390a25050505050509250929050565b6142c4612e8f565b50505080601660008282546142d99190615755565b909155505061ffff8083166000908152602460209081526040808320546201000090049093168252601c90529081208054839290614318908490615755565b909155505061ffff82166000908152601b602052604081208054839290614340908490615755565b909155505060165460405161ffff8416917ff432bcbc2a9a863f95613e1a4dfc59eddf24aff45bdbd7ee5cfbab1a65989ee19161438591858252602082015260400190565b60405180910390a25050565b61439b8282611b3a565b600092835260126020908152604080852092909255601754601190915292209190915550565b61442781836001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015614403573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b69190615e48565b602b546001600160a01b03161561446e5760405162461bcd60e51b815260206004820152600b60248201526a125b9a5d1a585b1a5e995960aa1b604482015260640161146e565b50602b80546001600160a01b0319166001600160a01b0392909216919091179055565b61449a85612016565b50505061ffff808616600081815260246020908152604080832081516101808101835281548088168252620100008104881682860152600160201b81049097168184015263ffffffff600160301b880481166060830152600160501b880481166080830152600160701b90970490961660a0870152600181015460c0870152600281015460e08701526003810154610100870152600481015461012087015260058101546101408701526006015461016086015292825260139052908120908461456857816001015461456b565b81545b90506000866145835761457e8883615755565b61458d565b61458d88836159d4565b90508615614605578361010001518111156145c057600781604051632eb752bf60e21b815260040161146e9291906159b9565b60006145d684600001548560010154898c612278565b905084610120015181111561460357600881604051632eb752bf60e21b815260040161146e9291906159b9565b505b85156146135780835561461b565b600183018190555b6000861515881515146146365761463189615768565b614638565b885b905061226b8a61ffff168288614e02565b6000614653612e8f565b9250505060008061466385612016565b50600088815260116020908152604080832060129092528220919091558581559193509150846146935781614695565b825b60018201819055815460408051918252602082019290925288917f1133386bae8df8e8dd37965de72a97d5b1a713dc5c6ab638fafc5923dd4bf5f8910160405180910390a250505050505050565b6007546001600160a01b0316806146fa5750614784565b604051635a565eb760e01b8152600481018990526001600160a01b03888116602483015261ffff881660448301526064820187905263ffffffff8616608483015284151560a483015260c48201849052821690635a565eb79060e401600060405180830381600087803b15801561477057600080fd5b505af1925050508015614781575060015b50505b50505050505050565b6000808484136147a6576147a184866158c9565b6147a9565b60005b90508083106147b85780611888565b50909392505050565b6000816000036147d357506000611b93565b816147ea633b9aca00670de0b6b3a7640000615714565b6147f8633b9aca00866158f0565b61480291906158f0565b611bce9190615920565b60008260000361481e57506000611bce565b633b9aca0080848061483083876158f0565b61483a91906158c9565b61484484896158f0565b61484e91906158f0565b6124e19190615920565b6000620186a061219c8385615714565b600080600080600061487d8b8a8a8a8a612882565b93985091965094509250905061489282614e61565b61489b81614009565b8861ffff168a6001600160a01b03168c7fccc12f5cdb562d6d60967fe36fdbd2be4096a405a5ecd201aa274d3b4e74706a8b8787878b8d6040516148e496959493929190615e65565b60405180910390a4505096509650969350505050565b6000670de0b6b3a764000061490f83856158f0565b6149199190615920565b905080602a6000868152602001908152602001600020600082825461493e919061594e565b909155505050505050565b6007546001600160a01b0316806149605750614781565b6040516371e3933560e11b8152600481018b90526001600160a01b038a8116602483015261ffff8a1660448301526064820189905263ffffffff8816608483015286151560a483015260c4820186905260e48201859052610104820184905282169063e3c7266a9061012401600060405180830381600087803b1580156149e657600080fd5b505af192505050801561226b575050505050505050505050565b600080600080614a0f85611e9c565b9196509094509250905080156121045760198490556017829055601a839055426018556040805186815260208101869052908101839052606081018490527f4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc049060800160405180910390a1509193909250565b6000620186a0600d5483614a969190615714565b611b939190615741565b80614ab46130ae60408301602084016150f5565b614aee5760405162461bcd60e51b815260206004820152600b60248201526a057726f6e672067726f75760ac1b604482015260640161146e565b614b0161311760608301604084016150f5565b614b395760405162461bcd60e51b815260206004820152600960248201526857726f6e672066656560b81b604482015260640161146e565b6002614b4760646001615714565b614b519190615741565b614b616080830160608401615a76565b63ffffffff1610158015614b965750614b7d60646103e8615714565b614b8d60a0830160808401615a76565b63ffffffff1611155b8015614bcc5750614bad60a0820160808301615a76565b63ffffffff16614bc36080830160608401615a76565b63ffffffff1611155b614be85760405162461bcd60e51b815260040161146e90615ac6565b614bfb670de0b6b3a76400006001615714565b614c0b60c0830160a08401615a76565b63ffffffff161115614c2f5760405162461bcd60e51b815260040161146e90615aef565b8061010001358161012001351115614c7a5760405162461bcd60e51b815260206004820152600e60248201526d4d6178536b65773c3d4d6178494f60901b604482015260640161146e565b614ca6614c8a60208401846150f5565b61ffff9081166000818152602460205260409020549091161490565b15614ce15760405162461bcd60e51b815260206004820152600b60248201526a504149525f45584953545360a81b604482015260640161146e565b8160246000614cf360208401846150f5565b61ffff1681526020810191909152604001600020614d118282615b19565b5060279050614d2360208401846150f5565b815460018101835560009283526020832060108204018054600f9092166002026101000a61ffff8181021990931693909216919091029190911790556021805491614d6d83615a13565b909155505060408051602081018252600081529051614d8c9190615a2c565b604080519182900382206020830182526000835290519091614dad91615a2c565b604051908190039020614dc360208501856150f5565b61ffff167f0b35303a11f2a3d61e7d59253a0ce2e4e782a381ad1a12f9c9706abe7fff54b185604051614df69190615c49565b60405180910390a45050565b6000838152600e602052604081205482614e28633b9aca00670de0b6b3a7640000615714565b614e3290866158f0565b614e3c9190615920565b614e46908261594e565b6000958652600e602052604090952085905550929392505050565b60195480821115614e755760006019555050565b8160196000828254614e879190615755565b90915550505050565b600060208284031215614ea257600080fd5b5035919050565b6001600160a01b0381168114611a8857600080fd5b600060208284031215614ed057600080fd5b8135611bce81614ea9565b60008060008060808587031215614ef157600080fd5b5050823594602084013594506040840135936060013592509050565b6020808252825182820181905260009190848201906040850190845b81811015614f4957835161ffff1683529284019291840191600101614f29565b50909695505050505050565b60008060408385031215614f6857600080fd5b8235614f7381614ea9565b91506020830135614f8381614ea9565b809150509250929050565b80358015158114614f9e57600080fd5b919050565b600080600080600060a08688031215614fbb57600080fd5b8535945060208601359350614fd260408701614f8e565b94979396509394606081013594506080013592915050565b600060808284031215614ffc57600080fd5b50919050565b600080600080600080600060e0888a03121561501d57600080fd5b8735965061502d60208901614f8e565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b6000806040838503121561506c57600080fd5b50508035926020909101359150565b61ffff81168114611a8857600080fd5b8035614f9e8161507b565b63ffffffff81168114611a8857600080fd5b8035614f9e81615096565b6000806000606084860312156150c857600080fd5b83356150d38161507b565b92506020840135915060408401356150ea81615096565b809150509250925092565b60006020828403121561510757600080fd5b8135611bce8161507b565b600080600080600060a0868803121561512a57600080fd5b85359450602086013561513c8161507b565b935061514a60408701614f8e565b925060608601359150608086013561516181615096565b809150509295509295909350565b60008060008060008060008060006101208a8c03121561518e57600080fd5b8935985060208a01356151a081614ea9565b975060408a01356151b08161507b565b965060608a0135955060808a01356151c781615096565b94506151d560a08b01614f8e565b935060c08a0135925060e08a013591506101008a013590509295985092959850929598565b6000806000806080858703121561521057600080fd5b843593506020850135925061522760408601614f8e565b9396929550929360600135925050565b600080600080600080600080610100898b03121561525457600080fd5b88359750602089013561526681614ea9565b965060408901356152768161507b565b955060608901359450608089013561528d81615096565b935061529b60a08a01614f8e565b925060c0890135915060e089013590509295985092959890939650565b6000806000606084860312156152cd57600080fd5b505081359360208301359350604090920135919050565b600060a08284031215614ffc57600080fd5b6000806000806000610120868803121561530f57600080fd5b8535945060208601356153218161507b565b935061533087604088016152e4565b925060e086013591506153466101008701614f8e565b90509295509295909350565b60008060006060848603121561536757600080fd5b83356153728161507b565b95602085013595506040909401359392505050565b60008060008060008061014087890312156153a157600080fd5b8635955060208701356153b381614ea9565b945060408701356153c38161507b565b93506153d288606089016152e4565b92506101008701359150610120870135600581106153ef57600080fd5b809150509295509295509295565b600080600080600080600060e0888a03121561541857600080fd5b87359650602088013561542a8161507b565b955061543860408901614f8e565b945060608801359350608088013561544f81615096565b9699959850939692959460a0840135945060c09093013592915050565b600080600080600080600060e0888a03121561548757600080fd5b8735965060208801356154998161507b565b955060408801359450606088013593506154b560808901614f8e565b925060a0880135915060c08801356154cc81615096565b8091505092959891949750929550565b600080600080608085870312156154f257600080fd5b84356154fd81614ea9565b9350602085013561550d81614ea9565b9250604085013561551d8161507b565b9150606085013561552d81615096565b939692955090935050565b6000806040838503121561554b57600080fd5b82356155568161507b565b946020939093013593505050565b60006101808284031215614ffc57600080fd5b600060c08284031215614ffc57600080fd5b6000806020838503121561559c57600080fd5b823567ffffffffffffffff808211156155b457600080fd5b818501915085601f8301126155c857600080fd5b8135818111156155d757600080fd5b866020610180830285010111156155ed57600080fd5b60209290920196919550909350505050565b60008060008060008060c0878903121561561857600080fd5b863595506020870135945060408701359350606087013592506080870135915061564460a08801614f8e565b90509295509295509295565b6000806000806080858703121561566657600080fd5b84359350602085013592506040850135915061568460608601614f8e565b905092959194509250565b6000806000606084860312156156a457600080fd5b83359250602084013591506156bb60408501614f8e565b90509250925092565b6020808252600a908201526927a7262cafa0a226a4a760b11b604082015260600190565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611b9357611b936156fe565b634e487b7160e01b600052601260045260246000fd5b6000826157505761575061572b565b500490565b81810381811115611b9357611b936156fe565b6000600160ff1b820161577d5761577d6156fe565b5060000390565b60008135611b938161507b565b60008135611b9381615096565b805463ffffffff60501b191660509290921b63ffffffff60501b16919091179055565b81356157cc8161507b565b815461ffff191661ffff82161782555060208201356157ea81615096565b815465ffffffff00001916601082901b65ffffffff00001617825550604082013561581481615096565b815463ffffffff60301b1916603082901b63ffffffff60301b1617825550606082013561584081615096565b61392c818361579e565b6080810182356158598161507b565b61ffff168252602083013561586d81615096565b63ffffffff908116602084015260408401359061588982615096565b90811660408401526060840135906158a082615096565b8082166060850152505092915050565b6000602082840312156158c257600080fd5b5051919050565b81810360008312801583831316838312821617156158e9576158e96156fe565b5092915050565b80820260008212600160ff1b8414161561590c5761590c6156fe565b8181058314821517611b9357611b936156fe565b60008261592f5761592f61572b565b600160ff1b821460001984141615615949576159496156fe565b500590565b808201828112600083128015821682158216171561596e5761596e6156fe565b505092915050565b6012811061599457634e487b7160e01b600052602160045260246000fd5b9052565b604081016159a68285615976565b63ffffffff831660208301529392505050565b604081016159c78285615976565b8260208301529392505050565b80820180821115611b9357611b936156fe565b60208082526012908201527154524144494e475f464c4f4f525f4f4e4c5960701b604082015260600190565b600060018201615a2557615a256156fe565b5060010190565b6000825160005b81811015615a4d5760208186018101518583015201615a33565b506000920191825250919050565b600060208284031215615a6d57600080fd5b611bce82614f8e565b600060208284031215615a8857600080fd5b8135611bce81615096565b803567ffffffffffffffff81168114614f9e57600080fd5b600060208284031215615abd57600080fd5b611bce82615a93565b6020808252600f908201526e57524f4e475f4c455645524147455360881b604082015260600190565b60208082526010908201526f2bb937b7339036b0bc2137b93937bba360811b604082015260600190565b615b38615b2583615784565b825461ffff191661ffff91909116178255565b615b61615b4760208401615784565b825463ffff0000191660109190911b63ffff000016178255565b615b8e615b7060408401615784565b825465ffff00000000191660209190911b65ffff0000000016178255565b615bbd615b9d60608401615791565b825463ffffffff60301b191660309190911b63ffffffff60301b16178255565b615bd2615bcc60808401615791565b8261579e565b615c05615be160a08401615791565b82805463ffffffff60701b191660709290921b63ffffffff60701b16919091179055565b60c0820135600182015560e0820135600282015561010082013560038201556101208201356004820155610140820135600582015561016082013560068201555050565b6101808101615c6382615c5b8561508b565b61ffff169052565b615c6f6020840161508b565b61ffff166020830152615c846040840161508b565b61ffff166040830152615c99606084016150a8565b63ffffffff166060830152615cb0608084016150a8565b63ffffffff166080830152615cc760a084016150a8565b63ffffffff1660a083015260c0838101359083015260e0808401359083015261010080840135908301526101208084013590830152610140808401359083015261016092830135929091019190915290565b8135615d248161507b565b815461ffff191661ffff8216178255506020820135615d4281615096565b815465ffffffff00001916601082901b65ffffffff000016178255506040820135615d6c81615096565b815463ffffffff60301b1916603082901b63ffffffff60301b16178255506060820135615d9881615096565b615da2818361579e565b506080820135600182015560a082013560028201555050565b60c081018235615dca8161507b565b61ffff1682526020830135615dde81615096565b63ffffffff9081166020840152604084013590615dfa82615096565b9081166040840152606084013590615e1182615096565b1660608301526080838101359083015260a092830135929091019190915290565b634e487b7160e01b600052603260045260246000fd5b600060208284031215615e5a57600080fd5b8151611bce81614ea9565b8635815261014081016020880135615e7c81615096565b63ffffffff166020830152615e9360408901614f8e565b15156040830152615ea660608901615a93565b67ffffffffffffffff808216606085015280615ec460808c01615a93565b166080850152505060a082019690965260c081019490945260e08401929092526101008301526101209091015291905056fea2646970667358221220f72ad51d9f0fd015cc2ec9609231411988012680eb01b8d89a533d8a58ed12a964736f6c63430008180033";
3733
+ const _bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633179055615f2c80620000336000396000f3fe608060405234801561001057600080fd5b50600436106107855760003560e01c806379518cca116103df578063bc7a36d61161020a578063d9cf36ba11610125578063ec857a46116100b8578063f851a44011610087578063f851a440146113f8578063fb56c48f1461140b578063ff295f331461141e578063ff4850351461143157600080fd5b8063ec857a46146113ac578063ee466846146113bf578063f1fccdc1146113d2578063f345eb27146113e557600080fd5b8063e72f75b3116100f4578063e72f75b314611353578063e8de573314611366578063e9b65faa14611386578063eb980acc1461139957600080fd5b8063d9cf36ba14611312578063db180bf11461131a578063e0dc17501461132d578063e5fac2d71461134057600080fd5b8063cfa992011161019d578063d370f1d41161016c578063d370f1d4146112c1578063d46cca36146112cc578063d62f8de1146112ec578063d84f4d3f146112ff57600080fd5b8063cfa992011461127c578063d037a11c14611285578063d0a6663e146112a5578063d2417429146112ae57600080fd5b8063c2b10883116101d9578063c2b108831461114c578063c317767814611243578063caa46c7914611256578063cee75ad11461126957600080fd5b8063bc7a36d614611115578063c19783141461111e578063c1d22d7d14611131578063c2665ac71461114457600080fd5b8063a6afed95116102fa578063b5373e3b1161028d578063b7750b811161025c578063b7750b811461106e578063b81b2b7114611081578063bc22e4bc1461108a578063bc6d40a11461110257600080fd5b8063b5373e3b14611034578063b6020b4114611047578063b70e351d1461105a578063b71f3cfe1461106357600080fd5b8063ab3d9a95116102c9578063ab3d9a9514610fd3578063ab5ba5ad1461101a578063ad1f2b5614611023578063aef393221461102b57600080fd5b8063a6afed9514610f93578063a92e850014610f9b578063aa5af0fd14610fbb578063aaf5eb6814610fc457600080fd5b806388c8f178116103725780639788f64f116103415780639788f64f14610edd578063981cdb3e14610ef0578063a40d726814610f03578063a499589214610f8057600080fd5b806388c8f17814610e95578063892e1ec714610e9e5780638bda2dc914610ea757806392cc04af14610eba57600080fd5b80637f3f8ffb116103ae5780637f3f8ffb14610e665780637f7c413814610e6f57806380193b2614610e82578063885e275014610e8c57600080fd5b806379518cca14610e145780637abb996e14610e375780637b10399914610e405780637dd29a6614610e5357600080fd5b80633cb57be7116105bf5780635c60da1b116104da578063659ef4411161046d5780636f307dc31161043c5780636f307dc314610d94578063733b278214610da757806377e798cf14610dce57806378d3168814610de157600080fd5b8063659ef44114610d4257806366e06fb914610d5557806367a7bf7314610d68578063684e038914610d8b57600080fd5b8063619d39be116104a9578063619d39be14610cd55780636491452414610cde578063657d6edf14610d19578063658de48a14610d3957600080fd5b80635c60da1b14610c945780635c9c2e8114610ca75780635dc70c7714610cba57806360a28c5b14610cc257600080fd5b8063485cc9551161055257806352913f6c1161052157806352913f6c14610c13578063541f771314610c265780635568268f14610c395780635929fa0414610c4c57600080fd5b8063485cc95514610b7d5780634a04770d14610b905780634fd5e29414610ba357806352713f6714610c0057600080fd5b8063419be3b61161058e578063419be3b614610b44578063430d84dd14610b645780634742a7e014610b6c57806347bd371814610b7457600080fd5b80633cb57be714610af85780633cdc20f814610b0b5780633e271e5b14610b1e57806340691c9514610b3157600080fd5b80631d504dc6116106af57806328e8fe7d116106425780632d21ef26116106115780632d21ef2614610a295780632ee371a414610a3c578063396f7b2314610a4f5780633979324d14610a6257600080fd5b806328e8fe7d146109a857806329dc10d6146109bb5780632a394628146109e15780632c05d4a9146109f457600080fd5b8063226a78561161067e578063226a785614610948578063267822471461095b578063276ef1301461096e578063284050221461098157600080fd5b80631d504dc6146109065780631dcf50ef1461091957806320bd079c1461092257806321833bb61461093557600080fd5b80630fc2b8f511610727578063167ba8bf116106f6578063167ba8bf146108ce5780631ab1a916146108e15780631cb92ed3146108f45780631d0de3ca146108fd57600080fd5b80630fc2b8f5146108765780631075dde61461088b57806312a45f65146108a857806315b09fc1146108bb57600080fd5b80630d3b0b76116107635780630d3b0b761461081c5780630d8adf22146108475780630e5ad9f11461085a5780630ea503fb1461086357600080fd5b806301bab09c1461078a5780630819b4bf1461079f5780630b392228146107d2575b600080fd5b61079d610798366004614e90565b611444565b005b6107bf6107ad366004614e90565b600e6020526000908152604090205481565b6040519081526020015b60405180910390f35b6108016107e0366004614e90565b60106020526000908152604090208054600182015460029092015490919083565b604080519384526020840192909252908201526060016107c9565b60065461082f906001600160a01b031681565b6040516001600160a01b0390911681526020016107c9565b61079d610855366004614ebe565b6114b6565b6107bf601e5481565b610801610871366004614edb565b611537565b61087e611659565b6040516107c99190614f0d565b6108936116d9565b604080519283526020830191909152016107c9565b61079d6108b6366004614f55565b611747565b61079d6108c9366004614e90565b6117d1565b6107bf6108dc366004614fa3565b611844565b61079d6108ef366004614fea565b611891565b6107bf60085481565b6107bf600b5481565b61079d610914366004614ebe565b6119ee565b6107bf60145481565b6107bf610930366004615002565b611a8b565b6107bf610943366004615059565b611b3a565b6107bf610956366004614e90565b611b99565b60015461082f906001600160a01b031681565b6107bf61097c3660046150b3565b611bd5565b61089361098f366004614e90565b6013602052600090815260409020805460019091015482565b60155461082f906001600160a01b031681565b6109ce6109c9366004614e90565b611e2e565b60405161ffff90911681526020016107c9565b61079d6109ef366004614e90565b611e66565b610a07610a02366004614e90565b611e9c565b60408051941515855260208501939093529183015260608201526080016107c9565b610801610a373660046150f5565b612016565b6107bf610a4a366004615112565b61210c565b60035461082f906001600160a01b031681565b610ab9610a703660046150f5565b60256020526000908152604090208054600182015460029092015461ffff82169263ffffffff620100008404811693600160301b8104821693600160501b909104909116919086565b6040805161ffff909716875263ffffffff95861660208801529385169386019390935292166060840152608083019190915260a082015260c0016107c9565b6107bf610b063660046150f5565b61215d565b61079d610b1936600461516f565b6121a6565b6107bf610b2c3660046151fa565b612278565b6107bf610b3f3660046150f5565b6122cf565b6107bf610b52366004614e90565b602a6020526000908152604090205481565b61087e61230e565b610a07612369565b6107bf60165481565b61079d610b8b366004614f55565b612388565b6109ce610b9e366004614e90565b612396565b610beb610bb13660046150f5565b61ffff908116600090815260246020908152604080832054600160201b90049093168252602690522054600160301b900463ffffffff1690565b60405163ffffffff90911681526020016107c9565b610893610c0e366004615237565b6123a6565b6107bf610c21366004614edb565b61249f565b61079d610c34366004614ebe565b6124eb565b61079d610c473660046152b8565b612570565b610beb610c5a3660046150f5565b61ffff908116600090815260246020908152604080832054600160201b90049093168252602690522054600160501b900463ffffffff1690565b60025461082f906001600160a01b031681565b61079d610cb5366004614e90565b61261c565b601a546107bf565b61079d610cd0366004614fea565b612681565b6107bf600a5481565b610cf1610cec3660046152f6565b612882565b604080519586526020860194909452928401919091526060830152608082015260a0016107c9565b6107bf610d27366004614e90565b601b6020526000908152604090205481565b6107bf60235481565b6107bf610d50366004615059565b6129f7565b61079d610d63366004614ebe565b612a2e565b6107bf610d76366004614e90565b60009081526010602052604090206002015490565b6107bf601a5481565b60055461082f906001600160a01b031681565b610893610db5366004614e90565b6011602052600090815260409020805460019091015482565b6107bf610ddc366004615352565b612a7a565b610df4610def366004615387565b612b58565b6040805194855260208501939093529183015260608201526080016107c9565b6107bf610e22366004614e90565b60009081526010602052604090206001015490565b6107bf60205481565b60045461082f906001600160a01b031681565b610893610e613660046153fd565b612d7b565b6107bf602d5481565b6107bf610e7d36600461546c565b612dbd565b6107bf620186a081565b6107bf60225481565b6107bf601f5481565b6107bf600c5481565b60075461082f906001600160a01b031681565b6107bf610ec8366004614e90565b60009081526011602052604090206001015490565b61079d610eeb366004614e90565b612e08565b61079d610efe366004614e90565b612e3e565b6107bf610f113660046154dc565b60408051606095861b6bffffffffffffffffffffffff199081166020808401919091529590961b909516603486015260f09290921b6001600160f01b031916604885015260e01b6001600160e01b031916604a8401528051602e818503018152604e9093019052815191012090565b6109ce610f8e366004614e90565b612e7f565b610801612e8f565b6107bf610fa9366004614e90565b60009081526011602052604090205490565b6107bf60175481565b6107bf670de0b6b3a764000081565b610beb610fe13660046150f5565b61ffff908116600090815260246020908152604080832054600160201b9004909316825260269052205462010000900463ffffffff1690565b6107bf601d5481565b6107bf606481565b6107bf600d5481565b6107bf6110423660046150f5565b612eaf565b610893611055366004615538565b613013565b6107bf602c5481565b6107bf633b9aca0081565b61079d61107c366004615564565b61309a565b6107bf60215481565b6110d16110983660046150f5565b60266020526000908152604090205461ffff81169063ffffffff620100008204811691600160301b8104821691600160501b9091041684565b6040805161ffff909516855263ffffffff9384166020860152918316918401919091521660608201526080016107c9565b61079d611110366004614e90565b6133c2565b6107bf60195481565b61079d61112c366004615577565b6133f8565b610a0761113f3660046150f5565b6136a0565b61087e61383d565b6111d261115a3660046150f5565b602460205260009081526040902080546001820154600283015460038401546004850154600586015460069096015461ffff80871697620100008804821697600160201b81049092169663ffffffff600160301b8404811697600160501b8504821697600160701b909504909116959194909392908c565b6040805161ffff9d8e1681529b8d1660208d01529b9099169a8a019a909a5263ffffffff96871660608a015294861660808901529490921660a087015260c086015260e0850152610100840191909152610120830152610140820192909252610160810191909152610180016107c9565b61079d611251366004614e90565b613898565b61079d611264366004615589565b6138ce565b6107bf6112773660046150b3565b613931565b6107bf60185481565b6107bf611293366004614e90565b601c6020526000908152604090205481565b6107bf600f5481565b61079d6112bc366004614e90565b6139a3565b601654601a54610893565b6107bf6112da366004614e90565b60126020526000908152604090205481565b61079d6112fa366004615564565b613a3b565b6107bf61130d3660046155ff565b613a6e565b6107bf613afc565b61079d611328366004615538565b613b0f565b61080161133b366004614e90565b613b4a565b61079d61134e366004614e90565b613ba9565b61079d611361366004614e90565b613bdf565b6107bf611374366004614e90565b60009081526010602052604090205490565b61079d6113943660046150f5565b613c15565b61079d6113a7366004614e90565b613c71565b6107bf6113ba366004614edb565b613cea565b61079d6113cd366004614ebe565b613d1e565b61079d6113e0366004615650565b613d75565b61079d6113f3366004615577565b613ddb565b60005461082f906001600160a01b031681565b602b5461082f906001600160a01b031681565b6107bf61142c36600461568f565b613fd4565b60095461082f906001600160a01b031681565b6000546001600160a01b031633146114775760405162461bcd60e51b815260040161146e906156c4565b60405180910390fd5b601f81905560095b6040518281527fcb48ce14f4edda961e8a606e8fd9c6562f93440fb820dca0908689c65412abd1906020015b60405180910390a250565b6000546001600160a01b031633146114e05760405162461bcd60e51b815260040161146e906156c4565b600780546001600160a01b0319166001600160a01b03831617905560035b6040516001600160a01b03831681527fdab6a10a2b64bf52b6d4f3921f6244f7e050c6a0bc35a77f81b42d0095248ee6906020016114ab565b60008060008587036115515750600091508190508061164f565b8587116000808261156357888a611566565b89895b90925090506000611577888a615714565b905060006115858483615714565b9050600080611598633b9aca0085615714565b91508415611605576000670de0b6b3a7640000602d54856115b99190615714565b6115c39190615741565b90506115d7670de0b6b3a764000082615741565b985085633b9aca006115e98387615755565b6115f39190615714565b6115fd9190615741565b91505061161a565b611617670de0b6b3a764000084615741565b97505b8661162d5761162881615768565b61162f565b815b99508661163c5781611645565b61164581615768565b9850505050505050505b9450945094915050565b606060278054806020026020016040519081016040528092919081815260200182805480156116cf57602002820191906000526020600020906000905b82829054906101000a900461ffff1661ffff16815260200190600201906020826001010492830192600103820291508084116116965790505b5050505050905090565b602b5460009081906001600160a01b031633146117205760405162461bcd60e51b815260206004820152600560248201526408541bdbdb60da1b604482015260640161146e565b5050601a54602c5461173961173482615768565b614009565b6000601a819055602c559091565b6006546001600160a01b031615801561176957506005546001600160a01b0316155b6117a35760405162461bcd60e51b815260206004820152600b60248201526a125b9a5d1a585b1a5e995960aa1b604482015260640161146e565b600680546001600160a01b039384166001600160a01b03199182161790915560058054929093169116179055565b6000546001600160a01b031633146117fb5760405162461bcd60e51b815260040161146e906156c4565b620186a08111156118385760405162461bcd60e51b8152602060048201526007602482015266214c697146656560c81b604482015260640161146e565b600c819055600561147f565b60008061185384848789614023565b905060008113611867576000915050611888565b670de0b6b3a764000061187a8883615714565b6118849190615741565b9150505b95945050505050565b6000546001600160a01b031633146118bb5760405162461bcd60e51b815260040161146e906156c4565b6118c860208201826150f5565b61ffff8082166000818152602660205260409020549091161461191e5760405162461bcd60e51b815260206004820152600e60248201526d11915157d393d517d31254d5115160921b604482015260640161146e565b81600061192e60208301836150f5565b61ffff161161196e5760405162461bcd60e51b815260206004820152600c60248201526b15d493d391d7d1915157d25160a21b604482015260640161146e565b826026600061198060208401846150f5565b61ffff168152602081019190915260400160002061199e82826157c1565b506119ae905060208401846150f5565b61ffff167fd054fb446fbe8a5875314c566b5202257a9052adfca913ead073d6a5dbecd301846040516119e1919061584a565b60405180910390a2505050565b806001600160a01b031663c1e803346040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5291906158b0565b15611a885760405162461bcd60e51b815260040161146e9060208082526004908201526319985a5b60e21b604082015260600190565b50565b60008085606488858789620186a0600b548e611aa79190615714565b611ab19190615741565b611abb91906158c9565b611ac591906158c9565b611acf91906158c9565b611ad9908d6158f0565b611ae39190615920565b611aed91906158f0565b611af79190615920565b9050600088611b0f57611b0a828b61594e565b611b19565b611b19828b6158c9565b905060008113611b2a576000611b2c565b805b9a9950505050505050505050565b600080611b45612e8f565b60008781526011602090815260408083208151808301835281548152600190910154818401528a845260129092529091205481519295509093509150611b8d90848784613cea565b93505050505b92915050565b6000818152601360209081526040808320815180830190925280548083526001909101549282018390529091611bce916158c9565b9392505050565b6000611be7838363ffffffff1661407b565b61ffff80861660009081526024602090815260409182902082516101808101845281548086168252620100008104861693820193909352600160201b83049094169284019290925263ffffffff600160301b820481166060850152600160501b8204811660808501819052600160701b909204811660a0850152600183015460c0850152600283015460e085015260038301546101008501526004830154610120850152600583015461014085015260069092015461016084015292935090919084161115611cce57600483604051632eb752bf60e21b815260040161146e929190615998565b806060015163ffffffff168363ffffffff161015611d0457600583604051632eb752bf60e21b815260040161146e929190615998565b8060c00151821115611d2e57600282604051632eb752bf60e21b815260040161146e9291906159b9565b60208082015161ffff908116600090815260258352604090819020815160c0810183528154938416815263ffffffff620100008504811695820195909552600160301b84048516928101839052600160501b90930484166060840152600181015460808401526002015460a0830152909185161115611dc557600484604051632eb752bf60e21b815260040161146e929190615998565b806020015163ffffffff168463ffffffff161015611dfb57600584604051632eb752bf60e21b815260040161146e929190615998565b8060800151831115611e2557600383604051632eb752bf60e21b815260040161146e9291906159b9565b50509392505050565b60298181548110611e3e57600080fd5b9060005260206000209060109182820401919006600202915054906101000a900461ffff1681565b6000546001600160a01b03163314611e905760405162461bcd60e51b815260040161146e906156c4565b6014819055600161147f565b6018546000908190819081904290818103611ecb576000601954601754601a549550955095509550505061200f565b601654601a546017546015546000906001600160a01b0316639fa83b5a611ef28d87614089565b6040518263ffffffff1660e01b8152600401611f1091815260200190565b602060405180830381865afa158015611f2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5191906158b0565b9050601e54811115611f7b57600d81604051632eb752bf60e21b815260040161146e9291906159b9565b6000611f878688615755565b90506000611f958284615714565b90506000670de0b6b3a7640000611fac8884615714565b611fb69190615741565b9050670de0b6b3a764000081601d54611fcf9190615714565b611fd99190615741565b611fe390876159d4565b9950611fef82866159d4565b9a5080601954611fff91906159d4565b9b5060019c505050505050505050505b9193509193565b600080600080612025856136a0565b9196509450925090508015612104576040805160608101825285815260208082018681524283850190815261ffff8a1660009081526010909352938220925183555160018301559151600290910155602c80548492906120869084906159d4565b909155505060405182815261ffff8616907f9c61e7f8484b2101ad51c696eb172f4c7b1aafe7c8872405da752db2ad6dceba9060200160405180910390a2604080518581526020810185905261ffff8716917ffa891c319a832a3711ea90f45f728b757a30eb5a8056c2d136fab2e642ee755d910160405180910390a25b509193909250565b600080600061211a87612016565b5060008a815260116020526040902060010154919350915061215081886121415783612143565b845b888863ffffffff1661249f565b9998505050505050505050565b6000806121686140bf565b61ffff8416600090815260246020526040902054909150620186a09061219c908390600160701b900463ffffffff16615714565b611bce9190615741565b6006546001600160a01b031633146121d05760405162461bcd60e51b815260040161146e906159e7565b6121e283828763ffffffff1687613d75565b60006121f7878763ffffffff16878787611844565b9050600061220e888863ffffffff16888887611844565b9050818111156122465760008061222e8b6122298686615755565b614149565b9150915061223f8282610c47613afc565b5050612261565b81811015612261576122618961225c8385615755565b6142bc565b61226b8b83614391565b5050505050505050505050565b60008061228585876158c9565b905060008461229c5761229784615768565b61229e565b835b90506122aa818361594e565b9150600082136122c2576122bd82615768565b6122c4565b815b979650505050505050565b6000806122da6140bf565b61ffff8416600090815260256020526040902054909150620186a09061219c908390600160501b900463ffffffff16615714565b606060298054806020026020016040519081016040528092919081815260200182805480156116cf576000918252602091829020805461ffff1684529082028301929091600291018084116116965790505050505050905090565b60008060008061237a610a026140bf565b935093509350935090919293565b61239282826143c1565b5050565b60278181548110611e3e57600080fd5b60065460009081906001600160a01b031633146123d55760405162461bcd60e51b815260040161146e906159e7565b6123de88613c15565b60006123eb898989611bd5565b90506123ff84868963ffffffff1689613d75565b6124098982613013565b9093509150600061241a848a615755565b90506124268a82613b0f565b6000612438828a63ffffffff1661407b565b90506124488b8260018b8a614491565b6000806124628d612229868e63ffffffff168e8d8f611844565b915091506124738282610c47613afc565b61247e8f8e8c614649565b61248d8f8f8f8f8f8f8d6146e3565b50505050509850989650505050505050565b6000633b9aca006124b9670de0b6b3a76400006064615714565b6124c39190615714565b6124cd8385615714565b6124d787876158c9565b6124e191906158f0565b6118889190615920565b6000546001600160a01b031633146125155760405162461bcd60e51b815260040161146e906156c4565b601580546001600160a01b0319166001600160a01b03831617905560015b6015546040516001600160a01b0390911681527fdab6a10a2b64bf52b6d4f3921f6244f7e050c6a0bc35a77f81b42d0095248ee6906020016114ab565b602b54604051639bb7d70760e01b81526004810185905260248101849052604481018390526000916001600160a01b031690639bb7d70790606401602060405180830381865afa1580156125c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ec91906158b0565b905060205481111561261657600681604051632eb752bf60e21b815260040161146e9291906159b9565b50505050565b6000546001600160a01b031633146126465760405162461bcd60e51b815260040161146e906156c4565b6000818152602a60205260408082208290555182917f8e6e6257c9bb8dcb60b0b1cdf2e4713603036394ab66bc6004c209f6e1d34fb591a250565b6000546001600160a01b031633146126ab5760405162461bcd60e51b815260040161146e906156c4565b8060006126bb60208301836150f5565b61ffff16116126fb5760405162461bcd60e51b815260206004820152600c60248201526b15d493d391d7d1915157d25160a21b604482015260640161146e565b600061270a60208401846150f5565b90508061ffff1660000361274d5760405162461bcd60e51b815260206004820152600a6024820152691253959053125117d25160b21b604482015260640161146e565b61ffff8082166000818152602660205260409020549091160361279f5760405162461bcd60e51b815260206004820152600a6024820152694645455f45584953545360b01b604482015260640161146e565b61ffff8116600090815260266020526040902083906127be82826157c1565b50602990506127d060208501856150f5565b815460018101835560009283526020832060108204018054600f9092166002026101000a61ffff818102199093169390921691909102919091179055602380549161281a83615a13565b9091555050604080516020810182526000815290516128399190615a2c565b60405180910390208161ffff167f9a0c6b146a79daf7bc3f7287373a4d73bfbe47be4a5ad5eb50650ecea3778ec385604051612875919061584a565b60405180910390a3505050565b6000806000806000612892612e8f565b50505061289e89612016565b5061290991508b90508a6128b860608c0160408d01615a5b565b8b356128ca60408e0160208f01615a76565b8d60600160208101906128dd9190615aab565b67ffffffffffffffff168e60800160208101906128fa9190615aab565b67ffffffffffffffff16612d7b565b909250905060006129268a8a3561127760408d0160208e01615a76565b905061297161293b60808b0160608c01615aab565b67ffffffffffffffff168961295660608d0160408e01615a5b565b61296660408e0160208f01615a76565b63ffffffff16614023565b935060006129818b8b3587612a7a565b90508b7f05fd5872a25a89572f63c014f039fe89a3538f159f2286b50d1813cbfa56f464826040516129b591815260200190565b60405180910390a26129c781836159d4565b91506129d88a35868686868d613a6e565b96506129e68a35848461478d565b955050509550955095509550959050565b600080612a0384611b99565b6000858152600e602052604081205491925090612a219083906147c1565b905061188882828661480c565b6000546001600160a01b03163314612a585760405162461bcd60e51b815260040161146e906156c4565b600980546001600160a01b0319166001600160a01b03831617905560026114fe565b61ffff8316600090815260246020526040812060060154600080670de0b6b3a7640000612aa786886158f0565b612ab19190615920565b90508060001215612b205761ffff808816600090815260246020908152604080832054600160201b90049093168252602690522054612b05908290600160501b900463ffffffff165b63ffffffff16614858565b9150828210612b145781612b16565b825b9350505050611bce565b6000612b2b82615768565b905083811115612b42576000945050505050611bce565b612b4c8185615755565b98975050505050505050565b6006546000908190819081906001600160a01b03163314612b8b5760405162461bcd60e51b815260040161146e906159e7565b60006003866004811115612ba157612ba16156e8565b14905080612bdc57612bd787612bbd60a08b0160808c01615aab565b67ffffffffffffffff1661142c60608c0160408d01615a5b565b612c3d565b612c3d8b8a612bf160808c0160608d01615aab565b67ffffffffffffffff16612c0b60a08d0160808e01615aab565b67ffffffffffffffff16612c2560608e0160408f01615a5b565b8d600001358e6020016020810190610e7d9190615a76565b91506000612c618935612c5660408c0160208d01615a76565b63ffffffff1661407b565b9050612c9c8a826000612c7a60608e0160408f01615a5b565b8d6060016020810190612c8d9190615aab565b67ffffffffffffffff16614491565b612d0d8a61225c8b35612cb560408e0160208f01615a76565b63ffffffff168d6040016020810190612cce9190615a5b565b8e6060016020810190612ce19190615aab565b67ffffffffffffffff168f6080016020810190612cfe9190615aab565b67ffffffffffffffff16611844565b612d1b8c8c8c8c8787614868565b9097509095509350612d3361ffff8b168a35866148fa565b612d6c8c8c8c8c600001358d6020016020810190612d519190615a76565b8e6040016020810190612d649190615a5b565b8c8b8d614949565b50509650965096509692505050565b6000806000612d93878763ffffffff168a8888611844565b9050612d9f8a82611b3a565b9250612dae8a8a8a8a8a61210c565b91505097509795505050505050565b6000806000612dd18a8a8888888d8d612d7b565b915091506000612de28a8787613931565b9050612df98988888863ffffffff16878787611a8b565b9b9a5050505050505050505050565b6000546001600160a01b03163314612e325760405162461bcd60e51b815260040161146e906156c4565b600a819055600661147f565b6000546001600160a01b03163314612e685760405162461bcd60e51b815260040161146e906156c4565b612e70612e8f565b505050601d819055600761147f565b60288181548110611e3e57600080fd5b6000806000612ea4612e9f6140bf565b614a00565b925092509250909192565b61ffff808216600090815260246020908152604080832081516101808101835281548087168252620100008104871694820194909452600160201b84049095169185019190915263ffffffff600160301b830481166060860152600160501b830481166080860152600160701b90920490911660a0840152600181015460c0840152600281015460e084015260038101546101008401526004810154610120840152600581015461014084018190526006909101546101608401529091906000191115612f8157610140015192915050565b60208082015161ffff908116600090815260258352604090819020815160c0810183528154938416815263ffffffff620100008504811695820195909552600160301b8404851692810192909252600160501b9092049092166060830152600181015460808301526002015460a0820181905260001911156130085760a001519392505050565b505060145492915050565b60008061305883612afa8661ffff908116600090815260246020908152604080832054600160201b9004909316825260269052205463ffffffff620100009091041690565b915061306384612eaf565b82101561308857600182604051632eb752bf60e21b815260040161146e9291906159b9565b61309182614a82565b90509250929050565b806130ca6130ae60408301602084016150f5565b61ffff9081166000818152602560205260409020549091161490565b6131045760405162461bcd60e51b815260206004820152600b60248201526a057726f6e672067726f75760ac1b604482015260640161146e565b61313361311760608301604084016150f5565b61ffff9081166000818152602660205260409020549091161490565b61316b5760405162461bcd60e51b815260206004820152600960248201526857726f6e672066656560b81b604482015260640161146e565b600261317960646001615714565b6131839190615741565b6131936080830160608401615a76565b63ffffffff16101580156131c857506131af60646103e8615714565b6131bf60a0830160808401615a76565b63ffffffff1611155b80156131fe57506131df60a0820160808301615a76565b63ffffffff166131f56080830160608401615a76565b63ffffffff1611155b61321a5760405162461bcd60e51b815260040161146e90615ac6565b61322d670de0b6b3a76400006001615714565b61323d60c0830160a08401615a76565b63ffffffff1611156132615760405162461bcd60e51b815260040161146e90615aef565b80610100013581610120013511156132ac5760405162461bcd60e51b815260206004820152600e60248201526d4d6178536b65773c3d4d6178494f60901b604482015260640161146e565b6132b960208301836150f5565b61ffff808216600081815260246020526040902054909116146133105760405162461bcd60e51b815260206004820152600f60248201526e1410525497d393d517d31254d51151608a1b604482015260640161146e565b6000546001600160a01b0316331461333a5760405162461bcd60e51b815260040161146e906156c4565b61334a610a3760208501856150f5565b5084915060249050600061336160208401846150f5565b61ffff168152602081019190915260400160002061337f8282615b19565b5061338f905060208401846150f5565b61ffff167f3b94052e7459a8a9ca44173c1f584a671f9a0109b819e79b2d2870bab3696608846040516119e19190615c49565b6000546001600160a01b031633146133ec5760405162461bcd60e51b815260040161146e906156c4565b6008819055600361147f565b6000546001600160a01b031633146134225760405162461bcd60e51b815260040161146e906156c4565b80600261343160646001615714565b61343b9190615741565b61344b6040830160208401615a76565b63ffffffff1610158015613480575061346760646103e8615714565b6134776060830160408401615a76565b63ffffffff1611155b80156134b657506134976060820160408301615a76565b63ffffffff166134ad6040830160208401615a76565b63ffffffff1611155b6134d25760405162461bcd60e51b815260040161146e90615ac6565b6134e5670de0b6b3a76400006001615714565b6134f56080830160608401615a76565b63ffffffff1611156135195760405162461bcd60e51b815260040161146e90615aef565b600061352860208401846150f5565b90508061ffff1660000361356b5760405162461bcd60e51b815260206004820152600a6024820152691253959053125117d25160b21b604482015260640161146e565b61ffff808216600081815260256020526040902054909116036135bf5760405162461bcd60e51b815260206004820152600c60248201526b47524f55505f45584953545360a01b604482015260640161146e565b61ffff8116600090815260256020526040902083906135de8282615d19565b50506028805460018101825560009182527fe16da923a2d88192e5070f37b4571d58682c0d66212ec634d495f33de3f77ab560108204018054600f9092166002026101000a61ffff8181021990931692851602919091179055602280549161364583615a13565b9091555050604080516020810182526000815290516136649190615a2c565b60405180910390208161ffff167f3f6eb4c4b17f2ae016a0202b4b42b0384a37431c3d328433bfa4cb4eea42fcf0856040516128759190615dbb565b61ffff8116600090815260106020908152604080832081516060810183528154808252600183015494820185905260029092015492810183905290929184919082906136ec9042615755565b90508060000361370557506000945084915061200f9050565b61ffff871660008181526013602090815260408083208151808301835281548152600190910154818401908152858552602493849052828520600301546009548351925194516303d05eb560e21b8152600481019890985294870191909152604486019290925260648501829052939092916001600160a01b031690630f417ad490608401602060405180830381865afa1580156137a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137cb91906158b0565b9050600a548111156137f557600e81604051632eb752bf60e21b815260040161146e9291906159b9565b60008061380c856000015186602001518589611537565b9950909250905061381d828b61594e565b9950613829818a61594e565b985060019a50505050505050509193509193565b606060288054806020026020016040519081016040528092919081815260200182805480156116cf576000918252602091829020805461ffff1684529082028301929091600291018084116116965790505050505050905090565b6000546001600160a01b031633146138c25760405162461bcd60e51b815260040161146e906156c4565b602d819055600b61147f565b6000546001600160a01b031633146138f85760405162461bcd60e51b815260040161146e906156c4565b60005b8181101561392c5761392483838381811061391857613918615e32565b90506101800201614aa0565b6001016138fb565b505050565b600080613944848463ffffffff1661407b565b905060006139878661ffff908116600090815260246020908152604080832054600160201b9004909316825260269052205463ffffffff600160301b9091041690565b63ffffffff1690506139998282614858565b9695505050505050565b6000546001600160a01b031633146139cd5760405162461bcd60e51b815260040161146e906156c4565b6139e0670de0b6b3a76400006001615714565b811115613a2f5760405162461bcd60e51b815260206004820152601d60248201527f496c6c6567616c206d61785669727475616c5574696c697a6174696f6e000000604482015260640161146e565b6020819055600a61147f565b6000546001600160a01b03163314613a655760405162461bcd60e51b815260040161146e906156c4565b611a8881614aa0565b600080838587670de0b6b3a7640000613a878b8d6158f0565b613a919190615920565b613a9b908c61594e565b613aa591906158c9565b613aaf91906158c9565b613ab991906158c9565b90508215613aed57620186a0600c54620186a0613ad69190615755565b613ae090836158f0565b613aea9190615920565b90505b600081136122c4576000612b4c565b6000600f54613b0a90615768565b905090565b61ffff8216600090815260246020526040902060060154811161239257601181604051632eb752bf60e21b815260040161146e9291906159b9565b602b54600090819081906001600160a01b03163314613b935760405162461bcd60e51b815260206004820152600560248201526404282eae8d60db1b604482015260640161146e565b613b9c84614a00565b9250925092509193909250565b6000546001600160a01b03163314613bd35760405162461bcd60e51b815260040161146e906156c4565b600d819055600261147f565b6000546001600160a01b03163314613c095760405162461bcd60e51b815260040161146e906156c4565b601e819055600861147f565b61ffff81166000908152602a60205260408120549081138015613c4e575061ffff82166000908152602460205260409020600201548112155b1561239257600c81604051632eb752bf60e21b815260040161146e9291906159b9565b6000546001600160a01b03163314613c9b5760405162461bcd60e51b815260040161146e906156c4565b620186a0811115613cde5760405162461bcd60e51b815260206004820152600d60248201526c08531a5c551a1c995cda1bdb19609a1b604482015260640161146e565b600b819055600461147f565b600081670de0b6b3a7640000613d008787615755565b613d0a9086615714565b613d149190615741565b61188891906159d4565b6000546001600160a01b03163314613d485760405162461bcd60e51b815260040161146e906156c4565b613d50612e8f565b5050601580546001600160a01b0319166001600160a01b038416179055506001612533565b6000613d8385858486614023565b90506000620186a0670de0b6b3a7640000600854613da19190615714565b613dab9190615741565b905080821315613dd357600f82604051632eb752bf60e21b815260040161146e9291906159b9565b505050505050565b6000546001600160a01b03163314613e055760405162461bcd60e51b815260040161146e906156c4565b613e1260208201826150f5565b61ffff80821660008181526025602052604090205490911614613e6a5760405162461bcd60e51b815260206004820152601060248201526f11d493d55417d393d517d31254d5115160821b604482015260640161146e565b816002613e7960646001615714565b613e839190615741565b613e936040830160208401615a76565b63ffffffff1610158015613ec85750613eaf60646103e8615714565b613ebf6060830160408401615a76565b63ffffffff1611155b8015613efe5750613edf6060820160408301615a76565b63ffffffff16613ef56040830160208401615a76565b63ffffffff1611155b613f1a5760405162461bcd60e51b815260040161146e90615ac6565b613f2d670de0b6b3a76400006001615714565b613f3d6080830160608401615a76565b63ffffffff161115613f615760405162461bcd60e51b815260040161146e90615aef565b8260256000613f7360208401846150f5565b61ffff1681526020810191909152604001600020613f918282615d19565b50613fa1905060208401846150f5565b61ffff167fff0d1e662db49cdbfee5d28277af14118c69157bf9ab9586bed8ab85744f6946846040516119e19190615dbb565b60008115613ff257828411613fe95783613feb565b825b9050611bce565b828410613fff5783614001565b825b949350505050565b80600f600082825461401b919061594e565b909155505050565b60008484828561403c5761403782846158c9565b614046565b61404683836158c9565b905082606461405d87670de0b6b3a7640000615714565b6140679190615741565b61407190836158f0565b612b4c9190615920565b6000606461219c8385615714565b60008160000361409b57506000611b93565b826000036140ac5750600019611b93565b8261219c670de0b6b3a764000084615714565b602b546000906001600160a01b0316633ce9a2946140dc601a5490565b6140e4613afc565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401602060405180830381865afa158015614125573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b0a91906158b0565b600080614154612e8f565b5061ffff86166000908152601b602052604081205491935090915061417985836159d4565b90506141848661215d565b8111156141a957600981604051632eb752bf60e21b815260040161146e9291906159b9565b61ffff808716600090815260246020908152604080832054620100009004909316808352601c90915291812054906141e188836159d4565b90506141ec836122cf565b81111561421157600a81604051632eb752bf60e21b815260040161146e9291906159b9565b60165461421e89826159d4565b9750601f5488111561424857601088604051632eb752bf60e21b815260040161146e9291906159b9565b61ffff8a81166000818152601b602090815260408083208a90559388168252601c81529083902085905560168b905582518c81529081018b905290917fd67bffb11f634e8d9df020d50462c82383a8dab0e8025486778c08f303353432910160405180910390a25050505050509250929050565b6142c4612e8f565b50505080601660008282546142d99190615755565b909155505061ffff8083166000908152602460209081526040808320546201000090049093168252601c90529081208054839290614318908490615755565b909155505061ffff82166000908152601b602052604081208054839290614340908490615755565b909155505060165460405161ffff8416917ff432bcbc2a9a863f95613e1a4dfc59eddf24aff45bdbd7ee5cfbab1a65989ee19161438591858252602082015260400190565b60405180910390a25050565b61439b8282611b3a565b600092835260126020908152604080852092909255601754601190915292209190915550565b61442781836001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015614403573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b69190615e48565b602b546001600160a01b03161561446e5760405162461bcd60e51b815260206004820152600b60248201526a125b9a5d1a585b1a5e995960aa1b604482015260640161146e565b50602b80546001600160a01b0319166001600160a01b0392909216919091179055565b61449a85612016565b50505061ffff808616600081815260246020908152604080832081516101808101835281548088168252620100008104881682860152600160201b81049097168184015263ffffffff600160301b880481166060830152600160501b880481166080830152600160701b90970490961660a0870152600181015460c0870152600281015460e08701526003810154610100870152600481015461012087015260058101546101408701526006015461016086015292825260139052908120908461456857816001015461456b565b81545b90506000866145835761457e8883615755565b61458d565b61458d88836159d4565b90508615614605578361010001518111156145c057600781604051632eb752bf60e21b815260040161146e9291906159b9565b60006145d684600001548560010154898c612278565b905084610120015181111561460357600881604051632eb752bf60e21b815260040161146e9291906159b9565b505b85156146135780835561461b565b600183018190555b6000861515881515146146365761463189615768565b614638565b885b905061226b8a61ffff168288614e02565b6000614653612e8f565b9250505060008061466385612016565b50600088815260116020908152604080832060129092528220919091558581559193509150846146935781614695565b825b60018201819055815460408051918252602082019290925288917f1133386bae8df8e8dd37965de72a97d5b1a713dc5c6ab638fafc5923dd4bf5f8910160405180910390a250505050505050565b6007546001600160a01b0316806146fa5750614784565b604051635a565eb760e01b8152600481018990526001600160a01b03888116602483015261ffff881660448301526064820187905263ffffffff8616608483015284151560a483015260c48201849052821690635a565eb79060e401600060405180830381600087803b15801561477057600080fd5b505af1925050508015614781575060015b50505b50505050505050565b6000808484136147a6576147a184866158c9565b6147a9565b60005b90508083106147b85780611888565b50909392505050565b6000816000036147d357506000611b93565b816147ea633b9aca00670de0b6b3a7640000615714565b6147f8633b9aca00866158f0565b61480291906158f0565b611bce9190615920565b60008260000361481e57506000611bce565b633b9aca0080848061483083876158f0565b61483a91906158c9565b61484484896158f0565b61484e91906158f0565b6124e19190615920565b6000620186a061219c8385615714565b600080600080600061487d8b8a8a8a8a612882565b93985091965094509250905061489282614e61565b61489b81614009565b8861ffff168a6001600160a01b03168c7fccc12f5cdb562d6d60967fe36fdbd2be4096a405a5ecd201aa274d3b4e74706a8b8787878b8d6040516148e496959493929190615e65565b60405180910390a4505096509650969350505050565b6000670de0b6b3a764000061490f83856158f0565b6149199190615920565b905080602a6000868152602001908152602001600020600082825461493e919061594e565b909155505050505050565b6007546001600160a01b0316806149605750614781565b6040516371e3933560e11b8152600481018b90526001600160a01b038a8116602483015261ffff8a1660448301526064820189905263ffffffff8816608483015286151560a483015260c4820186905260e48201859052610104820184905282169063e3c7266a9061012401600060405180830381600087803b1580156149e657600080fd5b505af192505050801561226b575050505050505050505050565b600080600080614a0f85611e9c565b9196509094509250905080156121045760198490556017829055601a839055426018556040805186815260208101869052908101839052606081018490527f4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc049060800160405180910390a1509193909250565b6000620186a0600d5483614a969190615714565b611b939190615741565b80614ab46130ae60408301602084016150f5565b614aee5760405162461bcd60e51b815260206004820152600b60248201526a057726f6e672067726f75760ac1b604482015260640161146e565b614b0161311760608301604084016150f5565b614b395760405162461bcd60e51b815260206004820152600960248201526857726f6e672066656560b81b604482015260640161146e565b6002614b4760646001615714565b614b519190615741565b614b616080830160608401615a76565b63ffffffff1610158015614b965750614b7d60646103e8615714565b614b8d60a0830160808401615a76565b63ffffffff1611155b8015614bcc5750614bad60a0820160808301615a76565b63ffffffff16614bc36080830160608401615a76565b63ffffffff1611155b614be85760405162461bcd60e51b815260040161146e90615ac6565b614bfb670de0b6b3a76400006001615714565b614c0b60c0830160a08401615a76565b63ffffffff161115614c2f5760405162461bcd60e51b815260040161146e90615aef565b8061010001358161012001351115614c7a5760405162461bcd60e51b815260206004820152600e60248201526d4d6178536b65773c3d4d6178494f60901b604482015260640161146e565b614ca6614c8a60208401846150f5565b61ffff9081166000818152602460205260409020549091161490565b15614ce15760405162461bcd60e51b815260206004820152600b60248201526a504149525f45584953545360a81b604482015260640161146e565b8160246000614cf360208401846150f5565b61ffff1681526020810191909152604001600020614d118282615b19565b5060279050614d2360208401846150f5565b815460018101835560009283526020832060108204018054600f9092166002026101000a61ffff8181021990931693909216919091029190911790556021805491614d6d83615a13565b909155505060408051602081018252600081529051614d8c9190615a2c565b604080519182900382206020830182526000835290519091614dad91615a2c565b604051908190039020614dc360208501856150f5565b61ffff167f0b35303a11f2a3d61e7d59253a0ce2e4e782a381ad1a12f9c9706abe7fff54b185604051614df69190615c49565b60405180910390a45050565b6000838152600e602052604081205482614e28633b9aca00670de0b6b3a7640000615714565b614e3290866158f0565b614e3c9190615920565b614e46908261594e565b6000958652600e602052604090952085905550929392505050565b60195480821115614e755760006019555050565b8160196000828254614e879190615755565b90915550505050565b600060208284031215614ea257600080fd5b5035919050565b6001600160a01b0381168114611a8857600080fd5b600060208284031215614ed057600080fd5b8135611bce81614ea9565b60008060008060808587031215614ef157600080fd5b5050823594602084013594506040840135936060013592509050565b6020808252825182820181905260009190848201906040850190845b81811015614f4957835161ffff1683529284019291840191600101614f29565b50909695505050505050565b60008060408385031215614f6857600080fd5b8235614f7381614ea9565b91506020830135614f8381614ea9565b809150509250929050565b80358015158114614f9e57600080fd5b919050565b600080600080600060a08688031215614fbb57600080fd5b8535945060208601359350614fd260408701614f8e565b94979396509394606081013594506080013592915050565b600060808284031215614ffc57600080fd5b50919050565b600080600080600080600060e0888a03121561501d57600080fd5b8735965061502d60208901614f8e565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b6000806040838503121561506c57600080fd5b50508035926020909101359150565b61ffff81168114611a8857600080fd5b8035614f9e8161507b565b63ffffffff81168114611a8857600080fd5b8035614f9e81615096565b6000806000606084860312156150c857600080fd5b83356150d38161507b565b92506020840135915060408401356150ea81615096565b809150509250925092565b60006020828403121561510757600080fd5b8135611bce8161507b565b600080600080600060a0868803121561512a57600080fd5b85359450602086013561513c8161507b565b935061514a60408701614f8e565b925060608601359150608086013561516181615096565b809150509295509295909350565b60008060008060008060008060006101208a8c03121561518e57600080fd5b8935985060208a01356151a081614ea9565b975060408a01356151b08161507b565b965060608a0135955060808a01356151c781615096565b94506151d560a08b01614f8e565b935060c08a0135925060e08a013591506101008a013590509295985092959850929598565b6000806000806080858703121561521057600080fd5b843593506020850135925061522760408601614f8e565b9396929550929360600135925050565b600080600080600080600080610100898b03121561525457600080fd5b88359750602089013561526681614ea9565b965060408901356152768161507b565b955060608901359450608089013561528d81615096565b935061529b60a08a01614f8e565b925060c0890135915060e089013590509295985092959890939650565b6000806000606084860312156152cd57600080fd5b505081359360208301359350604090920135919050565b600060a08284031215614ffc57600080fd5b6000806000806000610120868803121561530f57600080fd5b8535945060208601356153218161507b565b935061533087604088016152e4565b925060e086013591506153466101008701614f8e565b90509295509295909350565b60008060006060848603121561536757600080fd5b83356153728161507b565b95602085013595506040909401359392505050565b60008060008060008061014087890312156153a157600080fd5b8635955060208701356153b381614ea9565b945060408701356153c38161507b565b93506153d288606089016152e4565b92506101008701359150610120870135600581106153ef57600080fd5b809150509295509295509295565b600080600080600080600060e0888a03121561541857600080fd5b87359650602088013561542a8161507b565b955061543860408901614f8e565b945060608801359350608088013561544f81615096565b9699959850939692959460a0840135945060c09093013592915050565b600080600080600080600060e0888a03121561548757600080fd5b8735965060208801356154998161507b565b955060408801359450606088013593506154b560808901614f8e565b925060a0880135915060c08801356154cc81615096565b8091505092959891949750929550565b600080600080608085870312156154f257600080fd5b84356154fd81614ea9565b9350602085013561550d81614ea9565b9250604085013561551d8161507b565b9150606085013561552d81615096565b939692955090935050565b6000806040838503121561554b57600080fd5b82356155568161507b565b946020939093013593505050565b60006101808284031215614ffc57600080fd5b600060c08284031215614ffc57600080fd5b6000806020838503121561559c57600080fd5b823567ffffffffffffffff808211156155b457600080fd5b818501915085601f8301126155c857600080fd5b8135818111156155d757600080fd5b866020610180830285010111156155ed57600080fd5b60209290920196919550909350505050565b60008060008060008060c0878903121561561857600080fd5b863595506020870135945060408701359350606087013592506080870135915061564460a08801614f8e565b90509295509295509295565b6000806000806080858703121561566657600080fd5b84359350602085013592506040850135915061568460608601614f8e565b905092959194509250565b6000806000606084860312156156a457600080fd5b83359250602084013591506156bb60408501614f8e565b90509250925092565b6020808252600a908201526927a7262cafa0a226a4a760b11b604082015260600190565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611b9357611b936156fe565b634e487b7160e01b600052601260045260246000fd5b6000826157505761575061572b565b500490565b81810381811115611b9357611b936156fe565b6000600160ff1b820161577d5761577d6156fe565b5060000390565b60008135611b938161507b565b60008135611b9381615096565b805463ffffffff60501b191660509290921b63ffffffff60501b16919091179055565b81356157cc8161507b565b815461ffff191661ffff82161782555060208201356157ea81615096565b815465ffffffff00001916601082901b65ffffffff00001617825550604082013561581481615096565b815463ffffffff60301b1916603082901b63ffffffff60301b1617825550606082013561584081615096565b61392c818361579e565b6080810182356158598161507b565b61ffff168252602083013561586d81615096565b63ffffffff908116602084015260408401359061588982615096565b90811660408401526060840135906158a082615096565b8082166060850152505092915050565b6000602082840312156158c257600080fd5b5051919050565b81810360008312801583831316838312821617156158e9576158e96156fe565b5092915050565b80820260008212600160ff1b8414161561590c5761590c6156fe565b8181058314821517611b9357611b936156fe565b60008261592f5761592f61572b565b600160ff1b821460001984141615615949576159496156fe565b500590565b808201828112600083128015821682158216171561596e5761596e6156fe565b505092915050565b6012811061599457634e487b7160e01b600052602160045260246000fd5b9052565b604081016159a68285615976565b63ffffffff831660208301529392505050565b604081016159c78285615976565b8260208301529392505050565b80820180821115611b9357611b936156fe565b60208082526012908201527154524144494e475f464c4f4f525f4f4e4c5960701b604082015260600190565b600060018201615a2557615a256156fe565b5060010190565b6000825160005b81811015615a4d5760208186018101518583015201615a33565b506000920191825250919050565b600060208284031215615a6d57600080fd5b611bce82614f8e565b600060208284031215615a8857600080fd5b8135611bce81615096565b803567ffffffffffffffff81168114614f9e57600080fd5b600060208284031215615abd57600080fd5b611bce82615a93565b6020808252600f908201526e57524f4e475f4c455645524147455360881b604082015260600190565b60208082526010908201526f2bb937b7339036b0bc2137b93937bba360811b604082015260600190565b615b38615b2583615784565b825461ffff191661ffff91909116178255565b615b61615b4760208401615784565b825463ffff0000191660109190911b63ffff000016178255565b615b8e615b7060408401615784565b825465ffff00000000191660209190911b65ffff0000000016178255565b615bbd615b9d60608401615791565b825463ffffffff60301b191660309190911b63ffffffff60301b16178255565b615bd2615bcc60808401615791565b8261579e565b615c05615be160a08401615791565b82805463ffffffff60701b191660709290921b63ffffffff60701b16919091179055565b60c0820135600182015560e0820135600282015561010082013560038201556101208201356004820155610140820135600582015561016082013560068201555050565b6101808101615c6382615c5b8561508b565b61ffff169052565b615c6f6020840161508b565b61ffff166020830152615c846040840161508b565b61ffff166040830152615c99606084016150a8565b63ffffffff166060830152615cb0608084016150a8565b63ffffffff166080830152615cc760a084016150a8565b63ffffffff1660a083015260c0838101359083015260e0808401359083015261010080840135908301526101208084013590830152610140808401359083015261016092830135929091019190915290565b8135615d248161507b565b815461ffff191661ffff8216178255506020820135615d4281615096565b815465ffffffff00001916601082901b65ffffffff000016178255506040820135615d6c81615096565b815463ffffffff60301b1916603082901b63ffffffff60301b16178255506060820135615d9881615096565b615da2818361579e565b506080820135600182015560a082013560028201555050565b60c081018235615dca8161507b565b61ffff1682526020830135615dde81615096565b63ffffffff9081166020840152604084013590615dfa82615096565b9081166040840152606084013590615e1182615096565b1660608301526080838101359083015260a092830135929091019190915290565b634e487b7160e01b600052603260045260246000fd5b600060208284031215615e5a57600080fd5b8151611bce81614ea9565b8635815261014081016020880135615e7c81615096565b63ffffffff166020830152615e9360408901614f8e565b15156040830152615ea660608901615a93565b67ffffffffffffffff808216606085015280615ec460808c01615a93565b166080850152505060a082019690965260c081019490945260e08401929092526101008301526101209091015291905056fea2646970667358221220b25c98c6b95bcdad44b8dbf16cde5f4fdeeca789748762d47db2a557c9e469c664736f6c63430008180033";
3734
3734
  const isSuperArgs = (xs) => xs.length > 1;
3735
3735
  class PoolAccountantV1__factory extends ethers_1.ContractFactory {
3736
3736
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class OnBehalfTradingV1__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): OnBehalfTradingV1__factory;
17
- static readonly bytecode = "0x608060405262278d006003553480156200001857600080fd5b5060405162003db138038062003db18339810160408190526200003b91620001cf565b600080546001600160a01b031916331790556001600160a01b0381166200009c5760405162461bcd60e51b815260206004820152601060248201526f494e56414c49445f524547495354525960801b60448201526064015b60405180910390fd5b60405167526567697374727960c01b602082015260280160405160208183030381529060405280519060200120816001600160a01b031663f5f5ba726040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000108573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200013291908101906200023d565b604051602001620001449190620002f5565b6040516020818303038152906040528051906020012014620001a95760405162461bcd60e51b815260206004820152601560248201527f4e4f545f52454749535452595f434f4e54524143540000000000000000000000604482015260640162000093565b600280546001600160a01b0319166001600160a01b039290921691909117905562000313565b600060208284031215620001e257600080fd5b81516001600160a01b0381168114620001fa57600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620002345781810151838201526020016200021a565b50506000910152565b6000602082840312156200025057600080fd5b81516001600160401b03808211156200026857600080fd5b818401915084601f8301126200027d57600080fd5b81518181111562000292576200029262000201565b604051601f8201601f19908116603f01168101908382118183101715620002bd57620002bd62000201565b81604052828152876020848701011115620002d757600080fd5b620002ea83602083016020880162000217565b979650505050505050565b600082516200030981846020870162000217565b9190910192915050565b613a8e80620003236000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c80638aa1043511610125578063c825e63a116100ad578063ecd2475b1161007c578063ecd2475b1461056a578063ede94e751461057d578063f5f5ba7214610586578063f851a440146105b3578063fca52146146105c657600080fd5b8063c825e63a1461050b578063ce3707b31461052f578063e0f329021461054f578063e9c714f21461056257600080fd5b8063b71d1a0c116100f4578063b71d1a0c1461049c578063b7c3a499146104af578063be89e269146104dd578063c2246968146104f0578063c4ae31681461050357600080fd5b80638aa104351461043657806393edb31614610455578063b04e7c4c14610468578063b187bd261461048857600080fd5b806349836fad116101a85780637816050f116101775780637816050f146103d75780637b103999146103ea57806381e6a99d146103fd5780638416f9b314610410578063899b1bff1461042357600080fd5b806349836fad14610316578063614d08f81461038157806365b00327146103b1578063780f1509146103c457600080fd5b806326782247116101e457806326782247146102865780632723619f146102b157806338b90333146102d457806345a05a1b1461030357600080fd5b806312dfe61f1461021657806312f4fb4d1461022b5780631b4d2cd1146102515780631e3b56d414610273575b600080fd5b610229610224366004613166565b6105d9565b005b61023e610239366004613183565b610796565b6040519081526020015b60405180910390f35b61026461025f366004613166565b610880565b60405161024893929190613213565b6102296102813660046132a2565b610cee565b600154610299906001600160a01b031681565b6040516001600160a01b039091168152602001610248565b6102c46102bf366004613166565b610dd4565b6040519015158152602001610248565b6102f66040518060400160405280600381526020016203130360ec1b81525081565b6040516102489190613326565b6102296103113660046133c0565b610f56565b61035f610324366004613183565b600660209081526000938452604080852082529284528284209052825290208054600182015460028301546003909301549192909160ff1684565b6040805194855260208501939093529183015215156060820152608001610248565b6102f6604051806040016040528060118152602001704f6e426568616c6654726164696e67563160781b81525081565b6102296103bf36600461342b565b611151565b6102296103d2366004613471565b6111ba565b6102c46103e5366004613183565b61126f565b600254610299906001600160a01b031681565b61022961040b366004613183565b611344565b61022961041e36600461348a565b611416565b6102296104313660046134db565b6119e0565b60408051808201909152600381526203130360ec1b60208201526102f6565b6102296104633660046133c0565b611c86565b61047b61047636600461354f565b611e38565b6040516102489190613588565b6002546102c490600160a01b900460ff1681565b6102296104aa366004613166565b6120b8565b6102c46104bd36600461354f565b600760209081526000928352604080842090915290825290205460ff1681565b61023e6104eb366004613166565b612160565b6102296104fe36600461354f565b6122de565b6102296122ed565b61051e61051936600461359b565b61237d565b6040516102489594939291906135dc565b61023e61053d366004613166565b60046020526000908152604090205481565b6102f661055d366004613166565b6124ce565b610229612568565b610229610578366004613651565b612686565b61023e60035481565b6040805180820190915260118152704f6e426568616c6654726164696e67563160781b60208201526102f6565b600054610299906001600160a01b031681565b61047b6105d4366004613166565b61272f565b3360008181526007602090815260408083206001600160a01b03861684529091529020805460ff191660011790555b6001600160a01b038082166000908152600960209081526040808320938616835292905290812061063890612abd565b111561072f576001600160a01b038082166000908152600960209081526040808320938616835292905290812061066f9082612ac7565b6001600160a01b0380841660009081526006602090815260408083208885168452825280832093851683529290522060038101549192509060ff16156106f85760038101805460ff191690556040516001600160a01b0380841691868216918616907f788838887194369953cb844429b137b79c87b1f39977d2518066e8ffe75e4a4b90600090a45b6001600160a01b0380841660009081526009602090815260408083209388168352929052206107279083612ad3565b505050610608565b6001600160a01b03811660009081526008602052604090206107519083612ad3565b50816001600160a01b0316816001600160a01b03167fd6daf425f865371fa93382a17863784ebef5641f0f5dadcd34f76f3dd04da1f760405160405180910390a35050565b6001600160a01b03808416600090815260076020908152604080832093861683529290529081205460ff16156107ce57506000610879565b6001600160a01b0380851660009081526006602090815260408083208785168452825280832093861683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff161580156060830152806108555750806040015142101580156108555750600019816040015114155b15610864576000915050610879565b602081015181516108759190613693565b9150505b9392505050565b60608060606000806108b560086000886001600160a01b03166001600160a01b03168152602001908152602001600020612abd565b905060005b81811015610a09576001600160a01b03871660009081526008602052604081206108e49083612ac7565b6001600160a01b03808a16600090815260096020908152604080832093851683529290529081209192509061091890612abd565b905060005b818110156109fe576001600160a01b03808b16600090815260096020908152604080832093871683529290529081206109569083612ac7565b6001600160a01b03808d1660009081526006602090815260408083208985168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff16158015606083018190529293509091906109e15750600019816040015114806109e15750806040015142105b156109f457876109f0816136a6565b9850505b505060010161091d565b5050506001016108ba565b50816001600160401b03811115610a2257610a226136bf565b604051908082528060200260200182016040528015610a4b578160200160208202803683370190505b509450816001600160401b03811115610a6657610a666136bf565b604051908082528060200260200182016040528015610a8f578160200160208202803683370190505b509350816001600160401b03811115610aaa57610aaa6136bf565b604051908082528060200260200182016040528015610b0857816020015b610af560405180608001604052806000815260200160008152602001600081526020016000151581525090565b815260200190600190039081610ac85790505b5092506000805b82811015610ce3576001600160a01b0388166000908152600860205260408120610b399083612ac7565b6001600160a01b03808b166000908152600960209081526040808320938516835292905290812091925090610b6d90612abd565b905060005b81811015610cd8576001600160a01b03808c1660009081526009602090815260408083209387168352929052908120610bab9083612ac7565b6001600160a01b03808e1660009081526006602090815260408083208985168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff1615801560608301819052929350909190610c36575060001981604001511480610c365750806040015142105b15610cce57848c8881518110610c4e57610c4e6136d5565b60200260200101906001600160a01b031690816001600160a01b031681525050818b8881518110610c8157610c816136d5565b60200260200101906001600160a01b031690816001600160a01b031681525050808a8881518110610cb457610cb46136d5565b60200260200101819052508680610cca906136a6565b9750505b5050600101610b72565b505050600101610b0f565b505050509193909250565b6000546001600160a01b03163314610d215760405162461bcd60e51b8152600401610d18906136eb565b60405180910390fd5b6001600160a01b038316610d685760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa1a0a62622a960911b6044820152606401610d18565b6001600160a01b0383166000908152600560205260409020610d8b828483613791565b50826001600160a01b03167f13751a120d9bee36b71a5cb6844f0d3be82ff7bdf7e38f96487f9bb79babedac8383604051610dc7929190613850565b60405180910390a2505050565b6001600160a01b03811660009081526008602052604081208190610df790612abd565b905060005b81811015610f4c576001600160a01b0384166000908152600860205260408120610e269083612ac7565b6001600160a01b038087166000908152600960209081526040808320938516835292905290812091925090610e5a90612abd565b905060005b81811015610f41576001600160a01b0380881660009081526009602090815260408083209387168352929052908120610e989083612ac7565b6001600160a01b03808a1660009081526006602090815260408083208985168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff1615801560608301819052929350909190610f23575060001981604001511480610f235750806040015142105b15610f375750600198975050505050505050565b5050600101610e5f565b505050600101610dfc565b5060009392505050565b6000546001600160a01b03163314610f805760405162461bcd60e51b8152600401610d18906136eb565b828114610fc75760405162461bcd60e51b8152602060048201526015602482015274082a4a482b2be988a9c8ea890be9a92a69a82a8869605b1b6044820152606401610d18565b60005b8381101561114a576000858583818110610fe657610fe66136d5565b9050602002016020810190610ffb9190613166565b6001600160a01b0316036110425760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa1a0a62622a960911b6044820152606401610d18565b828282818110611054576110546136d5565b9050602002810190611066919061387f565b6005600088888681811061107c5761107c6136d5565b90506020020160208101906110919190613166565b6001600160a01b031681526020810191909152604001600020916110b6919083613791565b508484828181106110c9576110c96136d5565b90506020020160208101906110de9190613166565b6001600160a01b03167f13751a120d9bee36b71a5cb6844f0d3be82ff7bdf7e38f96487f9bb79babedac84848481811061111a5761111a6136d5565b905060200281019061112c919061387f565b60405161113a929190613850565b60405180910390a2600101610fca565b5050505050565b600254600160a01b900460ff161561117b5760405162461bcd60e51b8152600401610d18906138c5565b604080516080810182526001600160a01b038087168252851660208201529081018390526060810182905233906111b28282612ae8565b505050505050565b6000546001600160a01b031633146111e45760405162461bcd60e51b8152600401610d18906136eb565b600081116112345760405162461bcd60e51b815260206004820152601960248201527f4455524154494f4e5f4d5553545f42455f504f534954495645000000000000006044820152606401610d18565b60038190556040518181527f0240c0124750287c26072d862a93b7477b70c2790b8cda14d0f58838b152c54f9060200160405180910390a150565b6001600160a01b03808416600090815260076020908152604080832093861683529290529081205460ff16156112a757506000610879565b6001600160a01b0380851660009081526006602090815260408083208785168452825280832093861683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff16158015606083018190529061132d5750806040015142108061132d57506000198160400151145b801561087557506020810151905111949350505050565b6001600160a01b0380841660009081526007602090815260408083209386168352929052205460ff161561138a5760405162461bcd60e51b8152600401610d18906138e5565b6001600160a01b03808416600090815260066020908152604080832086851684528252808320938516835292905220600381015460ff166113dd5760405162461bcd60e51b8152600401610d189061391c565b600019816002015414806113f45750806002015442105b6114105760405162461bcd60e51b8152600401610d189061394b565b50505050565b600254600160a01b900460ff16156114405760405162461bcd60e51b8152600401610d18906138c5565b600260009054906101000a90046001600160a01b03166001600160a01b031663fab337046040518163ffffffff1660e01b8152600401602060405180830381865afa158015611493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b79190613977565b6001600160a01b03163303611680576001600160a01b0380851660009081526007602090815260408083209387168352929052205460ff161561150c5760405162461bcd60e51b8152600401610d18906138e5565b6001600160a01b03808516600090815260066020908152604080832087851684528252808320938616835292905220600381015460ff1661155f5760405162461bcd60e51b8152600401610d189061391c565b600019816002015414806115765750806002015442105b6115925760405162461bcd60e51b8152600401610d189061394b565b8054600019111561160e57805460018201546115af908490613994565b11156115f45760405162461bcd60e51b8152602060048201526014602482015273115610d1515114d7d05353d5539517d31253525560621b6044820152606401610d18565b818160010160008282546116089190613994565b90915550505b826001600160a01b0316846001600160a01b0316866001600160a01b03167f6cca74a72fcfc88bc91c00690ff15d1f15ec9bdf2038748416ad3bb1e69205fc85856001015486600001546116629190613693565b6040805192835260208301919091520160405180910390a450611410565b336000908152600560205260408120805461169a9061370f565b80601f01602080910402602001604051908101604052809291908181526020018280546116c69061370f565b80156117135780601f106116e857610100808354040283529160200191611713565b820191906000526020600020905b8154815290600101906020018083116116f657829003601f168201915b505050505090506000815111156119a257600254604051632c652ce760e11b81526000916001600160a01b0316906358ca59ce90611755908590600401613326565b602060405180830381865afa158015611772573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117969190613977565b9050336001600160a01b038216146117e65760405162461bcd60e51b81526020600482015260136024820152722aa720aaaa2427a924ad22a22fa1a0a62622a960691b6044820152606401610d18565b6001600160a01b0380871660009081526007602090815260408083209389168352929052205460ff161561182c5760405162461bcd60e51b8152600401610d18906138e5565b6001600160a01b03808716600090815260066020908152604080832089851684528252808320938816835292905220600381015460ff1661187f5760405162461bcd60e51b8152600401610d189061391c565b600019816002015414806118965750806002015442105b6118b25760405162461bcd60e51b8152600401610d189061394b565b8054600019111561192e57805460018201546118cf908690613994565b11156119145760405162461bcd60e51b8152602060048201526014602482015273115610d1515114d7d05353d5539517d31253525560621b6044820152606401610d18565b838160010160008282546119289190613994565b90915550505b846001600160a01b0316866001600160a01b0316886001600160a01b03167f6cca74a72fcfc88bc91c00690ff15d1f15ec9bdf2038748416ad3bb1e69205fc87856001015486600001546119829190613693565b6040805192835260208301919091520160405180910390a4505050611410565b60405162461bcd60e51b81526020600482015260136024820152722aa720aaaa2427a924ad22a22fa1a0a62622a960691b6044820152606401610d18565b600254600160a01b900460ff1615611a0a5760405162461bcd60e51b8152600401610d18906138c5565b80611a4e5760405162461bcd60e51b8152602060048201526014602482015273454d5054595f53455454494e47535f415252415960601b6044820152606401610d18565b3360005b82811015611b96576000611a67826001613994565b90505b83811015611b8d57848482818110611a8457611a846136d5565b611a9a9260206080909202019081019150613166565b6001600160a01b0316858584818110611ab557611ab56136d5565b611acb9260206080909202019081019150613166565b6001600160a01b0316141580611b455750848482818110611aee57611aee6136d5565b9050608002016020016020810190611b069190613166565b6001600160a01b0316858584818110611b2157611b216136d5565b9050608002016020016020810190611b399190613166565b6001600160a01b031614155b611b855760405162461bcd60e51b81526020600482015260116024820152704455504c49434154455f53455454494e4760781b6044820152606401610d18565b600101611a6a565b50600101611a52565b5060005b8281101561141057838382818110611bb457611bb46136d5565b905060800201604001356000148015611be85750838382818110611bda57611bda6136d5565b905060800201606001356000145b15611c4d57611c4882858584818110611c0357611c036136d5565b611c199260206080909202019081019150613166565b868685818110611c2b57611c2b6136d5565b9050608002016020016020810190611c439190613166565b612e41565b611c7e565b611c7e82858584818110611c6357611c636136d5565b905060800201803603810190611c7991906139a7565b612ae8565b600101611b9a565b6000546001600160a01b03163314611cb05760405162461bcd60e51b8152600401610d18906136eb565b828114611cf75760405162461bcd60e51b8152602060048201526015602482015274082a4a482b2be988a9c8ea890be9a92a69a82a8869605b1b6044820152606401610d18565b60005b8381101561114a576000858583818110611d1657611d166136d5565b9050602002016020810190611d2b9190613166565b6001600160a01b031603611d515760405162461bcd60e51b8152600401610d1890613a1b565b828282818110611d6357611d636136d5565b9050602002013560046000878785818110611d8057611d806136d5565b9050602002016020810190611d959190613166565b6001600160a01b03168152602081019190915260400160002055848482818110611dc157611dc16136d5565b9050602002016020810190611dd69190613166565b6001600160a01b03167f48bfd73f78a1304e171cb4497b649148a2835dd4f3c012d80a7fd435ce382973848484818110611e1257611e126136d5565b90506020020135604051611e2891815260200190565b60405180910390a2600101611cfa565b6001600160a01b038083166000908152600960209081526040808320938516835292905290812060609190611e6c90612abd565b90506000805b82811015611f53576001600160a01b0380871660009081526009602090815260408083209389168352929052908120611eab9083612ac7565b6001600160a01b0380891660009081526006602090815260408083208b85168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff1615801560608301819052929350909190611f36575060001981604001511480611f365750806040015142105b15611f495783611f45816136a6565b9450505b5050600101611e72565b506000816001600160401b03811115611f6e57611f6e6136bf565b604051908082528060200260200182016040528015611f97578160200160208202803683370190505b5090506000805b848110156120aa576001600160a01b038089166000908152600960209081526040808320938b168352929052908120611fd79083612ac7565b6001600160a01b03808b1660009081526006602090815260408083208d85168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff16158015606083018190529293509091906120625750600019816040015114806120625750806040015142105b156120a0578185858151811061207a5761207a6136d5565b6001600160a01b03909216602092830291909101909101528361209c816136a6565b9450505b5050600101611f9e565b509093505050505b92915050565b6000546001600160a01b031633146120fe5760405162461bcd60e51b81526020600482015260096024820152682737ba1020b236b4b760b91b6044820152606401610d18565b600180546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991015b60405180910390a15050565b6001600160a01b0381166000908152600860205260408120819061218390612abd565b905060005b818110156122d7576001600160a01b03841660009081526008602052604081206121b29083612ac7565b6001600160a01b0380871660009081526009602090815260408083209385168352929052908120919250906121e690612abd565b905060005b818110156122cc576001600160a01b03808816600090815260096020908152604080832093871683529290529081206122249083612ac7565b6001600160a01b03808a1660009081526006602090815260408083208985168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff16158015606083018190529293509091906122af5750600019816040015114806122af5750806040015142105b156122c257876122be816136a6565b9850505b50506001016121eb565b505050600101612188565b5050919050565b6122e9338383612e41565b5050565b6000546001600160a01b031633146123175760405162461bcd60e51b8152600401610d18906136eb565b6002805460ff600160a01b808304821615810260ff60a01b1990931692909217928390556040517fda88b5dfaac55549d4ddddd43a09d4b911233df354952ebc9ac2041aa1853436936123739390049091161515815260200190565b60405180910390a1565b60025460035460408051633eaccdc160e21b8152905160ff600160a01b850416936060926001600160a01b0390911691600091839163fab33704916004808201926020929091908290030181865afa1580156123dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124019190613977565b9050856001600160401b0381111561241b5761241b6136bf565b604051908082528060200260200182016040528015612444578160200160208202803683370190505b50925060005b868110156124c35760046000898984818110612468576124686136d5565b905060200201602081019061247d9190613166565b6001600160a01b03166001600160a01b03168152602001908152602001600020548482815181106124b0576124b06136d5565b602090810291909101015260010161244a565b509295509295909350565b600560205260009081526040902080546124e79061370f565b80601f01602080910402602001604051908101604052809291908181526020018280546125139061370f565b80156125605780601f1061253557610100808354040283529160200191612560565b820191906000526020600020905b81548152906001019060200180831161254357829003601f168201915b505050505081565b6001546001600160a01b03163314801561258c57506001546001600160a01b031615155b6125d85760405162461bcd60e51b815260206004820152601e60248201527f4e6f7420746865204558495354494e472070656e64696e672061646d696e00006044820152606401610d18565b60008054600180546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc910160405180910390a1600154604080516001600160a01b03808516825290921660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99101612154565b6000546001600160a01b031633146126b05760405162461bcd60e51b8152600401610d18906136eb565b6001600160a01b0382166126d65760405162461bcd60e51b8152600401610d1890613a1b565b6001600160a01b03821660008181526004602052604090819020839055517f48bfd73f78a1304e171cb4497b649148a2835dd4f3c012d80a7fd435ce382973906127239084815260200190565b60405180910390a25050565b6001600160a01b03811660009081526008602052604081206060919061275490612abd565b90506000805b828110156128cb576001600160a01b03851660009081526008602052604081206127849083612ac7565b6001600160a01b0380881660009081526009602090815260408083209385168352929052908120919250906127b890612abd565b90506000805b82811080156127cb575081155b156128ab576001600160a01b03808a16600090815260096020908152604080832093881683529290529081206128019083612ac7565b6001600160a01b03808c1660009081526006602090815260408083208a85168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff161580156060830181905292935090919061288c57506000198160400151148061288c5750806040015142105b1561289657600193505b505080806128a3906136a6565b9150506127be565b5080156128c057846128bc816136a6565b9550505b50505060010161275a565b506000816001600160401b038111156128e6576128e66136bf565b60405190808252806020026020018201604052801561290f578160200160208202803683370190505b5090506000805b84811015612ab2576001600160a01b03871660009081526008602052604081206129409083612ac7565b6001600160a01b03808a16600090815260096020908152604080832093851683529290529081209192509061297490612abd565b90506000805b8281108015612987575081155b15612a67576001600160a01b03808c16600090815260096020908152604080832093881683529290529081206129bd9083612ac7565b6001600160a01b03808e1660009081526006602090815260408083208a85168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff1615801560608301819052929350909190612a48575060001981604001511480612a485750806040015142105b15612a5257600193505b50508080612a5f906136a6565b91505061297a565b508015612aa75782868681518110612a8157612a816136d5565b6001600160a01b039092166020928302919091019091015284612aa3816136a6565b9550505b505050600101612916565b509095945050505050565b60006120b2825490565b60006108798383612eee565b6000610879836001600160a01b038416612f18565b80516001600160a01b0316612b355760405162461bcd60e51b81526020600482015260136024820152721253959053125117d4d55097d050d0d3d55395606a1b6044820152606401610d18565b80516001600160a01b03808416911603612b885760405162461bcd60e51b815260206004820152601460248201527321a0a72727aa2fa3a920a72a2faa27afa9a2a62360611b6044820152606401610d18565b60208101516001600160a01b0316612bb25760405162461bcd60e51b8152600401610d1890613a1b565b60008160600151118015612bcc5750600354816060015111155b612c0b5760405162461bcd60e51b815260206004820152601060248201526f24a72b20a624a22fa22aa920aa24a7a760811b6044820152606401610d18565b6020808201516001600160a01b031660009081526004909152604090819020549082015115801590612c495750801580612c49575080826040015111155b612c8c5760405162461bcd60e51b81526020600482015260146024820152731253959053125117d05353d5539517d31253525560621b6044820152606401610d18565b6001600160a01b03808416600090815260076020908152604080832086519094168352929052205460ff1615612cd45760405162461bcd60e51b8152600401610d18906138e5565b6000600019836060015114612cf7576060830151612cf29042613994565b612cfb565b6000195b60408051608081018252858201518152600060208083018281528385018681526001606086018181526001600160a01b038d8116808852600687528988208e51831689528752898820878f015190921688529086528887209751885593519187019190915590516002860155516003909401805460ff19169415159490941790935587519282526008905291909120919250612d97919061300b565b506020808401516001600160a01b0380871660009081526009845260408082208851909316825291909352909120612dce9161300b565b5082602001516001600160a01b031683600001516001600160a01b0316856001600160a01b03167f385eed2fa9dcc7c7bc2f348e2848dffb0f87b9400a6a291ab8caae1341a9d33c866040015185604051612e33929190918252602082015260400190565b60405180910390a450505050565b6001600160a01b0380841660009081526007602090815260408083209386168352929052205460ff1615612e875760405162461bcd60e51b8152600401610d18906138e5565b612e92838383613020565b6001600160a01b038084166000908152600960209081526040808320938616835292905220612ec090612abd565b600003612ee9576001600160a01b03831660009081526008602052604090206114109083612ad3565b505050565b6000826000018281548110612f0557612f056136d5565b9060005260206000200154905092915050565b60008181526001830160205260408120548015613001576000612f3c600183613693565b8554909150600090612f5090600190613693565b9050808214612fb5576000866000018281548110612f7057612f706136d5565b9060005260206000200154905080876000018481548110612f9357612f936136d5565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612fc657612fc6613a42565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506120b2565b60009150506120b2565b6000610879836001600160a01b0384166130ff565b6001600160a01b03808416600090815260066020908152604080832086851684528252808320938516835292905220600381015460ff166130735760405162461bcd60e51b8152600401610d189061391c565b60038101805460ff191690556001600160a01b0380851660009081526009602090815260408083209387168352929052206130ae9083612ad3565b50816001600160a01b0316836001600160a01b0316856001600160a01b03167f788838887194369953cb844429b137b79c87b1f39977d2518066e8ffe75e4a4b60405160405180910390a450505050565b6000818152600183016020526040812054613146575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556120b2565b5060006120b2565b6001600160a01b038116811461316357600080fd5b50565b60006020828403121561317857600080fd5b81356108798161314e565b60008060006060848603121561319857600080fd5b83356131a38161314e565b925060208401356131b38161314e565b915060408401356131c38161314e565b809150509250925092565b60008151808452602080850194506020840160005b838110156132085781516001600160a01b0316875295820195908201906001016131e3565b509495945050505050565b6000606080835261322760608401876131ce565b60208482038186015261323a82886131ce565b9150604085830360408701528287518085528385019150838901945060005b81811015613292578551805184528581015186850152848101518585015287015115158784015294840194608090920191600101613259565b50909a9950505050505050505050565b6000806000604084860312156132b757600080fd5b83356132c28161314e565b925060208401356001600160401b03808211156132de57600080fd5b818601915086601f8301126132f257600080fd5b81358181111561330157600080fd5b87602082850101111561331357600080fd5b6020830194508093505050509250925092565b60006020808352835180602085015260005b8181101561335457858101830151858201604001528201613338565b506000604082860101526040601f19601f8301168501019250505092915050565b60008083601f84011261338757600080fd5b5081356001600160401b0381111561339e57600080fd5b6020830191508360208260051b85010111156133b957600080fd5b9250929050565b600080600080604085870312156133d657600080fd5b84356001600160401b03808211156133ed57600080fd5b6133f988838901613375565b9096509450602087013591508082111561341257600080fd5b5061341f87828801613375565b95989497509550505050565b6000806000806080858703121561344157600080fd5b843561344c8161314e565b9350602085013561345c8161314e565b93969395505050506040820135916060013590565b60006020828403121561348357600080fd5b5035919050565b600080600080608085870312156134a057600080fd5b84356134ab8161314e565b935060208501356134bb8161314e565b925060408501356134cb8161314e565b9396929550929360600135925050565b600080602083850312156134ee57600080fd5b82356001600160401b038082111561350557600080fd5b818501915085601f83011261351957600080fd5b81358181111561352857600080fd5b8660208260071b850101111561353d57600080fd5b60209290920196919550909350505050565b6000806040838503121561356257600080fd5b823561356d8161314e565b9150602083013561357d8161314e565b809150509250929050565b60208152600061087960208301846131ce565b600080602083850312156135ae57600080fd5b82356001600160401b038111156135c457600080fd5b6135d085828601613375565b90969095509350505050565b600060a082018715158352602087602085015260a0604085015281875180845260c08601915060208901935060005b818110156136275784518352938301939183019160010161360b565b50506001600160a01b03968716606086015294909516608090930192909252509095945050505050565b6000806040838503121561366457600080fd5b823561366f8161314e565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156120b2576120b261367d565b6000600182016136b8576136b861367d565b5060010190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252600a908201526927a7262cafa0a226a4a760b11b604082015260600190565b600181811c9082168061372357607f821691505b60208210810361374357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115612ee9576000816000526020600020601f850160051c810160208610156137725750805b601f850160051c820191505b818110156111b25782815560010161377e565b6001600160401b038311156137a8576137a86136bf565b6137bc836137b6835461370f565b83613749565b6000601f8411600181146137f057600085156137d85750838201355b600019600387901b1c1916600186901b17835561114a565b600083815260209020601f19861690835b828110156138215786850135825560209485019460019092019101613801565b508682101561383e5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b6000808335601e1984360301811261389657600080fd5b8301803591506001600160401b038211156138b057600080fd5b6020019150368190038213156133b957600080fd5b60208082526006908201526514105554d15160d21b604082015260600190565b6020808252601f908201527f5355425f4143434f554e545f5045524d414e454e544c595f5245564f4b454400604082015260600190565b6020808252601590820152745045524d495353494f4e5f4e4f545f41435449564560581b604082015260600190565b602080825260129082015271141154935254d4d253d397d156141254915160721b604082015260600190565b60006020828403121561398957600080fd5b81516108798161314e565b808201808211156120b2576120b261367d565b6000608082840312156139b957600080fd5b604051608081018181106001600160401b03821117156139db576139db6136bf565b60405282356139e98161314e565b815260208301356139f98161314e565b6020820152604083810135908201526060928301359281019290925250919050565b6020808252600d908201526c24a72b20a624a22faa27a5a2a760991b604082015260600190565b634e487b7160e01b600052603160045260246000fdfea264697066735822122061006aef4d463308c94b811305c5e0d309b07afa628c5071e4df896ddcba579364736f6c63430008180033";
17
+ static readonly bytecode = "0x608060405262278d006003553480156200001857600080fd5b50604051620045b7380380620045b78339810160408190526200003b91620001cf565b600080546001600160a01b031916331790556001600160a01b0381166200009c5760405162461bcd60e51b815260206004820152601060248201526f494e56414c49445f524547495354525960801b60448201526064015b60405180910390fd5b60405167526567697374727960c01b602082015260280160405160208183030381529060405280519060200120816001600160a01b031663f5f5ba726040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000108573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200013291908101906200023d565b604051602001620001449190620002f5565b6040516020818303038152906040528051906020012014620001a95760405162461bcd60e51b815260206004820152601560248201527f4e4f545f52454749535452595f434f4e54524143540000000000000000000000604482015260640162000093565b600280546001600160a01b0319166001600160a01b039290921691909117905562000313565b600060208284031215620001e257600080fd5b81516001600160a01b0381168114620001fa57600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620002345781810151838201526020016200021a565b50506000910152565b6000602082840312156200025057600080fd5b81516001600160401b03808211156200026857600080fd5b818401915084601f8301126200027d57600080fd5b81518181111562000292576200029262000201565b604051601f8201601f19908116603f01168101908382118183101715620002bd57620002bd62000201565b81604052828152876020848701011115620002d757600080fd5b620002ea83602083016020880162000217565b979650505050505050565b600082516200030981846020870162000217565b9190910192915050565b61429480620003236000396000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c806393edb3161161013b578063ce3707b3116100b8578063ede94e751161007c578063ede94e75146105e2578063f5f5ba72146105eb578063f6d6395114610618578063f851a4401461062b578063fca521461461063e57600080fd5b8063ce3707b314610581578063e0f32902146105a1578063e4d075f0146105b4578063e9c714f2146105c7578063ecd2475b146105cf57600080fd5b8063b96c1dac116100ff578063b96c1dac1461051c578063be89e2691461052f578063c224696814610542578063c4ae316814610555578063c825e63a1461055d57600080fd5b806393edb31614610494578063b04e7c4c146104a7578063b187bd26146104c7578063b71d1a0c146104db578063b7c3a499146104ee57600080fd5b806349836fad116101c95780637b1039991161018d5780637b1039991461042957806381e6a99d1461043c5780638416f9b31461044f578063899b1bff146104625780638aa104351461047557600080fd5b806349836fad14610355578063614d08f8146103c057806365b00327146103f0578063780f1509146104035780637816050f1461041657600080fd5b8063267822471161021057806326782247146102b25780632723619f146102dd5780632f9ba1861461030057806338b903331461031357806345a05a1b1461034257600080fd5b806312dfe61f1461024257806312f4fb4d146102575780631b4d2cd11461027d5780631e3b56d41461029f575b600080fd5b610255610250366004613854565b610651565b005b61026a610265366004613871565b6106ce565b6040519081526020015b60405180910390f35b61029061028b366004613854565b6107b8565b60405161027493929190613901565b6102556102ad366004613990565b610c26565b6001546102c5906001600160a01b031681565b6040516001600160a01b039091168152602001610274565b6102f06102eb366004613854565b610d0c565b6040519015158152602001610274565b61025561030e366004613871565b610e8e565b6103356040518060400160405280600381526020016203130360ec1b81525081565b6040516102749190613a14565b610255610350366004613aae565b61102e565b61039e610363366004613871565b600660209081526000938452604080852082529284528284209052825290208054600182015460028301546003909301549192909160ff1684565b6040805194855260208501939093529183015215156060820152608001610274565b610335604051806040016040528060118152602001704f6e426568616c6654726164696e67563160781b81525081565b6102556103fe366004613b19565b611201565b610255610411366004613b5f565b61126a565b6102f0610424366004613871565b61131f565b6002546102c5906001600160a01b031681565b61025561044a366004613871565b6113f4565b61025561045d366004613b78565b6114c6565b610255610470366004613bc9565b611a90565b60408051808201909152600381526203130360ec1b6020820152610335565b6102556104a2366004613aae565b611d36565b6104ba6104b5366004613c3d565b611ec0565b6040516102749190613c76565b6002546102f090600160a01b900460ff1681565b6102556104e9366004613854565b612140565b6102f06104fc366004613c3d565b600760209081526000928352604080842090915290825290205460ff1681565b61025561052a366004613c3d565b6121e8565b61026a61053d366004613854565b612330565b610255610550366004613c3d565b6124ae565b6102556124bd565b61057061056b366004613c89565b61254d565b604051610274959493929190613cca565b61026a61058f366004613854565b60046020526000908152604090205481565b6103356105af366004613854565b61269e565b6102556105c2366004613d3f565b612738565b6102556129d4565b6102556105dd366004613dd8565b612af2565b61026a60035481565b6040805180820190915260118152704f6e426568616c6654726164696e67563160781b6020820152610335565b610255610626366004613c3d565b612b9b565b6000546102c5906001600160a01b031681565b6104ba61064c366004613854565b612cc2565b3360008181526007602090815260408083206001600160a01b03861684529091529020805460ff191660011790556106898183613050565b50816001600160a01b0316816001600160a01b03167fd6daf425f865371fa93382a17863784ebef5641f0f5dadcd34f76f3dd04da1f760405160405180910390a35050565b6001600160a01b03808416600090815260076020908152604080832093861683529290529081205460ff1615610706575060006107b1565b6001600160a01b0380851660009081526006602090815260408083208785168452825280832093861683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff1615801560608301528061078d57508060400151421015801561078d5750600019816040015114155b1561079c5760009150506107b1565b602081015181516107ad9190613e1a565b9150505b9392505050565b60608060606000806107ed60086000886001600160a01b03166001600160a01b031681526020019081526020016000206131b0565b905060005b81811015610941576001600160a01b038716600090815260086020526040812061081c90836131ba565b6001600160a01b03808a166000908152600960209081526040808320938516835292905290812091925090610850906131b0565b905060005b81811015610936576001600160a01b03808b166000908152600960209081526040808320938716835292905290812061088e90836131ba565b6001600160a01b03808d1660009081526006602090815260408083208985168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff16158015606083018190529293509091906109195750600019816040015114806109195750806040015142105b1561092c578761092881613e2d565b9850505b5050600101610855565b5050506001016107f2565b50816001600160401b0381111561095a5761095a613e46565b604051908082528060200260200182016040528015610983578160200160208202803683370190505b509450816001600160401b0381111561099e5761099e613e46565b6040519080825280602002602001820160405280156109c7578160200160208202803683370190505b509350816001600160401b038111156109e2576109e2613e46565b604051908082528060200260200182016040528015610a4057816020015b610a2d60405180608001604052806000815260200160008152602001600081526020016000151581525090565b815260200190600190039081610a005790505b5092506000805b82811015610c1b576001600160a01b0388166000908152600860205260408120610a7190836131ba565b6001600160a01b03808b166000908152600960209081526040808320938516835292905290812091925090610aa5906131b0565b905060005b81811015610c10576001600160a01b03808c1660009081526009602090815260408083209387168352929052908120610ae390836131ba565b6001600160a01b03808e1660009081526006602090815260408083208985168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff1615801560608301819052929350909190610b6e575060001981604001511480610b6e5750806040015142105b15610c0657848c8881518110610b8657610b86613e5c565b60200260200101906001600160a01b031690816001600160a01b031681525050818b8881518110610bb957610bb9613e5c565b60200260200101906001600160a01b031690816001600160a01b031681525050808a8881518110610bec57610bec613e5c565b60200260200101819052508680610c0290613e2d565b9750505b5050600101610aaa565b505050600101610a47565b505050509193909250565b6000546001600160a01b03163314610c595760405162461bcd60e51b8152600401610c5090613e72565b60405180910390fd5b6001600160a01b038316610ca05760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa1a0a62622a960911b6044820152606401610c50565b6001600160a01b0383166000908152600560205260409020610cc3828483613f18565b50826001600160a01b03167f13751a120d9bee36b71a5cb6844f0d3be82ff7bdf7e38f96487f9bb79babedac8383604051610cff929190613fd7565b60405180910390a2505050565b6001600160a01b03811660009081526008602052604081208190610d2f906131b0565b905060005b81811015610e84576001600160a01b0384166000908152600860205260408120610d5e90836131ba565b6001600160a01b038087166000908152600960209081526040808320938516835292905290812091925090610d92906131b0565b905060005b81811015610e79576001600160a01b0380881660009081526009602090815260408083209387168352929052908120610dd090836131ba565b6001600160a01b03808a1660009081526006602090815260408083208985168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff1615801560608301819052929350909190610e5b575060001981604001511480610e5b5750806040015142105b15610e6f5750600198975050505050505050565b5050600101610d97565b505050600101610d34565b5060009392505050565b6000546001600160a01b03163314610eb85760405162461bcd60e51b8152600401610c5090613e72565b6001600160a01b038316610ede5760405162461bcd60e51b8152600401610c5090614006565b6001600160a01b038216610f045760405162461bcd60e51b8152600401610c509061402d565b6001600160a01b038116610f2a5760405162461bcd60e51b8152600401610c5090614056565b6001600160a01b03808416600090815260066020908152604080832086851684528252808320938516835292905220600381015460ff16610f7d5760405162461bcd60e51b8152600401610c509061407d565b610f888484846131c6565b6001600160a01b038085166000908152600960209081526040808320938716835292905220610fb6906131b0565b600003610fe1576001600160a01b0384166000908152600860205260409020610fdf90846132a5565b505b6040513381526001600160a01b0380841691858216918716907f60dc1c12119ce80ff9caebd8fd118fb35d2e95afa8f7418996b35ace83e69c57906020015b60405180910390a450505050565b6000546001600160a01b031633146110585760405162461bcd60e51b8152600401610c5090613e72565b8281146110775760405162461bcd60e51b8152600401610c50906140ac565b60005b838110156111fa57600085858381811061109657611096613e5c565b90506020020160208101906110ab9190613854565b6001600160a01b0316036110f25760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa1a0a62622a960911b6044820152606401610c50565b82828281811061110457611104613e5c565b905060200281019061111691906140db565b6005600088888681811061112c5761112c613e5c565b90506020020160208101906111419190613854565b6001600160a01b03168152602081019190915260400160002091611166919083613f18565b5084848281811061117957611179613e5c565b905060200201602081019061118e9190613854565b6001600160a01b03167f13751a120d9bee36b71a5cb6844f0d3be82ff7bdf7e38f96487f9bb79babedac8484848181106111ca576111ca613e5c565b90506020028101906111dc91906140db565b6040516111ea929190613fd7565b60405180910390a260010161107a565b5050505050565b600254600160a01b900460ff161561122b5760405162461bcd60e51b8152600401610c5090614121565b604080516080810182526001600160a01b0380871682528516602082015290810183905260608101829052339061126282826132ba565b505050505050565b6000546001600160a01b031633146112945760405162461bcd60e51b8152600401610c5090613e72565b600081116112e45760405162461bcd60e51b815260206004820152601960248201527f4455524154494f4e5f4d5553545f42455f504f534954495645000000000000006044820152606401610c50565b60038190556040518181527f0240c0124750287c26072d862a93b7477b70c2790b8cda14d0f58838b152c54f9060200160405180910390a150565b6001600160a01b03808416600090815260076020908152604080832093861683529290529081205460ff1615611357575060006107b1565b6001600160a01b0380851660009081526006602090815260408083208785168452825280832093861683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff1615801560608301819052906113dd575080604001514210806113dd57506000198160400151145b80156107ad57506020810151905111949350505050565b6001600160a01b0380841660009081526007602090815260408083209386168352929052205460ff161561143a5760405162461bcd60e51b8152600401610c5090614141565b6001600160a01b03808416600090815260066020908152604080832086851684528252808320938516835292905220600381015460ff1661148d5760405162461bcd60e51b8152600401610c509061407d565b600019816002015414806114a45750806002015442105b6114c05760405162461bcd60e51b8152600401610c5090614178565b50505050565b600254600160a01b900460ff16156114f05760405162461bcd60e51b8152600401610c5090614121565b600260009054906101000a90046001600160a01b03166001600160a01b031663fab337046040518163ffffffff1660e01b8152600401602060405180830381865afa158015611543573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156791906141a4565b6001600160a01b03163303611730576001600160a01b0380851660009081526007602090815260408083209387168352929052205460ff16156115bc5760405162461bcd60e51b8152600401610c5090614141565b6001600160a01b03808516600090815260066020908152604080832087851684528252808320938616835292905220600381015460ff1661160f5760405162461bcd60e51b8152600401610c509061407d565b600019816002015414806116265750806002015442105b6116425760405162461bcd60e51b8152600401610c5090614178565b805460001911156116be578054600182015461165f9084906141c1565b11156116a45760405162461bcd60e51b8152602060048201526014602482015273115610d1515114d7d05353d5539517d31253525560621b6044820152606401610c50565b818160010160008282546116b891906141c1565b90915550505b826001600160a01b0316846001600160a01b0316866001600160a01b03167f6cca74a72fcfc88bc91c00690ff15d1f15ec9bdf2038748416ad3bb1e69205fc85856001015486600001546117129190613e1a565b6040805192835260208301919091520160405180910390a4506114c0565b336000908152600560205260408120805461174a90613e96565b80601f016020809104026020016040519081016040528092919081815260200182805461177690613e96565b80156117c35780601f10611798576101008083540402835291602001916117c3565b820191906000526020600020905b8154815290600101906020018083116117a657829003601f168201915b50505050509050600081511115611a5257600254604051632c652ce760e11b81526000916001600160a01b0316906358ca59ce90611805908590600401613a14565b602060405180830381865afa158015611822573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184691906141a4565b9050336001600160a01b038216146118965760405162461bcd60e51b81526020600482015260136024820152722aa720aaaa2427a924ad22a22fa1a0a62622a960691b6044820152606401610c50565b6001600160a01b0380871660009081526007602090815260408083209389168352929052205460ff16156118dc5760405162461bcd60e51b8152600401610c5090614141565b6001600160a01b03808716600090815260066020908152604080832089851684528252808320938816835292905220600381015460ff1661192f5760405162461bcd60e51b8152600401610c509061407d565b600019816002015414806119465750806002015442105b6119625760405162461bcd60e51b8152600401610c5090614178565b805460001911156119de578054600182015461197f9086906141c1565b11156119c45760405162461bcd60e51b8152602060048201526014602482015273115610d1515114d7d05353d5539517d31253525560621b6044820152606401610c50565b838160010160008282546119d891906141c1565b90915550505b846001600160a01b0316866001600160a01b0316886001600160a01b03167f6cca74a72fcfc88bc91c00690ff15d1f15ec9bdf2038748416ad3bb1e69205fc8785600101548660000154611a329190613e1a565b6040805192835260208301919091520160405180910390a45050506114c0565b60405162461bcd60e51b81526020600482015260136024820152722aa720aaaa2427a924ad22a22fa1a0a62622a960691b6044820152606401610c50565b600254600160a01b900460ff1615611aba5760405162461bcd60e51b8152600401610c5090614121565b80611afe5760405162461bcd60e51b8152602060048201526014602482015273454d5054595f53455454494e47535f415252415960601b6044820152606401610c50565b3360005b82811015611c46576000611b178260016141c1565b90505b83811015611c3d57848482818110611b3457611b34613e5c565b611b4a9260206080909202019081019150613854565b6001600160a01b0316858584818110611b6557611b65613e5c565b611b7b9260206080909202019081019150613854565b6001600160a01b0316141580611bf55750848482818110611b9e57611b9e613e5c565b9050608002016020016020810190611bb69190613854565b6001600160a01b0316858584818110611bd157611bd1613e5c565b9050608002016020016020810190611be99190613854565b6001600160a01b031614155b611c355760405162461bcd60e51b81526020600482015260116024820152704455504c49434154455f53455454494e4760781b6044820152606401610c50565b600101611b1a565b50600101611b02565b5060005b828110156114c057838382818110611c6457611c64613e5c565b905060800201604001356000148015611c985750838382818110611c8a57611c8a613e5c565b905060800201606001356000145b15611cfd57611cf882858584818110611cb357611cb3613e5c565b611cc99260206080909202019081019150613854565b868685818110611cdb57611cdb613e5c565b9050608002016020016020810190611cf39190613854565b613605565b611d2e565b611d2e82858584818110611d1357611d13613e5c565b905060800201803603810190611d2991906141d4565b6132ba565b600101611c4a565b6000546001600160a01b03163314611d605760405162461bcd60e51b8152600401610c5090613e72565b828114611d7f5760405162461bcd60e51b8152600401610c50906140ac565b60005b838110156111fa576000858583818110611d9e57611d9e613e5c565b9050602002016020810190611db39190613854565b6001600160a01b031603611dd95760405162461bcd60e51b8152600401610c5090614056565b828282818110611deb57611deb613e5c565b9050602002013560046000878785818110611e0857611e08613e5c565b9050602002016020810190611e1d9190613854565b6001600160a01b03168152602081019190915260400160002055848482818110611e4957611e49613e5c565b9050602002016020810190611e5e9190613854565b6001600160a01b03167f48bfd73f78a1304e171cb4497b649148a2835dd4f3c012d80a7fd435ce382973848484818110611e9a57611e9a613e5c565b90506020020135604051611eb091815260200190565b60405180910390a2600101611d82565b6001600160a01b038083166000908152600960209081526040808320938516835292905290812060609190611ef4906131b0565b90506000805b82811015611fdb576001600160a01b0380871660009081526009602090815260408083209389168352929052908120611f3390836131ba565b6001600160a01b0380891660009081526006602090815260408083208b85168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff1615801560608301819052929350909190611fbe575060001981604001511480611fbe5750806040015142105b15611fd15783611fcd81613e2d565b9450505b5050600101611efa565b506000816001600160401b03811115611ff657611ff6613e46565b60405190808252806020026020018201604052801561201f578160200160208202803683370190505b5090506000805b84811015612132576001600160a01b038089166000908152600960209081526040808320938b16835292905290812061205f90836131ba565b6001600160a01b03808b1660009081526006602090815260408083208d85168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff16158015606083018190529293509091906120ea5750600019816040015114806120ea5750806040015142105b15612128578185858151811061210257612102613e5c565b6001600160a01b03909216602092830291909101909101528361212481613e2d565b9450505b5050600101612026565b509093505050505b92915050565b6000546001600160a01b031633146121865760405162461bcd60e51b81526020600482015260096024820152682737ba1020b236b4b760b91b6044820152606401610c50565b600180546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991015b60405180910390a15050565b6000546001600160a01b031633146122125760405162461bcd60e51b8152600401610c5090613e72565b6001600160a01b0382166122385760405162461bcd60e51b8152600401610c5090614006565b6001600160a01b03811661225e5760405162461bcd60e51b8152600401610c509061402d565b6001600160a01b038083166000908152600960209081526040808320938516835292905290812061228e906131b0565b116122d35760405162461bcd60e51b81526020600482015260156024820152744e4f5f4143544956455f5045524d495353494f4e5360581b6044820152606401610c50565b60006122df8383613050565b604080518281523360208201529192506001600160a01b0380851692908616917f6a6f549c3e6d18b9f1a1d543fdfea2d3b80f1c0977c045a1c82a0afff1ca78f591015b60405180910390a3505050565b6001600160a01b03811660009081526008602052604081208190612353906131b0565b905060005b818110156124a7576001600160a01b038416600090815260086020526040812061238290836131ba565b6001600160a01b0380871660009081526009602090815260408083209385168352929052908120919250906123b6906131b0565b905060005b8181101561249c576001600160a01b03808816600090815260096020908152604080832093871683529290529081206123f490836131ba565b6001600160a01b03808a1660009081526006602090815260408083208985168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff161580156060830181905292935090919061247f57506000198160400151148061247f5750806040015142105b15612492578761248e81613e2d565b9850505b50506001016123bb565b505050600101612358565b5050919050565b6124b9338383613605565b5050565b6000546001600160a01b031633146124e75760405162461bcd60e51b8152600401610c5090613e72565b6002805460ff600160a01b808304821615810260ff60a01b1990931692909217928390556040517fda88b5dfaac55549d4ddddd43a09d4b911233df354952ebc9ac2041aa1853436936125439390049091161515815260200190565b60405180910390a1565b60025460035460408051633eaccdc160e21b8152905160ff600160a01b850416936060926001600160a01b0390911691600091839163fab33704916004808201926020929091908290030181865afa1580156125ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125d191906141a4565b9050856001600160401b038111156125eb576125eb613e46565b604051908082528060200260200182016040528015612614578160200160208202803683370190505b50925060005b86811015612693576004600089898481811061263857612638613e5c565b905060200201602081019061264d9190613854565b6001600160a01b03166001600160a01b031681526020019081526020016000205484828151811061268057612680613e5c565b602090810291909101015260010161261a565b509295509295909350565b600560205260009081526040902080546126b790613e96565b80601f01602080910402602001604051908101604052809291908181526020018280546126e390613e96565b80156127305780601f1061270557610100808354040283529160200191612730565b820191906000526020600020905b81548152906001019060200180831161271357829003601f168201915b505050505081565b6000546001600160a01b031633146127625760405162461bcd60e51b8152600401610c5090613e72565b848314801561277057508281145b61278c5760405162461bcd60e51b8152600401610c50906140ac565b846127c85760405162461bcd60e51b815260206004820152600c60248201526b454d5054595f41525241595360a01b6044820152606401610c50565b6000805b868110156129925760008888838181106127e8576127e8613e5c565b90506020020160208101906127fd9190613854565b9050600087878481811061281357612813613e5c565b90506020020160208101906128289190613854565b9050600086868581811061283e5761283e613e5c565b90506020020160208101906128539190613854565b90506001600160a01b038316158061287257506001600160a01b038216155b8061288457506001600160a01b038116155b156128915750505061298a565b6001600160a01b03808416600090815260066020908152604080832086851684528252808320938516835292905220600381015460ff1615612985576128d88484846131c6565b6001600160a01b038085166000908152600960209081526040808320938716835292905220612906906131b0565b600003612931576001600160a01b038416600090815260086020526040902061292f90846132a5565b505b6040513381526001600160a01b0380841691858216918716907f60dc1c12119ce80ff9caebd8fd118fb35d2e95afa8f7418996b35ace83e69c579060200160405180910390a48561298181613e2d565b9650505b505050505b6001016127cc565b50604080518281523360208201527fe2f0b952c9faad7d6d9efa20a7aa42d8d138630187945dd140911ff9fddb1e72910160405180910390a150505050505050565b6001546001600160a01b0316331480156129f857506001546001600160a01b031615155b612a445760405162461bcd60e51b815260206004820152601e60248201527f4e6f7420746865204558495354494e472070656e64696e672061646d696e00006044820152606401610c50565b60008054600180546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc910160405180910390a1600154604080516001600160a01b03808516825290921660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991016121dc565b6000546001600160a01b03163314612b1c5760405162461bcd60e51b8152600401610c5090613e72565b6001600160a01b038216612b425760405162461bcd60e51b8152600401610c5090614056565b6001600160a01b03821660008181526004602052604090819020839055517f48bfd73f78a1304e171cb4497b649148a2835dd4f3c012d80a7fd435ce38297390612b8f9084815260200190565b60405180910390a25050565b6000546001600160a01b03163314612bc55760405162461bcd60e51b8152600401610c5090613e72565b6001600160a01b038216612beb5760405162461bcd60e51b8152600401610c5090614006565b6001600160a01b038116612c115760405162461bcd60e51b8152600401610c509061402d565b6001600160a01b0380831660009081526007602090815260408083209385168352929052205460ff166124b9576001600160a01b0380831660009081526007602090815260408083209385168352929052908120805460ff19166001179055612c7a8383613050565b604080518281523360208201529192506001600160a01b0380851692908616917f95a1ca2ccc280fc8360d437f009382c63f2e44e3fa7f7eea69cf7641666236609101612323565b6001600160a01b038116600090815260086020526040812060609190612ce7906131b0565b90506000805b82811015612e5e576001600160a01b0385166000908152600860205260408120612d1790836131ba565b6001600160a01b038088166000908152600960209081526040808320938516835292905290812091925090612d4b906131b0565b90506000805b8281108015612d5e575081155b15612e3e576001600160a01b03808a1660009081526009602090815260408083209388168352929052908120612d9490836131ba565b6001600160a01b03808c1660009081526006602090815260408083208a85168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff1615801560608301819052929350909190612e1f575060001981604001511480612e1f5750806040015142105b15612e2957600193505b50508080612e3690613e2d565b915050612d51565b508015612e535784612e4f81613e2d565b9550505b505050600101612ced565b506000816001600160401b03811115612e7957612e79613e46565b604051908082528060200260200182016040528015612ea2578160200160208202803683370190505b5090506000805b84811015613045576001600160a01b0387166000908152600860205260408120612ed390836131ba565b6001600160a01b03808a166000908152600960209081526040808320938516835292905290812091925090612f07906131b0565b90506000805b8281108015612f1a575081155b15612ffa576001600160a01b03808c1660009081526009602090815260408083209388168352929052908120612f5090836131ba565b6001600160a01b03808e1660009081526006602090815260408083208a85168452825280832093851683529281529082902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff1615801560608301819052929350909190612fdb575060001981604001511480612fdb5750806040015142105b15612fe557600193505b50508080612ff290613e2d565b915050612f0d565b50801561303a578286868151811061301457613014613e5c565b6001600160a01b03909216602092830291909101909101528461303681613e2d565b9550505b505050600101612ea9565b509095945050505050565b60005b6001600160a01b0380841660009081526009602090815260408083209386168352929052908120613083906131b0565b1115613187576001600160a01b03808416600090815260096020908152604080832093861683529290529081206130ba90826131ba565b6001600160a01b0380861660009081526006602090815260408083208885168452825280832093851683529290522060038101549192509060ff16156131505760038101805460ff191690556040516001600160a01b0380841691868216918816907f788838887194369953cb844429b137b79c87b1f39977d2518066e8ffe75e4a4b90600090a48261314c81613e2d565b9350505b6001600160a01b03808616600090815260096020908152604080832093881683529290522061317f90836132a5565b505050613053565b6001600160a01b03831660009081526008602052604090206131a990836132a5565b5092915050565b600061213a825490565b60006107b183836136b2565b6001600160a01b03808416600090815260066020908152604080832086851684528252808320938516835292905220600381015460ff166132195760405162461bcd60e51b8152600401610c509061407d565b60038101805460ff191690556001600160a01b03808516600090815260096020908152604080832093871683529290522061325490836132a5565b50816001600160a01b0316836001600160a01b0316856001600160a01b03167f788838887194369953cb844429b137b79c87b1f39977d2518066e8ffe75e4a4b60405160405180910390a450505050565b60006107b1836001600160a01b0384166136dc565b80516001600160a01b03166133075760405162461bcd60e51b81526020600482015260136024820152721253959053125117d4d55097d050d0d3d55395606a1b6044820152606401610c50565b80516001600160a01b0380841691160361335a5760405162461bcd60e51b815260206004820152601460248201527321a0a72727aa2fa3a920a72a2faa27afa9a2a62360611b6044820152606401610c50565b60208101516001600160a01b03166133845760405162461bcd60e51b8152600401610c5090614056565b6000816060015111801561339e5750600354816060015111155b6133dd5760405162461bcd60e51b815260206004820152601060248201526f24a72b20a624a22fa22aa920aa24a7a760811b6044820152606401610c50565b6020808201516001600160a01b03166000908152600490915260409081902054908201511580159061341b575080158061341b575080826040015111155b61345e5760405162461bcd60e51b81526020600482015260146024820152731253959053125117d05353d5539517d31253525560621b6044820152606401610c50565b6001600160a01b03808416600090815260076020908152604080832086519094168352929052205460ff16156134a65760405162461bcd60e51b8152600401610c5090614141565b60006000198360600151146134c95760608301516134c490426141c1565b6134cd565b6000195b60408051608081018252858201518152600060208083018281528385018681526001606086018181526001600160a01b038d8116808852600687528988208e51831689528752898820878f015190921688529086528887209751885593519187019190915590516002860155516003909401805460ff1916941515949094179093558751928252600890529190912091925061356991906137cf565b506020808401516001600160a01b03808716600090815260098452604080822088519093168252919093529091206135a0916137cf565b5082602001516001600160a01b031683600001516001600160a01b0316856001600160a01b03167f385eed2fa9dcc7c7bc2f348e2848dffb0f87b9400a6a291ab8caae1341a9d33c866040015185604051611020929190918252602082015260400190565b6001600160a01b0380841660009081526007602090815260408083209386168352929052205460ff161561364b5760405162461bcd60e51b8152600401610c5090614141565b6136568383836131c6565b6001600160a01b038084166000908152600960209081526040808320938616835292905220613684906131b0565b6000036136ad576001600160a01b03831660009081526008602052604090206114c090836132a5565b505050565b60008260000182815481106136c9576136c9613e5c565b9060005260206000200154905092915050565b600081815260018301602052604081205480156137c5576000613700600183613e1a565b855490915060009061371490600190613e1a565b905080821461377957600086600001828154811061373457613734613e5c565b906000526020600020015490508087600001848154811061375757613757613e5c565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061378a5761378a614248565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061213a565b600091505061213a565b60006107b1836001600160a01b03841660006137fe838360009081526001919091016020526040902054151590565b6138345750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561213a565b50600061213a565b6001600160a01b038116811461385157600080fd5b50565b60006020828403121561386657600080fd5b81356107b18161383c565b60008060006060848603121561388657600080fd5b83356138918161383c565b925060208401356138a18161383c565b915060408401356138b18161383c565b809150509250925092565b60008151808452602080850194506020840160005b838110156138f65781516001600160a01b0316875295820195908201906001016138d1565b509495945050505050565b6000606080835261391560608401876138bc565b60208482038186015261392882886138bc565b9150604085830360408701528287518085528385019150838901945060005b81811015613980578551805184528581015186850152848101518585015287015115158784015294840194608090920191600101613947565b50909a9950505050505050505050565b6000806000604084860312156139a557600080fd5b83356139b08161383c565b925060208401356001600160401b03808211156139cc57600080fd5b818601915086601f8301126139e057600080fd5b8135818111156139ef57600080fd5b876020828501011115613a0157600080fd5b6020830194508093505050509250925092565b60006020808352835180602085015260005b81811015613a4257858101830151858201604001528201613a26565b506000604082860101526040601f19601f8301168501019250505092915050565b60008083601f840112613a7557600080fd5b5081356001600160401b03811115613a8c57600080fd5b6020830191508360208260051b8501011115613aa757600080fd5b9250929050565b60008060008060408587031215613ac457600080fd5b84356001600160401b0380821115613adb57600080fd5b613ae788838901613a63565b90965094506020870135915080821115613b0057600080fd5b50613b0d87828801613a63565b95989497509550505050565b60008060008060808587031215613b2f57600080fd5b8435613b3a8161383c565b93506020850135613b4a8161383c565b93969395505050506040820135916060013590565b600060208284031215613b7157600080fd5b5035919050565b60008060008060808587031215613b8e57600080fd5b8435613b998161383c565b93506020850135613ba98161383c565b92506040850135613bb98161383c565b9396929550929360600135925050565b60008060208385031215613bdc57600080fd5b82356001600160401b0380821115613bf357600080fd5b818501915085601f830112613c0757600080fd5b813581811115613c1657600080fd5b8660208260071b8501011115613c2b57600080fd5b60209290920196919550909350505050565b60008060408385031215613c5057600080fd5b8235613c5b8161383c565b91506020830135613c6b8161383c565b809150509250929050565b6020815260006107b160208301846138bc565b60008060208385031215613c9c57600080fd5b82356001600160401b03811115613cb257600080fd5b613cbe85828601613a63565b90969095509350505050565b600060a082018715158352602087602085015260a0604085015281875180845260c08601915060208901935060005b81811015613d1557845183529383019391830191600101613cf9565b50506001600160a01b03968716606086015294909516608090930192909252509095945050505050565b60008060008060008060608789031215613d5857600080fd5b86356001600160401b0380821115613d6f57600080fd5b613d7b8a838b01613a63565b90985096506020890135915080821115613d9457600080fd5b613da08a838b01613a63565b90965094506040890135915080821115613db957600080fd5b50613dc689828a01613a63565b979a9699509497509295939492505050565b60008060408385031215613deb57600080fd5b8235613df68161383c565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561213a5761213a613e04565b600060018201613e3f57613e3f613e04565b5060010190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252600a908201526927a7262cafa0a226a4a760b11b604082015260600190565b600181811c90821680613eaa57607f821691505b602082108103613eca57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156136ad576000816000526020600020601f850160051c81016020861015613ef95750805b601f850160051c820191505b8181101561126257828155600101613f05565b6001600160401b03831115613f2f57613f2f613e46565b613f4383613f3d8354613e96565b83613ed0565b6000601f841160018114613f775760008515613f5f5750838201355b600019600387901b1c1916600186901b1783556111fa565b600083815260209020601f19861690835b82811015613fa85786850135825560209485019460019092019101613f88565b5086821015613fc55760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600f908201526e24a72b20a624a22fa9a822a72222a960891b604082015260600190565b6020808252600d908201526c24a72b20a624a22faa27a5a2a760991b604082015260600190565b6020808252601590820152745045524d495353494f4e5f4e4f545f41435449564560581b604082015260600190565b602080825260159082015274082a4a482b2be988a9c8ea890be9a92a69a82a8869605b1b604082015260600190565b6000808335601e198436030181126140f257600080fd5b8301803591506001600160401b0382111561410c57600080fd5b602001915036819003821315613aa757600080fd5b60208082526006908201526514105554d15160d21b604082015260600190565b6020808252601f908201527f5355425f4143434f554e545f5045524d414e454e544c595f5245564f4b454400604082015260600190565b602080825260129082015271141154935254d4d253d397d156141254915160721b604082015260600190565b6000602082840312156141b657600080fd5b81516107b18161383c565b8082018082111561213a5761213a613e04565b6000608082840312156141e657600080fd5b604051608081018181106001600160401b038211171561420857614208613e46565b60405282356142168161383c565b815260208301356142268161383c565b6020820152604083810135908201526060928301359281019290925250919050565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220a6d21c40f84ec94b8775fc0a8aba86f660e2a69ffba3f5bdbac26e7a07ca414d64736f6c63430008180033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";
@@ -23,6 +23,96 @@ export declare class OnBehalfTradingV1__factory extends ContractFactory {
23
23
  }];
24
24
  readonly stateMutability: "nonpayable";
25
25
  readonly type: "constructor";
26
+ }, {
27
+ readonly anonymous: false;
28
+ readonly inputs: readonly [{
29
+ readonly indexed: true;
30
+ readonly internalType: "address";
31
+ readonly name: "owner";
32
+ readonly type: "address";
33
+ }, {
34
+ readonly indexed: true;
35
+ readonly internalType: "address";
36
+ readonly name: "spender";
37
+ readonly type: "address";
38
+ }, {
39
+ readonly indexed: false;
40
+ readonly internalType: "uint256";
41
+ readonly name: "revokedCount";
42
+ readonly type: "uint256";
43
+ }, {
44
+ readonly indexed: false;
45
+ readonly internalType: "address";
46
+ readonly name: "admin";
47
+ readonly type: "address";
48
+ }];
49
+ readonly name: "AdminAllPermissionsRevokedFromOwner";
50
+ readonly type: "event";
51
+ }, {
52
+ readonly anonymous: false;
53
+ readonly inputs: readonly [{
54
+ readonly indexed: false;
55
+ readonly internalType: "uint256";
56
+ readonly name: "successCount";
57
+ readonly type: "uint256";
58
+ }, {
59
+ readonly indexed: false;
60
+ readonly internalType: "address";
61
+ readonly name: "admin";
62
+ readonly type: "address";
63
+ }];
64
+ readonly name: "AdminBatchPermissionsRevoked";
65
+ readonly type: "event";
66
+ }, {
67
+ readonly anonymous: false;
68
+ readonly inputs: readonly [{
69
+ readonly indexed: true;
70
+ readonly internalType: "address";
71
+ readonly name: "owner";
72
+ readonly type: "address";
73
+ }, {
74
+ readonly indexed: true;
75
+ readonly internalType: "address";
76
+ readonly name: "spender";
77
+ readonly type: "address";
78
+ }, {
79
+ readonly indexed: true;
80
+ readonly internalType: "address";
81
+ readonly name: "token";
82
+ readonly type: "address";
83
+ }, {
84
+ readonly indexed: false;
85
+ readonly internalType: "address";
86
+ readonly name: "admin";
87
+ readonly type: "address";
88
+ }];
89
+ readonly name: "AdminPermissionRevoked";
90
+ readonly type: "event";
91
+ }, {
92
+ readonly anonymous: false;
93
+ readonly inputs: readonly [{
94
+ readonly indexed: true;
95
+ readonly internalType: "address";
96
+ readonly name: "owner";
97
+ readonly type: "address";
98
+ }, {
99
+ readonly indexed: true;
100
+ readonly internalType: "address";
101
+ readonly name: "spender";
102
+ readonly type: "address";
103
+ }, {
104
+ readonly indexed: false;
105
+ readonly internalType: "uint256";
106
+ readonly name: "revokedCount";
107
+ readonly type: "uint256";
108
+ }, {
109
+ readonly indexed: false;
110
+ readonly internalType: "address";
111
+ readonly name: "admin";
112
+ readonly type: "address";
113
+ }];
114
+ readonly name: "AdminSpenderPermanentlyRevoked";
115
+ readonly type: "event";
26
116
  }, {
27
117
  readonly anonymous: false;
28
118
  readonly inputs: readonly [{
@@ -244,6 +334,70 @@ export declare class OnBehalfTradingV1__factory extends ContractFactory {
244
334
  }];
245
335
  readonly stateMutability: "view";
246
336
  readonly type: "function";
337
+ }, {
338
+ readonly inputs: readonly [{
339
+ readonly internalType: "address[]";
340
+ readonly name: "owners";
341
+ readonly type: "address[]";
342
+ }, {
343
+ readonly internalType: "address[]";
344
+ readonly name: "spenders";
345
+ readonly type: "address[]";
346
+ }, {
347
+ readonly internalType: "address[]";
348
+ readonly name: "tokens";
349
+ readonly type: "address[]";
350
+ }];
351
+ readonly name: "adminBatchRevokeSpecificPermissions";
352
+ readonly outputs: readonly [];
353
+ readonly stateMutability: "nonpayable";
354
+ readonly type: "function";
355
+ }, {
356
+ readonly inputs: readonly [{
357
+ readonly internalType: "address";
358
+ readonly name: "owner";
359
+ readonly type: "address";
360
+ }, {
361
+ readonly internalType: "address";
362
+ readonly name: "spender";
363
+ readonly type: "address";
364
+ }];
365
+ readonly name: "adminPermanentlyRevokeSpender";
366
+ readonly outputs: readonly [];
367
+ readonly stateMutability: "nonpayable";
368
+ readonly type: "function";
369
+ }, {
370
+ readonly inputs: readonly [{
371
+ readonly internalType: "address";
372
+ readonly name: "owner";
373
+ readonly type: "address";
374
+ }, {
375
+ readonly internalType: "address";
376
+ readonly name: "spender";
377
+ readonly type: "address";
378
+ }];
379
+ readonly name: "adminRevokeAllPermissionsFromOwner";
380
+ readonly outputs: readonly [];
381
+ readonly stateMutability: "nonpayable";
382
+ readonly type: "function";
383
+ }, {
384
+ readonly inputs: readonly [{
385
+ readonly internalType: "address";
386
+ readonly name: "owner";
387
+ readonly type: "address";
388
+ }, {
389
+ readonly internalType: "address";
390
+ readonly name: "spender";
391
+ readonly type: "address";
392
+ }, {
393
+ readonly internalType: "address";
394
+ readonly name: "token";
395
+ readonly type: "address";
396
+ }];
397
+ readonly name: "adminRevokeSpecificPermission";
398
+ readonly outputs: readonly [];
399
+ readonly stateMutability: "nonpayable";
400
+ readonly type: "function";
247
401
  }, {
248
402
  readonly inputs: readonly [{
249
403
  readonly internalType: "address";
@@ -1 +1 @@
1
- {"version":3,"file":"OnBehalfTradingV1__factory.d.ts","sourceRoot":"","sources":["../../../../../../../../lib/typechain/factories/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,eAAe,EACf,2BAA2B,EAE5B,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EACV,MAAM,EACN,WAAW,EACX,yBAAyB,EACzB,cAAc,EACf,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EACV,iBAAiB,EACjB,0BAA0B,EAC3B,MAAM,8DAA8D,CAAC;AAq7BtE,KAAK,kCAAkC,GACnC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,0BAA2B,SAAQ,eAAe;gBACjD,GAAG,IAAI,EAAE,kCAAkC;IAQ9C,oBAAoB,CAC3B,SAAS,EAAE,WAAW,EACtB,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,yBAAyB,CAAC;IAG5B,MAAM,CACb,SAAS,EAAE,WAAW,EACtB,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAEA,OAAO,CACxD,iBAAiB,GAAG;QAClB,qBAAqB,IAAI,2BAA2B,CAAC;KACtD,CACF;IAEM,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,0BAA0B;IAI3E,MAAM,CAAC,QAAQ,CAAC,QAAQ,029BAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,0BAA0B;IAGpD,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,GAC7B,iBAAiB;CAGrB"}
1
+ {"version":3,"file":"OnBehalfTradingV1__factory.d.ts","sourceRoot":"","sources":["../../../../../../../../lib/typechain/factories/contracts/Lynx/OnBehalfTrading/OnBehalfTradingV1__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,eAAe,EACf,2BAA2B,EAE5B,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EACV,MAAM,EACN,WAAW,EACX,yBAAyB,EACzB,cAAc,EACf,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EACV,iBAAiB,EACjB,0BAA0B,EAC3B,MAAM,8DAA8D,CAAC;AAunCtE,KAAK,kCAAkC,GACnC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,0BAA2B,SAAQ,eAAe;gBACjD,GAAG,IAAI,EAAE,kCAAkC;IAQ9C,oBAAoB,CAC3B,SAAS,EAAE,WAAW,EACtB,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,yBAAyB,CAAC;IAG5B,MAAM,CACb,SAAS,EAAE,WAAW,EACtB,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAEA,OAAO,CACxD,iBAAiB,GAAG;QAClB,qBAAqB,IAAI,2BAA2B,CAAC;KACtD,CACF;IAEM,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,0BAA0B;IAI3E,MAAM,CAAC,QAAQ,CAAC,QAAQ,s3lCAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,0BAA0B;IAGpD,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,GAC7B,iBAAiB;CAGrB"}